-- Evidencias de cumplimiento para obligaciones fiscales.
-- Permite subir cualquier documento (declaración, pago, acuse, complemento)
-- vinculado a una obligación y periodo específicos.
CREATE TABLE IF NOT EXISTS obligacion_evidencias (
  id                serial PRIMARY KEY,
  obligacion_id     uuid NOT NULL REFERENCES obligaciones_contribuyente(id) ON DELETE CASCADE,
  periodo           varchar(7) NOT NULL, -- "2026-04"
  contribuyente_id  uuid NOT NULL REFERENCES contribuyentes(entidad_id) ON DELETE CASCADE,
  tipo_documento    varchar(30) NOT NULL CHECK (tipo_documento IN (
    'declaracion', 'pago', 'acuse', 'complemento'
  )),
  archivo           bytea NOT NULL,
  archivo_filename  varchar(255) NOT NULL,
  archivo_mime      varchar(100) DEFAULT 'application/pdf',
  notas             text,
  subido_por        uuid, -- UUID del usuario en horux360 (sin FK local)
  subido_por_email  varchar(255),
  created_at        timestamptz DEFAULT now()
);

CREATE INDEX IF NOT EXISTS idx_obligacion_evidencias_obligacion_periodo
  ON obligacion_evidencias (obligacion_id, periodo);

CREATE INDEX IF NOT EXISTS idx_obligacion_evidencias_contribuyente
  ON obligacion_evidencias (contribuyente_id);
