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
|
||||
|
||||
7
todo.md
7
todo.md
@@ -1597,3 +1597,10 @@
|
||||
- [x] Corriger la logique pour utiliser la date sélectionnée par le formateur
|
||||
- [x] Déployer sur le serveur de recette et production
|
||||
- [ ] Tester avec une date passée ou future
|
||||
|
||||
## Correction définitive stockage local signatures formateur
|
||||
|
||||
- [x] Remplacer storagePut() par fs.writeFileSync() dans le code de validation formateur
|
||||
- [x] Déployer sur production
|
||||
- [ ] Tester la validation formateur (doit fonctionner sans fetch failed)
|
||||
- [ ] Vérifier que la signature est bien enregistrée localement
|
||||
|
||||
Reference in New Issue
Block a user