test: add invite code validation tests and fix migration rollback
- Add TestInviteCodeSignup integration tests for valid/invalid invite codes - Fix migration downgrade: avoid dropping trigger dependency - Add DB CHECK constraint for invite_codes.code format - Update runtime-route.md with invite_code documentation - Update runtime-runbook.md with change log
This commit is contained in:
@@ -20,7 +20,7 @@ def upgrade() -> None:
|
||||
"""
|
||||
CREATE TABLE invite_codes (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
code VARCHAR(8) NOT NULL UNIQUE,
|
||||
code VARCHAR(8) NOT NULL UNIQUE CHECK (code ~ '^[ABCDEFGHJKMNPQRSTUVWXYZ23456789]{8}$'),
|
||||
owner_id UUID REFERENCES profiles(id) ON DELETE SET NULL,
|
||||
status VARCHAR(20) NOT NULL DEFAULT 'active' CHECK (status IN ('active', 'disabled', 'expired')),
|
||||
used_count INTEGER NOT NULL DEFAULT 0 CHECK (used_count >= 0),
|
||||
@@ -153,7 +153,6 @@ def upgrade() -> None:
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
op.execute("DROP FUNCTION IF EXISTS public.create_profile_for_new_user()")
|
||||
op.execute(
|
||||
"""
|
||||
CREATE OR REPLACE FUNCTION public.create_profile_for_new_user()
|
||||
|
||||
Reference in New Issue
Block a user