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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user