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, ) -> Result, 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, Json(request): Json, ) -> Result, 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")) }