6.2.2.16 OrganizationJoinRequest
6.2.2.16.1 Purpose¶
A person who used a join link that requires an approval. A member who manages members approves or rejects it; approving creates the membership with the link's role and groups, checked against the approver's own role. A request still pending when its link ends expires.
6.2.2.16.2 Questions it answers¶
- Who is waiting to join, through which link?
- Who approved or rejected a request, and when?
6.2.2.16.3 Fields¶
| Field | Type | Cardinality | Description |
|---|---|---|---|
id |
string (uuid) |
1..1 |
Key. |
link |
OrganizationJoinLink | 1..1 |
|
person |
Person | 1..1 |
|
status |
enum | 1..1 |
Values: pending, approved, rejected, expired. Default: pending. |
decided_by |
User | 0..1 |
|
decided_at |
datetime |
0..1 |
|
created_at |
datetime |
1..1 |
6.2.2.16.4 Relationships¶
References
OrganizationJoinRequest.link→ OrganizationJoinLink (1..1)OrganizationJoinRequest.person→ Person (1..1)OrganizationJoinRequest.decided_by→ User (0..1)
6.2.2.16.5 Rules & constraints¶
- A person who used a link that requires approval.
(link, person)is unique among pending requests. Approving creates the DirectMembership and the group memberships with the link's role and groups, checked against the approver's priority; a request still pending when its link ends expires.- Rows that are not pending are deleted 90 days after the decision; the audit keeps who decided.