First commit - backup RDOC
This commit is contained in:
72
fix_admin_permissions_v2.sql
Normal file
72
fix_admin_permissions_v2.sql
Normal file
@@ -0,0 +1,72 @@
|
||||
-- Arquivo atualizado para corrigir e validar permissões do Super Admin
|
||||
-- Rode este script no Editor SQL do dashboard do Supabase
|
||||
|
||||
-- 1. Primeiro, removemos políticas antigas para evitar conflitos/duplicatas
|
||||
drop policy if exists "Super Admin pode ver todas organizações" on organizacoes;
|
||||
drop policy if exists "Super Admin pode criar organizações" on organizacoes;
|
||||
drop policy if exists "Super Admin pode ver todos convites" on convites;
|
||||
drop policy if exists "Super Admin pode criar convites" on convites;
|
||||
drop policy if exists "Super Admin pode atualizar organizações" on organizacoes;
|
||||
drop policy if exists "Super Admin pode deletar convites" on convites;
|
||||
|
||||
-- 2. Recriamos as políticas de forma robusta e garantida
|
||||
-- Usamos auth.jwt() ->> 'email' que é mais confiável em alguns contextos do Supabase
|
||||
-- E também verificamos se o usuário está autenticado
|
||||
|
||||
-- ORGANIZAÇÕES: SELECT (Ver Todas)
|
||||
create policy "Super Admin pode ver todas organizações"
|
||||
on organizacoes
|
||||
for select
|
||||
to authenticated
|
||||
using (
|
||||
auth.jwt() ->> 'email' = 'admtracksteel@gmail.com'
|
||||
);
|
||||
|
||||
-- ORGANIZAÇÕES: INSERT (Criar Novas)
|
||||
create policy "Super Admin pode criar organizações"
|
||||
on organizacoes
|
||||
for insert
|
||||
to authenticated
|
||||
with check (
|
||||
auth.jwt() ->> 'email' = 'admtracksteel@gmail.com'
|
||||
);
|
||||
|
||||
-- ORGANIZAÇÕES: UPDATE (Editar)
|
||||
create policy "Super Admin pode atualizar organizações"
|
||||
on organizacoes
|
||||
for update
|
||||
to authenticated
|
||||
using (
|
||||
auth.jwt() ->> 'email' = 'admtracksteel@gmail.com'
|
||||
);
|
||||
|
||||
-- CONVITES: SELECT (Ver Todos)
|
||||
create policy "Super Admin pode ver todos convites"
|
||||
on convites
|
||||
for select
|
||||
to authenticated
|
||||
using (
|
||||
auth.jwt() ->> 'email' = 'admtracksteel@gmail.com'
|
||||
);
|
||||
|
||||
-- CONVITES: INSERT (Criar Novos)
|
||||
create policy "Super Admin pode criar convites"
|
||||
on convites
|
||||
for insert
|
||||
to authenticated
|
||||
with check (
|
||||
auth.jwt() ->> 'email' = 'admtracksteel@gmail.com'
|
||||
);
|
||||
|
||||
-- CONVITES: DELETE (Deletar)
|
||||
create policy "Super Admin pode deletar convites"
|
||||
on convites
|
||||
for delete
|
||||
to authenticated
|
||||
using (
|
||||
auth.jwt() ->> 'email' = 'admtracksteel@gmail.com'
|
||||
);
|
||||
|
||||
-- 3. Verificação (Opcional - apenas para garantir que o usuário existe)
|
||||
-- Se este select retornar o usuário, o email está correto no auth.users
|
||||
select id, email from auth.users where email = 'admtracksteel@gmail.com';
|
||||
Reference in New Issue
Block a user