fix(/users): missing rw entry doesn't cause errors
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user