A request to join a community with the REQUIRES_APPROVAL join policy. Invariant (application): the decider is the community’s owner or a member of its admin group.
| Name |
Type |
Default |
Nullable |
Children |
Parents |
Comment |
| id |
bigint |
nextval(‘membership_request_seq’::regclass) |
false |
|
|
|
| public_id |
uuid |
gen_random_uuid() |
false |
|
|
|
| community_id |
bigint |
|
false |
|
public.community |
|
| proposed_by_user_id |
bigint |
|
false |
|
public.app_user |
|
| status |
varchar(16) |
‘PENDING’::character varying |
false |
|
|
|
| decided_by_user_id |
bigint |
|
true |
|
public.app_user |
|
| decided_at |
timestamp with time zone |
|
true |
|
|
|
| created_at |
timestamp with time zone |
now() |
false |
|
|
|
| updated_at |
timestamp with time zone |
|
true |
|
|
|
| version |
bigint |
|
false |
|
|
|
| Name |
Type |
Definition |
| chk_membership_request_decided |
CHECK |
CHECK (((((status)::text = ‘PENDING’::text) AND (decided_at IS NULL)) OR (((status)::text <> ‘PENDING’::text) AND (decided_at IS NOT NULL)))) |
| chk_membership_request_status |
CHECK |
CHECK (((status)::text = ANY ((ARRAY[‘PENDING’::character varying, ‘APPROVED’::character varying, ‘REJECTED’::character varying])::text[]))) |
| fk_membership_request_decided_by_user_id |
FOREIGN KEY |
FOREIGN KEY (decided_by_user_id) REFERENCES app_user(id) |
| fk_membership_request_proposed_by_user_id |
FOREIGN KEY |
FOREIGN KEY (proposed_by_user_id) REFERENCES app_user(id) |
| fk_membership_request_community_id |
FOREIGN KEY |
FOREIGN KEY (community_id) REFERENCES community(id) |
| membership_request_pkey |
PRIMARY KEY |
PRIMARY KEY (id) |
| uq_membership_request_public_id |
UNIQUE |
UNIQUE (public_id) |
| Name |
Definition |
| membership_request_pkey |
CREATE UNIQUE INDEX membership_request_pkey ON public.membership_request USING btree (id) |
| uq_membership_request_public_id |
CREATE UNIQUE INDEX uq_membership_request_public_id ON public.membership_request USING btree (public_id) |
| ix_membership_request_community_id |
CREATE INDEX ix_membership_request_community_id ON public.membership_request USING btree (community_id) |
| ix_membership_request_proposed_by_user_id |
CREATE INDEX ix_membership_request_proposed_by_user_id ON public.membership_request USING btree (proposed_by_user_id) |
| ix_membership_request_decided_by_user_id |
CREATE INDEX ix_membership_request_decided_by_user_id ON public.membership_request USING btree (decided_by_user_id) |
| uq_membership_request_community_id_proposed_by_user_id_pending |
CREATE UNIQUE INDEX uq_membership_request_community_id_proposed_by_user_id_pending ON public.membership_request USING btree (community_id, proposed_by_user_id) WHERE ((status)::text = ‘PENDING’::text) |

Generated by tbls