Create routing functions

This commit is contained in:
2025-09-08 21:17:38 +02:00
parent 453ae9ceea
commit a31b1db03e
5 changed files with 146 additions and 0 deletions

View 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"))
}