From 3d79ffb3843a8443ca74c9926c5ffa4429d998ef Mon Sep 17 00:00:00 2001 From: hexdev Date: Tue, 18 Aug 2026 19:05:42 +0700 Subject: [PATCH] fix(/users): missing rw entry doesn't cause errors --- routes/users.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/routes/users.py b/routes/users.py index fa6241d..13a0100 100644 --- a/routes/users.py +++ b/routes/users.py @@ -1,3 +1,5 @@ +import logging + from fastapi import APIRouter, Depends, HTTPException from core.deps import get_auth_context @@ -8,7 +10,7 @@ from schemas.dto import AuthContext from schemas.user import SubscriptionData, UserInfo router = APIRouter(prefix="/users") - +logger = logging.getLogger(__name__) @router.get("/me", response_model=UserInfo) 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) + 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( has_subscription=True, devices=sub.devices,