diff --git a/app/modules/tenancy/routes/api/admin_platform_users.py b/app/modules/tenancy/routes/api/admin_platform_users.py index f14651e3..9440823e 100644 --- a/app/modules/tenancy/routes/api/admin_platform_users.py +++ b/app/modules/tenancy/routes/api/admin_platform_users.py @@ -18,6 +18,8 @@ from app.modules.core.services.stats_aggregator import stats_aggregator from app.modules.tenancy.services.admin_service import admin_service from models.schema.auth import UserContext from models.schema.auth import ( + OwnedMerchantSummary, + StoreMembershipSummary, UserCreate, UserDeleteResponse, UserDetailResponse, @@ -76,6 +78,25 @@ def get_all_users( is_email_verified=user.is_email_verified, owned_merchants_count=len(user.owned_merchants) if user.owned_merchants else 0, store_memberships_count=len(user.store_memberships) if user.store_memberships else 0, + owned_merchants=[ + OwnedMerchantSummary( + id=m.id, + name=m.name, + is_active=m.is_active, + store_count=len(m.stores) if m.stores else 0, + ) + for m in (user.owned_merchants or []) + ], + store_memberships=[ + StoreMembershipSummary( + store_id=su.store_id, + store_code=su.store.store_code, + store_name=su.store.name, + user_type=su.user_type, + is_active=su.is_active, + ) + for su in (user.store_memberships or []) + ], ) for user in users ] @@ -264,6 +285,25 @@ def get_user_details( store_memberships_count=len(user.store_memberships) if user.store_memberships else 0, + owned_merchants=[ + OwnedMerchantSummary( + id=m.id, + name=m.name, + is_active=m.is_active, + store_count=len(m.stores) if m.stores else 0, + ) + for m in (user.owned_merchants or []) + ], + store_memberships=[ + StoreMembershipSummary( + store_id=su.store_id, + store_code=su.store.store_code, + store_name=su.store.name, + user_type=su.user_type, + is_active=su.is_active, + ) + for su in (user.store_memberships or []) + ], ) diff --git a/app/modules/tenancy/templates/tenancy/admin/merchant-user-detail.html b/app/modules/tenancy/templates/tenancy/admin/merchant-user-detail.html index 9d663ac6..1765b95d 100644 --- a/app/modules/tenancy/templates/tenancy/admin/merchant-user-detail.html +++ b/app/modules/tenancy/templates/tenancy/admin/merchant-user-detail.html @@ -166,32 +166,59 @@ - -