Create routing functions
This commit is contained in:
32
server/src/routes/setup.rs
Normal file
32
server/src/routes/setup.rs
Normal file
@@ -0,0 +1,32 @@
|
||||
use crate::controllers::users::UsersController;
|
||||
use crate::utils::{database::*, error::*, models::*};
|
||||
use axum::{extract::State, response::Json};
|
||||
|
||||
pub async fn get_setup_status(
|
||||
State(pool): State<DbPool>,
|
||||
) -> Result<Json<SetupStatusResponse>, AppError> {
|
||||
let first_user_exists = check_first_user_exists(&pool).await?;
|
||||
Ok(success_response(SetupStatusResponse { first_user_exists }))
|
||||
}
|
||||
|
||||
pub async fn init_setup(
|
||||
State(pool): State<DbPool>,
|
||||
Json(request): Json<InitSetupRequest>,
|
||||
) -> Result<Json<serde_json::Value>, AppError> {
|
||||
let first_user_exists = check_first_user_exists(&pool).await?;
|
||||
|
||||
if first_user_exists {
|
||||
return Err(validation_error("Setup already completed"));
|
||||
}
|
||||
|
||||
UsersController::create_user(
|
||||
&pool,
|
||||
&request.username,
|
||||
&request.password,
|
||||
UserRole::Admin,
|
||||
0,
|
||||
)
|
||||
.await?;
|
||||
|
||||
Ok(success_message("Setup completed successfully"))
|
||||
}
|
Reference in New Issue
Block a user