Files
tabatago/supabase/setup-admin.sql
millianlmx 741376229d
All checks were successful
PR → Build → WiFi/USB Deploy → LGTM / Build & Deploy to iPhone (WiFi/USB) (pull_request) Successful in 6m52s
PR → Build → WiFi/USB Deploy → LGTM / Wait for LGTM comment (pull_request) Successful in 1m3s
docs: revamp AGENTS.md — canonical AI agent reference, purge obsolete TabataFit docs
2026-07-03 12:16:53 +00:00

46 lines
1.3 KiB
PL/PgSQL

-- ⚠️ PARTIELLEMENT OBSOLÈTE — Référence TabataFit.
-- La fonction is_admin() reste valide pour admin_users.
-- ============================================================
-- Setup: Initial Admin User and Authentication
-- ============================================================
-- Run this SQL after creating your first user in Supabase Auth
-- Step 1: Create helper function to check admin status
CREATE OR REPLACE FUNCTION is_admin(user_id UUID)
RETURNS BOOLEAN AS $$
BEGIN
RETURN EXISTS (
SELECT 1 FROM public.admin_users
WHERE id = user_id
);
END;
$$ LANGUAGE plpgsql SECURITY DEFINER;
-- Step 2: Add initial admin user
-- Method A: If user already exists in auth.users, run this:
/*
INSERT INTO public.admin_users (id, email, role)
SELECT id, email, 'admin'
FROM auth.users
WHERE email = 'admin@tabatafit.com'
ON CONFLICT (id) DO NOTHING;
*/
-- Method B: Insert directly with known UUID
-- INSERT INTO public.admin_users (id, email, role)
-- VALUES ('paste-uuid-here', 'admin@tabatafit.com', 'admin');
-- Step 3: Verify admin setup
SELECT
au.id,
au.email,
au.role,
au.created_at,
u.email as auth_email
FROM public.admin_users au
JOIN auth.users u ON au.id = u.id;
-- Step 4: List all users in auth (to find your UUID)
SELECT id, email, created_at, last_sign_in_at
FROM auth.users
ORDER BY created_at DESC;