feat: salvamento automático de recibos PDF no MinIO (pasta recibos)
This commit is contained in:
parent
87973065a0
commit
f1b02f0337
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue