Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/hack4impact-umd/breastfeeding-center-gw/llms.txt

Use this file to discover all available pages before exploring further.

The BCGW Dashboard enforces role-based access control through three roles: VOLUNTEER, ADMIN, and DIRECTOR. Each role has a numeric level that determines what actions a user can perform and which other users they can manage.
export const RoleLevels: Record<Role, number> = {
  VOLUNTEER: 0,
  ADMIN: 1,
  DIRECTOR: 2,
};

Role overview

RoleLevelDescription
VOLUNTEER0Read-only access to dashboards and client data.
ADMIN1Can sync data, upload Jane files, delete Jane records, and manage lower-level users.
DIRECTOR2Full access including user management, role changes, and inviting users.

Permissions by action

ActionVOLUNTEERADMINDIRECTOR
View dashboards and client data
Sync data
Upload Jane files
Delete Jane records
Invite new users
Manage VOLUNTEER accounts
Manage ADMIN accounts
Manage DIRECTOR accounts
Change any user’s role✓*
* ADMINs can only assign roles strictly below their own level (i.e., VOLUNTEER only).

Role assignment rules

Role changes are restricted based on the acting user’s level:
  • ADMINs can update users whose role level is strictly lower than their own. An ADMIN cannot change another ADMIN’s role, nor can they promote anyone to ADMIN or DIRECTOR.
  • DIRECTORs have full authority and can change the role of any user, including other ADMINs.
  • No user can promote themselves. You may only assign a role that is at or below your own current role level. Self-demotion is permitted.

The last DIRECTOR account

The system enforces that at least one DIRECTOR account must exist at all times.
The last remaining DIRECTOR account cannot be deleted or demoted to a lower role. Any attempt to do so will be rejected with an error. Before removing or changing the role of the sole DIRECTOR, promote another user to DIRECTOR first.

Build docs developers (and LLMs) love