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