fix(/users): missing rw entry doesn't cause errors

This commit is contained in:
2026-08-18 19:05:42 +07:00
parent 039babf540
commit 3d79ffb384

View File

@@ -1,3 +1,5 @@
import logging
from fastapi import APIRouter, Depends, HTTPException from fastapi import APIRouter, Depends, HTTPException
from core.deps import get_auth_context from core.deps import get_auth_context
@@ -8,7 +10,7 @@ from schemas.dto import AuthContext
from schemas.user import SubscriptionData, UserInfo from schemas.user import SubscriptionData, UserInfo
router = APIRouter(prefix="/users") router = APIRouter(prefix="/users")
logger = logging.getLogger(__name__)
@router.get("/me", response_model=UserInfo) @router.get("/me", response_model=UserInfo)
async def get_me(ctx: AuthContext = Depends(get_auth_context)): async def get_me(ctx: AuthContext = Depends(get_auth_context)):
@@ -34,6 +36,17 @@ async def get_subscription(ctx: AuthContext = Depends(get_auth_context)):
) )
rw_user = await get_rw_user(get_sdk(), ctx.user.telegram_id, ctx.user.username) rw_user = await get_rw_user(get_sdk(), ctx.user.telegram_id, ctx.user.username)
if not rw_user:
logger.critical("RW user not found for existing local subscription (user_id=%d, sub_id=%d)", ctx.user.id, sub.id)
return SubscriptionData(
has_subscription=True,
devices=sub.devices,
expires_at=sub.expires_at,
addon_ids=[a.addon_id for a in sub.addons],
subscription_link=None,
duration_days=sub.duration_days,
)
return SubscriptionData( return SubscriptionData(
has_subscription=True, has_subscription=True,
devices=sub.devices, devices=sub.devices,