14 lines
651 B
MySQL
14 lines
651 B
MySQL
|
|
CREATE TABLE IF NOT EXISTS tenant_invites (
|
||
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||
|
|
tenant_id UUID NOT NULL REFERENCES tenants(id) ON DELETE CASCADE,
|
||
|
|
email TEXT NOT NULL,
|
||
|
|
role TEXT NOT NULL DEFAULT 'member' CHECK (role IN ('admin', 'member', 'viewer')),
|
||
|
|
token TEXT NOT NULL UNIQUE,
|
||
|
|
invited_by UUID NOT NULL REFERENCES users(id),
|
||
|
|
expires_at TIMESTAMPTZ NOT NULL DEFAULT NOW() + INTERVAL '7 days',
|
||
|
|
accepted_at TIMESTAMPTZ,
|
||
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||
|
|
);
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_tenant_invites_token ON tenant_invites(token);
|
||
|
|
CREATE INDEX IF NOT EXISTS idx_tenant_invites_email ON tenant_invites(email);
|