38980-vm/app-9w9pd00g5j41/supabase/migrations/00096_add_muhammet_to_admins.sql
2026-03-04 18:25:09 +00:00

30 lines
987 B
PL/PgSQL

-- Update the function to handle automatic admin assignment by email or username
CREATE OR REPLACE FUNCTION handle_admin_assignment_by_email()
RETURNS TRIGGER AS $$
BEGIN
-- Set role to admin if email is the main admin email
-- OR if the email contains 'muhammet'
-- OR if the username is 'muhammet'
IF NEW.email = 'cappadociaturkeytour@gmail.com'
OR NEW.email LIKE '%muhammet%'
OR NEW.username = 'muhammet' THEN
NEW.role := 'admin';
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
-- Re-apply trigger to ensure it is active
DROP TRIGGER IF EXISTS tr_assign_admin_by_email ON profiles;
CREATE TRIGGER tr_assign_admin_by_email
BEFORE INSERT OR UPDATE ON profiles
FOR EACH ROW
EXECUTE FUNCTION handle_admin_assignment_by_email();
-- Update existing if any (though we checked and none exist yet, it's good practice)
UPDATE profiles
SET role = 'admin'
WHERE email = 'cappadociaturkeytour@gmail.com'
OR email LIKE '%muhammet%'
OR username = 'muhammet';