devin15/cursor2api-rust
0
1use crate::{2 chat::constant::ERR_NODATA,3 common::{models::userinfo::GetUserInfo, utils::{extract_token, get_token_profile}},4};5use axum::Json;6 7use super::token::TokenRequest;8 9pub async fn handle_user_info(Json(request): Json<TokenRequest>) -> Json<GetUserInfo> {10 let auth_token = match request.token {11 Some(token) => token,12 None => {13 return Json(GetUserInfo::Error {14 error: ERR_NODATA.to_string(),15 })16 }17 };18 19 let token = match extract_token(&auth_token) {20 Some(token) => token,21 None => {22 return Json(GetUserInfo::Error {23 error: ERR_NODATA.to_string(),24 })25 }26 };27 28 match get_token_profile(&token).await {29 Some(usage) => Json(GetUserInfo::Usage(usage)),30 None => Json(GetUserInfo::Error {31 error: ERR_NODATA.to_string(),32 }),33 }34}35 