Parte de la actualización de obtención de documentos a partir del documentos_id

Ahora se usa documentos_id para obtener los documentos de referencia de minio, por lo que se cambiaron los nombres de las variables utilizadas
This commit is contained in:
2025-10-03 12:18:25 -06:00
parent 4be34e8d6a
commit e12d0ad8b1

View File

@@ -7,7 +7,7 @@ import * as Icons from "lucide-react"
import type { RefRow } from "@/types/RefRow"
// POST -> recibe blob PDF y (opcional) Content-Disposition
async function fetchPdfBlob(url: string, body: { s3_file_path: string }) {
async function fetchPdfBlob(url: string, body: { documentos_id: string }) {
const res = await fetch(url, {
method: "POST",
headers: { "Content-Type": "application/json" },
@@ -35,6 +35,7 @@ export function DetailDialog({
onClose: () => void
pdfUrl?: string
}) {
console.log("DetailDialog render", { row })
const [viewerUrl, setViewerUrl] = useState<string | null>(null)
const [currentBlob, setCurrentBlob] = useState<Blob | null>(null)
const [filename, setFilename] = useState<string>("archivo.pdf")
@@ -48,13 +49,15 @@ export function DetailDialog({
const ctrl = new AbortController()
async function load() {
if (!row?.s3_file_path) {
console.log(row)
if (!row?.documentos_id) {
setViewerUrl(null)
setCurrentBlob(null)
console.warn("No hay documentos_id en el row")
return
}
try {
const { blob, disposition } = await fetchPdfBlob(`${import.meta.env.VITE_BACK_ORIGIN}/api/get/documento`, { s3_file_path: row.s3_file_path })
const { blob, disposition } = await fetchPdfBlob(`${import.meta.env.VITE_BACK_ORIGIN}/api/get/documento`, { documentos_id: row.documentos_id })
if (ctrl.signal.aborted) return
const name = row.titulo_archivo ? `${row.titulo_archivo}.pdf` : filenameFromDisposition(disposition)
setFilename(name)
@@ -94,8 +97,8 @@ export function DetailDialog({
}
// Si no, vuelve a pedirlo (p. ej., si el user abre y descarga sin render previo)
if (!row?.s3_file_path) throw new Error("No hay contenido para descargar.")
const { blob, disposition } = await fetchPdfBlob(`${import.meta.env.VITE_BACK_ORIGIN}/api/get/documento`, { s3_file_path: row.s3_file_path })
if (!row?.documentos_id) throw new Error("No hay contenido para descargar.")
const { blob, disposition } = await fetchPdfBlob(`${import.meta.env.VITE_BACK_ORIGIN}/api/get/documento`, { documentos_id: row.documentos_id })
const name = row.titulo_archivo ? `${row.titulo_archivo}.pdf` : filenameFromDisposition(disposition)
const link = document.createElement("a")
const href = URL.createObjectURL(blob)