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, )