-- ============================================================================= -- Migration: 20260419000011_documents_portal_patient_policy -- V#50 — paciente vê documento via portal quando compartilhado_portal=true. -- -- Adiciona policy SELECT ADICIONAL em documents (combina via OR com a policy -- existente "documents: select"). Paciente conseguem ler documentos próprios -- quando o terapeuta compartilhou via portal. -- ============================================================================= DROP POLICY IF EXISTS "documents: portal patient read" ON public.documents; CREATE POLICY "documents: portal patient read" ON public.documents FOR SELECT TO authenticated USING ( compartilhado_portal = true AND patient_id IN ( SELECT p.id FROM public.patients p WHERE p.user_id = auth.uid() ) AND (expira_compartilhamento IS NULL OR expira_compartilhamento > now()) ); COMMENT ON POLICY "documents: portal patient read" ON public.documents IS 'V#50: paciente lê documento quando compartilhado_portal=true E patient_id pertence ao auth.uid + não expirou.';