Open JuanCamiloMartinezLopez opened 4 days ago
Se inicia con actividad iniciando por la creación del servicio
Al iniciar con la actividad, se evidencia que en la rama master ya se encuentra un servicio de firma electrónica, por lo que se creó una rama a partir de la rama feature/viewCertificacionesDve, donde se encuentra la generación de documentos a la que se desea implementar la firma electrónica y se une con master
También se detecta que ya existe un método para firmar el documento, pero dicho método se encuentra en un componente, por lo que no se puede reutilizar de una manera correcta. Por lo tanto, se creó un servicio para la firma del documento, donde se consulta el documento y se crea la lista de responsables.
Se implementó el servicio ya creado de firma electrónica en CrearCertificacionesDveService. Donde temporalmente se utilizan datos de prueba, obteniendo el base64 del archivo firmado:
async firmarDocumento(file: any, nombreArchivo: string): Promise<string> {
let docsAFirmar = [
{
IdDocumento: 12,
nombre: nombreArchivo + ".pdf",
metadatos: {},
descripcion: "",
file: file,
firmantes: [
{
nombre: "solicituDeFirma.NombreResponsable,",
cargo: "Supervisor",
tipoId: "CC",
identificacion: "88194457",
},
],
representantes: [],
},
];
try {
return new Promise((resolve, reject) => {
this.firmaElectronicaService
.uploadFilesElectronicSign(docsAFirmar)
.subscribe({
next: (response: any) => {
if ( response &&response.length > 0) {
resolve(response[0].file);
} else {
reject("No se recibió una respuesta válida.");
}
},
error: (error) => {
reject(error);
},
});
});
} catch (error) {
console.log(error);
}
}
Con esa respuesta se captura. Ya no se descarga el documento directamente, sino que se utiliza su blob y se envía al método anterior de la siguiente manera, el cual envía el PDF en base64 y responde el mismo, pero firmado
this.pdf.create().getBlob(async (blob) => {
let pdfBase64 = await this.firmarDocumento(
blob,
informacionCertificacionDve.informacionDve.nombre_docente
);
const descarga = document.createElement("a");
descarga.href = "data:application/pdf;base64," + pdfBase64;
descarga.download = `${informacionCertificacionDve.informacionDve.nombre_docente}.pdf`;
descarga.click();
});
Se requiere implementar el servicio de firma electrónica en la generación de certificados de DVE
Sub Tareas
Criterios de aceptación
Requerimientos
No aplica
Definition of Ready - DoR
Definition of Done - DoD - Desarrollo