Files
g0v0-server/app/router/v2/me.py
2025-08-12 08:40:27 +00:00

52 lines
1.4 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 get_db
from app.models.score import GameMode
from .router import router
from fastapi import Depends, Path, Security
from sqlmodel.ext.asyncio.session import AsyncSession
@router.get(
"/me/{ruleset}",
response_model=UserResp,
name="获取当前用户信息 (指定 ruleset)",
description="获取当前登录用户信息 (含指定 ruleset 统计)。",
tags=["用户"],
)
async def get_user_info_with_ruleset(
ruleset: GameMode = Path(description="指定 ruleset"),
current_user: User = Security(get_current_user, scopes=["identify"]),
session: AsyncSession = Depends(get_db),
):
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(
current_user: User = Security(get_current_user, scopes=["identify"]),
session: AsyncSession = Depends(get_db),
):
return await UserResp.from_db(
current_user,
session,
ALL_INCLUDED,
None,
)