diff --git a/templates/castle/index.html b/templates/castle/index.html index fac863f..771cb06 100644 --- a/templates/castle/index.html +++ b/templates/castle/index.html @@ -122,7 +122,7 @@ flat :rows="allUserBalances" :columns="[ - {name: 'user', label: 'User ID', field: 'user_id', align: 'left'}, + {name: 'user', label: 'User', field: 'username', align: 'left'}, {name: 'balance', label: 'Amount Owed', field: 'balance', align: 'right'} ]" row-key="user_id" @@ -131,7 +131,8 @@ > - {% raw %}{{ props.row.user_id.substring(0, 16) }}...{% endraw %} + {% raw %}{{ props.row.username }}{% endraw %} + {% raw %}{{ props.row.user_id.substring(0, 16) }}...{% endraw %} diff --git a/views_api.py b/views_api.py index d6cf561..eb13988 100644 --- a/views_api.py +++ b/views_api.py @@ -472,9 +472,27 @@ async def api_get_user_balance(user_id: str) -> UserBalance: @castle_api_router.get("/api/v1/balances/all") async def api_get_all_balances( wallet: WalletTypeInfo = Depends(require_admin_key), -) -> list[UserBalance]: +) -> list[dict]: """Get all user balances (admin/super user only)""" - return await get_all_user_balances() + from lnbits.core.crud.users import get_user + + balances = await get_all_user_balances() + + # Enrich with username information + result = [] + for balance in balances: + user = await get_user(balance.user_id) + username = user.username if user and user.username else balance.user_id[:16] + "..." + + result.append({ + "user_id": balance.user_id, + "username": username, + "balance": balance.balance, + "fiat_balances": balance.fiat_balances, + "accounts": [acc.dict() for acc in balance.accounts], + }) + + return result # ===== PAYMENT ENDPOINTS =====