Initial commit

This commit is contained in:
monoadmin
2026-04-10 15:36:33 -07:00
commit b2be19ed14
134 changed files with 16234 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
-- Invites table for invite-only registration
CREATE TABLE IF NOT EXISTS invites (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
token UUID UNIQUE NOT NULL DEFAULT gen_random_uuid(),
email TEXT NOT NULL,
created_by UUID REFERENCES auth.users(id) ON DELETE SET NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
expires_at TIMESTAMPTZ NOT NULL DEFAULT (NOW() + INTERVAL '7 days'),
used_at TIMESTAMPTZ,
used_by UUID REFERENCES auth.users(id) ON DELETE SET NULL
);
-- Enable RLS (all access goes through service role key in API routes)
ALTER TABLE invites ENABLE ROW LEVEL SECURITY;
-- Admins can read invites they created
CREATE POLICY "admins_read_invites" ON invites
FOR SELECT USING (
EXISTS (
SELECT 1 FROM profiles
WHERE profiles.id = auth.uid()
AND profiles.role = 'admin'
)
);
-- Index for token lookups (invite acceptance)
CREATE INDEX IF NOT EXISTS invites_token_idx ON invites (token);
-- Index for listing by creator
CREATE INDEX IF NOT EXISTS invites_created_by_idx ON invites (created_by);