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

Services and aid requests

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

Purpose and access

Log and review service requests associated with members.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

The screen has a Log a request form and a selectable request list with status filtering. Selected request details include Resolution notes and status actions.

Fields and displayed information

Fields and filters: Page

Displayed table columns: Type, Requester, Subject, Status, Submitted.

Fields and filters: Service requests table

Actions

Interaction sequence

Create a request → select it → Start review → Approve or Reject → Mark completed where offered. Rejection/completion can include resolution notes; each action patches the request and refreshes.

States and rules

The screen checks services access and exposes empty requests separately. Status controls are conditional on the selected request’s status; the presence of a button is not authority to bypass backend permissions.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]/services/page.tsx
  • apps/web/src/features/tenants/simple-create-form.tsx
  • apps/web/src/features/tenants/service-requests-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/services.ts, apps/web/src/lib/members.ts, apps/web/src/lib/api-client.tsRelevant controller permission keys: services.view, services.create, services.update, services.delete. 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/services/services.controller.ts