Suppliers — permissions
Returned by SuppliersModule.get_permissions() (relative names; the registry namespaces them as suppliers.<name>).
| Permission | Allows | Required by |
|---|---|---|
suppliers.read | List and view supplier details | GET /api/v1/suppliers, GET /api/v1/suppliers/{id} |
suppliers.write | Create, update, or soft-delete a supplier | POST /api/v1/suppliers, PATCH /api/v1/suppliers/{id}, DELETE /api/v1/suppliers/{id} |
Role assignment
Role grants mirror contacts: admin gets wildcard (*); dentist and hygienist get read only; assistant and receptionist get read + write (front-desk staff manage the vendor directory day-to-day).
See backend/app/modules/suppliers/__init__.py for the canonical role table (manifest.role_permissions).
Adding a new permission
- Add the relative name to
get_permissions()inbackend/app/modules/suppliers/__init__.py. - Grant it to roles in
manifest.role_permissions. - Add a row to the table above.
- Annotate the endpoint(s) with
Depends(require_permission(...)). - Update
frontend/app/config/permissions.tsif it gates UI.