51 lines
1.3 KiB
Python
51 lines
1.3 KiB
Python
from __future__ import annotations
|
|
|
|
from app.database import User, UserResp
|
|
from app.database.lazer_user import ALL_INCLUDED
|
|
from app.dependencies import get_current_user
|
|
from app.dependencies.database import Database
|
|
from app.models.score import GameMode
|
|
|
|
from .router import router
|
|
|
|
from fastapi import Path, Security
|
|
|
|
|
|
@router.get(
|
|
"/me/{ruleset}",
|
|
response_model=UserResp,
|
|
name="获取当前用户信息 (指定 ruleset)",
|
|
description="获取当前登录用户信息 (含指定 ruleset 统计)。",
|
|
tags=["用户"],
|
|
)
|
|
async def get_user_info_with_ruleset(
|
|
session: Database,
|
|
ruleset: GameMode = Path(description="指定 ruleset"),
|
|
current_user: User = Security(get_current_user, scopes=["identify"]),
|
|
):
|
|
return await UserResp.from_db(
|
|
current_user,
|
|
session,
|
|
ALL_INCLUDED,
|
|
ruleset,
|
|
)
|
|
|
|
|
|
@router.get(
|
|
"/me/",
|
|
response_model=UserResp,
|
|
name="获取当前用户信息",
|
|
description="获取当前登录用户信息。",
|
|
tags=["用户"],
|
|
)
|
|
async def get_user_info_default(
|
|
session: Database,
|
|
current_user: User = Security(get_current_user, scopes=["identify"]),
|
|
):
|
|
return await UserResp.from_db(
|
|
current_user,
|
|
session,
|
|
ALL_INCLUDED,
|
|
None,
|
|
)
|