feat(admin): Owner column on All Users' Events card
Some checks failed
lint.yml / feat(admin): Owner column on All Users' Events card (pull_request) Failing after 0s
Some checks failed
lint.yml / feat(admin): Owner column on All Users' Events card (pull_request) Failing after 0s
Adds the event's wallet owner (user_id) as the first column of the admin-only All Users' Events table so cross-tenant rows are attributable at a glance. Server-side join: GET /events/all now resolves each event.wallet -> wallet.user and stamps the result on the response as wallet_user_id. Frontend gets a dedicated allUsersEventsTable.columns definition so the user's own-events table stays unchanged. Follow-up #22 covers letting the admin actually edit those events once attributed.
This commit is contained in:
parent
66d263ef14
commit
3606fd9a0a
3 changed files with 62 additions and 4 deletions
19
views_api.py
19
views_api.py
|
|
@ -101,9 +101,22 @@ async def api_events_public() -> list[Event]:
|
|||
@events_api_router.get("/all")
|
||||
async def api_events_all(
|
||||
admin: Account = Depends(check_admin),
|
||||
) -> list[Event]:
|
||||
"""All events across all wallets. LNbits admin only."""
|
||||
return await get_all_events()
|
||||
) -> list[dict]:
|
||||
"""All events across all wallets, with each row's wallet owner
|
||||
resolved to a user_id. LNbits admin only.
|
||||
|
||||
Returns dicts (not strict `Event` rows) so the response can carry
|
||||
the synthetic `wallet_user_id` column the admin UI uses to attribute
|
||||
each cross-tenant event to a user.
|
||||
"""
|
||||
events = await get_all_events()
|
||||
enriched: list[dict] = []
|
||||
for event in events:
|
||||
wallet = await get_wallet(event.wallet)
|
||||
row = event.dict()
|
||||
row["wallet_user_id"] = wallet.user if wallet else None
|
||||
enriched.append(row)
|
||||
return enriched
|
||||
|
||||
|
||||
@events_api_router.get("/pending")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue