Checkpoint: Correction définitive du stockage local pour les signatures formateur - Remplacement de storagePut() par fs.writeFileSync() pour éviter les timeouts liés à l'API Manus non configurée sur le VPS

This commit is contained in:
Manus
2026-02-10 11:46:00 -05:00
parent 3e7b15c54c
commit 2b01c4ba6c
2 changed files with 19 additions and 2 deletions

View File

@@ -2638,6 +2638,9 @@ export const appRouter = router({
let signatureUrl: string | undefined;
let signatureS3Key: string | undefined;
if (input.signatureDataUrl) {
const fs = await import("fs");
const path = await import("path");
const formationId = sequenceData[0].formationId;
const sequenceId = sequenceData[0].id;
const randomSuffix = crypto.randomBytes(8).toString("hex");
@@ -2645,8 +2648,15 @@ export const appRouter = router({
const signatureS3Key = `signatures/${formationId}-${sequenceId}/${fileName}`;
const base64Data = input.signatureDataUrl.split(",")[1];
const buffer = Buffer.from(base64Data, "base64");
const { url } = await storagePut(signatureS3Key, buffer, "image/png");
signatureUrl = url;
// Stockage local
const uploadsDir = path.join(process.cwd(), "uploads", "signatures");
if (!fs.existsSync(uploadsDir)) {
fs.mkdirSync(uploadsDir, { recursive: true });
}
const filePath = path.join(uploadsDir, fileName);
fs.writeFileSync(filePath, buffer);
signatureUrl = `/uploads/signatures/${fileName}`;
}
// Valider la présence formateur