riseup-squad18/scripts/fix-messages-permissions.sql
Seu Nome 04c6de47d5 feat: update Supabase connection details and enhance messaging functionality
- Changed Supabase URL and anon key for the connection.
- Added a cache buster file for page caching management.
- Integrated ChatMessages component into AcompanhamentoPaciente and MensagensMedico pages for improved messaging interface.
- Created new MensagensPaciente page for patient messaging.
- Updated PainelMedico to include messaging functionality with patients.
- Enhanced message service to support conversation retrieval and message sending.
- Added a test HTML file for Supabase connection verification and message table interaction.
2025-11-26 00:06:50 -03:00

44 lines
1.9 KiB
SQL

-- Script para corrigir permissões da tabela messages
-- Execute este script se ainda estiver com problemas
-- 1. Remover RLS temporariamente para testar
ALTER TABLE public.messages DISABLE ROW LEVEL SECURITY;
-- 2. Garantir que a tabela existe e tem as colunas corretas
-- Se der erro, ignore e continue
DO $$
BEGIN
-- Verificar se a tabela existe
IF EXISTS (SELECT FROM pg_tables WHERE schemaname = 'public' AND tablename = 'messages') THEN
RAISE NOTICE 'Tabela messages existe!';
ELSE
RAISE EXCEPTION 'Tabela messages não existe! Execute o script create-messages-table.sql primeiro.';
END IF;
END $$;
-- 3. Garantir que anon e authenticated podem acessar
GRANT ALL ON public.messages TO anon;
GRANT ALL ON public.messages TO authenticated;
GRANT ALL ON public.messages TO service_role;
-- 4. Garantir que sequences podem ser usadas
GRANT USAGE ON ALL SEQUENCES IN SCHEMA public TO anon;
GRANT USAGE ON ALL SEQUENCES IN SCHEMA public TO authenticated;
-- 5. DESABILITAR RLS para permitir acesso sem autenticação Supabase
-- Isso é necessário porque a aplicação usa autenticação customizada
ALTER TABLE public.messages DISABLE ROW LEVEL SECURITY;
-- 6. Remover políticas antigas (já que RLS está desabilitado)
DROP POLICY IF EXISTS "Users can view their own messages" ON public.messages;
DROP POLICY IF EXISTS "Users can send messages" ON public.messages;
DROP POLICY IF EXISTS "Users can update received messages" ON public.messages;
DROP POLICY IF EXISTS "Users can delete sent messages" ON public.messages;
DROP POLICY IF EXISTS "Allow all for testing" ON public.messages;
-- Nota: Com RLS desabilitado, qualquer requisição com a chave anon pode acessar a tabela
-- Implemente validação de permissões na camada de aplicação (frontend/backend)
-- 8. Verificar se está funcionando
SELECT 'Configuração concluída! Teste o envio de mensagens agora.' as status;