mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-23 11:11:14 -05:00
Fix: Correct ban migration logic
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
-- Add ban expiration tracking
|
||||
ALTER TABLE public.profiles
|
||||
ADD COLUMN IF NOT EXISTS ban_expires_at timestamptz;
|
||||
|
||||
COMMENT ON COLUMN public.profiles.ban_expires_at IS
|
||||
'When the ban expires (null = permanent ban). Automatic unbanning is handled by a scheduled edge function.';
|
||||
|
||||
-- Update existing banned users to have a default ban reason
|
||||
UPDATE public.profiles
|
||||
SET ban_reason = 'No reason provided (legacy ban)'
|
||||
WHERE banned = true AND (ban_reason IS NULL OR ban_reason = '');
|
||||
|
||||
-- Add constraint to require ban_reason when banned
|
||||
ALTER TABLE public.profiles
|
||||
ADD CONSTRAINT ban_reason_required
|
||||
CHECK (
|
||||
(banned = true AND ban_reason IS NOT NULL AND ban_reason != '')
|
||||
OR
|
||||
(banned = false)
|
||||
);
|
||||
|
||||
COMMENT ON CONSTRAINT ban_reason_required ON public.profiles IS
|
||||
'Ensures that a ban reason must be provided when banning a user';
|
||||
Reference in New Issue
Block a user