-- =============================================================================
-- 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.';
