新增获取用户信息 /api/user/me

This commit is contained in:
2025-07-17 23:26:36 +08:00
parent e98c46f44a
commit 6f83022a79
2 changed files with 67 additions and 18 deletions

View File

@@ -1,9 +1,12 @@
from typing import Annotated
from fastapi import APIRouter, Depends, HTTPException
from fastapi.security import OAuth2PasswordRequestForm
from middleware.auth import SignRequired
from models.response import ResponseModel, TokenModel
from middleware.auth import AuthRequired, SignRequired
import models
from models.response import ResponseModel, TokenModel, userModel, groupModel
from deprecated import deprecated
from pkg.log import log
import service.user.login
user_router = APIRouter(
prefix="/user",
@@ -24,9 +27,6 @@ user_settings_router = APIRouter(
async def router_user_session(
form_data: Annotated[OAuth2PasswordRequestForm, Depends()]
) -> TokenModel:
import service.user.login
username = form_data.username
password = form_data.password
@@ -111,6 +111,10 @@ def router_user_qq() -> ResponseModel:
"""
pass
@deprecated(
version="0.0.1",
reason="邮件中带链接的激活易使得被收件服务器误判为垃圾邮件,新版更换为验证码方式"
)
@user_router.get(
path='/activate/{id}',
summary='邮件激活',
@@ -205,16 +209,42 @@ def router_user_avatar(id: str, size: int = 128) -> ResponseModel:
path='/me',
summary='获取用户信息',
description='Get user information.',
dependencies=[Depends(SignRequired)],
dependencies=[Depends(dependency=AuthRequired)],
response_model=ResponseModel,
)
def router_user_me() -> ResponseModel:
async def router_user_me(
user: Annotated[models.user.User, Depends(AuthRequired)],
) -> ResponseModel:
"""
Get user information.
Returns:
dict: A dictionary containing user information.
"""
pass
group = await models.Group.get(id=user.group_id)
user_group = groupModel(
id=group.id,
name=group.name,
allowShare=group.share_enabled,
)
users = userModel(
id=user.id,
username=user.email,
nickname=user.nick,
status=user.status,
created_at=user.created_at,
score=user.score,
group=user_group,
).model_dump()
return ResponseModel(
data=users
)
@user_router.get(
path='/storage',