16 lines
788 B
MySQL
16 lines
788 B
MySQL
|
|
-- Migration 092: Group invitations (v0.302 Lot S2.2)
|
||
|
|
-- Admin/moderator can invite users to join a group
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS group_invitations (
|
||
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||
|
|
group_id UUID NOT NULL REFERENCES groups(id) ON DELETE CASCADE,
|
||
|
|
inviter_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||
|
|
invitee_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||
|
|
status VARCHAR(20) NOT NULL DEFAULT 'pending' CHECK (status IN ('pending', 'accepted', 'declined')),
|
||
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||
|
|
UNIQUE(group_id, invitee_id)
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_group_invitations_group_id ON group_invitations(group_id);
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_group_invitations_invitee_id ON group_invitations(invitee_id);
|