fix: reconcile legacy database schema for admin user detail API

This commit is contained in:
3252a8
2026-05-12 11:07:44 +03:00
parent b9c0dfb9a1
commit 00a0792c35
2 changed files with 104 additions and 3 deletions
+6 -3
View File
@@ -195,9 +195,12 @@ def _serialize_subscription(sub: Subscription) -> Dict[str, Any]:
def _serialize_payment(payment: Payment) -> Dict[str, Any]:
user_label = None
if payment.user:
user_label = payment.user.username or payment.user.first_name or str(payment.user_id)
# Avoid lazy-loading `payment.user` outside an active SQLAlchemy session.
# Some admin routes serialize payments after the session scope is closed.
user_label = str(payment.user_id)
loaded_user = payment.__dict__.get("user")
if loaded_user is not None:
user_label = loaded_user.username or loaded_user.first_name or str(payment.user_id)
return {
"payment_id": int(payment.payment_id),
"user_id": int(payment.user_id),