Skip to main content
Source snapshot: 13 October 2026. These pages describe the current implementation, including unfinished controls. See coverage and review notes.

Events

Host: admin.<ROOT_DOMAIN> · Route: /[tenant]/events

Purpose and access

Maintain events for this Mahallu.You need an account session and a resolved membership context in the selected Mahallu (including the API’s current platform elevation path). The API independently checks the requested operation’s permissions and feature availability.

Screen layout

Add an event form with title, start date-time, description, and location; then Title/Starts/Location table and pagination.

Fields and displayed information

Fields and filters: Page

Actions

Interaction sequence

Fill the creation form → submit → refresh the list. Use the row removal control and confirm before deletion. Navigate pages through the page query parameter; events link to their detail screen.

States and rules

The route loads 20 records per page and provides permission and empty states. Title and Starts at are required. A saved event links to its registrations and finance summary.The rendered action controls bind loading indicators to pending state. Failed API saves keep their documented error/notification path; a loading indicator alone does not establish persistence.

Implementation references

Paths below are relative to the application repository. This is source-reviewed behavior, not a recorded browser test.
  • apps/web/src/app/sites/admin/[tenant]/events/page.tsx
  • apps/web/src/features/tenants/simple-create-form.tsx
  • apps/web/src/features/tenants/simple-resource-table.tsx
Data and access helpers: apps/web/src/lib/session.ts, apps/web/src/lib/server-api.ts, apps/web/src/lib/tenants.ts, apps/web/src/lib/business-resources.ts, apps/web/src/lib/api-client.tsRelevant controller permission keys: events.view, events.create, events.update, events.delete, finance.view. Keys are operation-specific; the current guard grants OWNER/ADMIN and its platform-elevation context an operational bypass. A visible control still does not establish authorization.

API behavior references

  • apps/api/src/events/event-registrations.controller.ts
  • apps/api/src/events/events.controller.ts