-- Pestaña "Extras" en /documentos: PDFs libres (acuses SAT, contratos, poderes,
-- estados de cuenta, comprobantes) organizados por contribuyente con categoría
-- de texto libre.
CREATE TABLE IF NOT EXISTS documentos_extras (
  id             serial PRIMARY KEY,
  contribuyente_id uuid REFERENCES contribuyentes(entidad_id) ON DELETE CASCADE,
  nombre         varchar(255) NOT NULL,
  descripcion    text,
  categoria      varchar(100),
  pdf            bytea NOT NULL,
  pdf_filename   varchar(255) NOT NULL,
  subido_por     varchar(255),
  created_at     timestamptz DEFAULT now()
);

CREATE INDEX IF NOT EXISTS ix_documentos_extras_contrib
  ON documentos_extras(contribuyente_id, created_at DESC)
  WHERE contribuyente_id IS NOT NULL;

CREATE INDEX IF NOT EXISTS ix_documentos_extras_categoria
  ON documentos_extras(categoria)
  WHERE categoria IS NOT NULL;

INSERT INTO tenant_migrations (scope, version, name)
VALUES ('vertical-contable', 28, '028_documentos_extras')
ON CONFLICT (scope, version) DO NOTHING;
