riseup-squad18/MEDICONNECT 2/scripts/criar-julia-sql.sql
2025-10-07 14:53:47 -03:00

101 lines
2.5 KiB
SQL

-- ============================================================
-- Script SQL para criar usuária Julia Carvalho com role ADMIN
-- Execute este script no Supabase Dashboard > SQL Editor
-- ============================================================
-- 1. Criar usuário no auth.users (SUBSTITUA O ID abaixo por um UUID gerado)
-- Você pode gerar um UUID em: https://www.uuidgenerator.net/
-- Ou usar: gen_random_uuid()
INSERT INTO auth.users (
id,
instance_id,
email,
encrypted_password,
email_confirmed_at,
created_at,
updated_at,
raw_app_meta_data,
raw_user_meta_data,
role,
aud
)
VALUES (
gen_random_uuid(), -- Gera um UUID automaticamente
'00000000-0000-0000-0000-000000000000',
'secretaria.mediconnect@gmail.com',
crypt('secretaria@mediconnect', gen_salt('bf')), -- Hash bcrypt da senha
NOW(),
NOW(),
NOW(),
'{"provider": "email", "providers": ["email"]}',
'{"full_name": "Julia Carvalho", "role": "admin"}',
'authenticated',
'authenticated'
)
ON CONFLICT (email) DO NOTHING
RETURNING id;
-- 2. Obter o ID do usuário criado (copie este ID para usar nos próximos passos)
-- Execute esta query separadamente e copie o resultado:
SELECT id, email, raw_user_meta_data
FROM auth.users
WHERE email = 'secretaria.mediconnect@gmail.com';
-- 3. Criar perfil na tabela users (SUBSTITUA 'UUID_AQUI' pelo ID obtido acima)
INSERT INTO public.users (
id,
email,
full_name,
is_admin,
is_secretary,
is_admin_or_manager,
created_at,
updated_at
)
VALUES (
(SELECT id FROM auth.users WHERE email = 'secretaria.mediconnect@gmail.com'),
'secretaria.mediconnect@gmail.com',
'Julia Carvalho',
true,
true,
true,
NOW(),
NOW()
)
ON CONFLICT (id) DO UPDATE SET
is_admin = true,
is_secretary = true,
is_admin_or_manager = true;
-- 4. Adicionar role admin na tabela user_roles
INSERT INTO public.user_roles (
user_id,
role,
created_at
)
VALUES (
(SELECT id FROM auth.users WHERE email = 'secretaria.mediconnect@gmail.com'),
'admin',
NOW()
)
ON CONFLICT (user_id, role) DO NOTHING;
-- 5. Verificar criação
SELECT
u.id,
u.email,
u.full_name,
u.is_admin,
u.is_secretary,
ur.role
FROM public.users u
LEFT JOIN public.user_roles ur ON ur.user_id = u.id
WHERE u.email = 'secretaria.mediconnect@gmail.com';
-- ============================================================
-- CREDENCIAIS PARA LOGIN:
-- Email: secretaria.mediconnect@gmail.com
-- Senha: secretaria@mediconnect
-- ============================================================