Membership System
Lifecycle
Every actor-to-center relationship follows a strict lifecycle:| Status | Description | Data Access |
|---|---|---|
INVITED | Invitation sent, not yet accepted | None |
PENDING | Accepted invitation, awaiting approval | Limited |
ACTIVE | Full member | Full (scoped) |
SUSPENDED | Temporarily disabled | None |
REJECTED | Application rejected | None |
ENDED | Membership terminated | None |
Database Schema
Key columns incenter_memberships:
| Column | Type | Description |
|---|---|---|
actor_id | UUID | The member |
center_id | UUID | The center |
role | ENUM | ADMIN, INSTRUCTOR, PARENT, CHILD |
status | ENUM | Lifecycle status |
invited_at | TIMESTAMP | When invitation was sent |
ended_at | TIMESTAMP | When membership ended |
status_reason | TEXT | Reason for status change |