feat: salvamento automático de recibos PDF no MinIO (pasta recibos)

This commit is contained in:
Sidney 2026-05-11 19:04:38 -03:00
parent 87973065a0
commit f1b02f0337
2 changed files with 18 additions and 2 deletions

View File

@ -33,7 +33,7 @@ import {
initNotasTable, getNotasByAluno, upsertNota, initNotasTable, getNotasByAluno, upsertNota,
syncJsonToRelationalTables syncJsonToRelationalTables
} from './services/database.js'; } from './services/database.js';
import { uploadLogo as uploadLogoToStorage, uploadCarne as uploadCarneToStorage, getMinioStats, s3Client, getBucketObjects, deleteMinioObject } from './services/storage.js'; import { uploadLogo as uploadLogoToStorage, uploadCarne as uploadCarneToStorage, uploadReceipt as uploadReceiptToStorage, getMinioStats, s3Client, getBucketObjects, deleteMinioObject } from './services/storage.js';
import { GetObjectCommand } from '@aws-sdk/client-s3'; import { GetObjectCommand } from '@aws-sdk/client-s3';
const __filename = fileURLToPath(import.meta.url); const __filename = fileURLToPath(import.meta.url);
@ -631,7 +631,16 @@ async function sendEvolutionMessage(asaasPaymentId, eventType, fallbackValorArg
doc.text('Autenticação Digital EduManager', 105, 108, { align: 'center' }); doc.text('Autenticação Digital EduManager', 105, 108, { align: 'center' });
const pdfArrayBuffer = doc.output('arraybuffer'); const pdfArrayBuffer = doc.output('arraybuffer');
base64Pdf = Buffer.from(pdfArrayBuffer).toString('base64'); const pdfBuffer = Buffer.from(pdfArrayBuffer);
// Upload para o MinIO (Pasta recibos)
const minioFileName = `recibo_${asaasPaymentId}.pdf`;
const minioUrl = await uploadReceiptToStorage(minioFileName, pdfBuffer);
// Atualiza o link no banco de dados para apontar para o seu MinIO
await updateCobranca(asaasPaymentId, { transaction_receipt_url: minioUrl });
base64Pdf = pdfBuffer.toString('base64');
fileName = `Recibo-${targetName.replace(/\s+/g, '')}.pdf`; fileName = `Recibo-${targetName.replace(/\s+/g, '')}.pdf`;
} catch (pdfErr) { } catch (pdfErr) {
console.error('[WhatsApp] Erro ao gerar PDF de recibo:', pdfErr.message); console.error('[WhatsApp] Erro ao gerar PDF de recibo:', pdfErr.message);

View File

@ -78,6 +78,13 @@ export async function uploadCarne(fileName, pdfBuffer) {
return uploadFile('carnes', fileName, pdfBuffer, 'application/pdf'); return uploadFile('carnes', fileName, pdfBuffer, 'application/pdf');
} }
/**
* Upload de recibo PDF
*/
export async function uploadReceipt(fileName, pdfBuffer) {
return uploadFile('recibos', fileName, pdfBuffer, 'application/pdf');
}
/** /**
* Upload de imagem de prova * Upload de imagem de prova
*/ */