update
This commit is contained in:
@@ -27,6 +27,7 @@ pub fn configure_routes() -> Router<ServiceState> {
|
||||
auth::logout,
|
||||
user::get_users,
|
||||
user::get_user,
|
||||
user::get_current_user,
|
||||
user::update_user,
|
||||
user::update_user_group,
|
||||
user::delete_user,
|
||||
|
||||
@@ -23,6 +23,7 @@ pub fn routes() -> Router<ServiceState> {
|
||||
Router::new()
|
||||
.route("/", get(get_users))
|
||||
.route("/", post(create_user))
|
||||
.route("/me", get(get_current_user))
|
||||
.route("/{osu_id}", get(get_user))
|
||||
.route("/{osu_id}", put(update_user))
|
||||
.route("/{osu_id}", delete(delete_user))
|
||||
@@ -88,6 +89,31 @@ async fn get_user(
|
||||
Ok(Json(ApiResponse::success(UserResponse::from(user))))
|
||||
}
|
||||
|
||||
#[utoipa::path(
|
||||
get,
|
||||
path = "/api/users/me",
|
||||
responses(
|
||||
(status = 200, description = "获取当前玩家信息成功", body = UserResponse),
|
||||
(status = 401, description = "未授权"),
|
||||
(status = 404, description = "玩家不存在"),
|
||||
),
|
||||
tag = "users"
|
||||
)]
|
||||
async fn get_current_user(
|
||||
State(state): State<ServiceState>,
|
||||
auth_user: AuthUser,
|
||||
) -> Result<Json<ApiResponse<UserResponse>>> {
|
||||
let service = UserService::new(state.db);
|
||||
let user = service
|
||||
.find_by_osu_id(&auth_user.osu_id)
|
||||
.await?
|
||||
.ok_or_else(|| {
|
||||
crate::error::AppError::NotFound(format!("玩家 {} 不存在", auth_user.osu_id))
|
||||
})?;
|
||||
|
||||
Ok(Json(ApiResponse::success(UserResponse::from(user))))
|
||||
}
|
||||
|
||||
#[utoipa::path(
|
||||
post,
|
||||
path = "/api/users",
|
||||
|
||||
Reference in New Issue
Block a user