23 lines
697 B
Python
23 lines
697 B
Python
from fastapi import APIRouter, Depends
|
|
|
|
from core.deps import get_auth_context
|
|
from schemas.dto import AuthContext
|
|
from schemas.user import SubscriptionData, UserInfo
|
|
|
|
router = APIRouter(prefix="/users/me")
|
|
|
|
|
|
@router.get("", response_model=UserInfo)
|
|
async def get_me(ctx: AuthContext = Depends(get_auth_context)):
|
|
sub_data = SubscriptionData(
|
|
devices=ctx.user.subscription.devices,
|
|
expires_at=ctx.user.subscription.expires_at,
|
|
addon_ids=[a.id for a in ctx.user.subscription.addons],
|
|
)
|
|
return UserInfo(
|
|
username=ctx.user.username,
|
|
telegram_id=ctx.user.telegram_id,
|
|
subscription=sub_data,
|
|
referal_code=ctx.user.referal_code,
|
|
)
|