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 signatureUrl: string | undefined;
|
||||||
let signatureS3Key: string | undefined;
|
let signatureS3Key: string | undefined;
|
||||||
if (input.signatureDataUrl) {
|
if (input.signatureDataUrl) {
|
||||||
|
const fs = await import("fs");
|
||||||
|
const path = await import("path");
|
||||||
|
|
||||||
const formationId = sequenceData[0].formationId;
|
const formationId = sequenceData[0].formationId;
|
||||||
const sequenceId = sequenceData[0].id;
|
const sequenceId = sequenceData[0].id;
|
||||||
const randomSuffix = crypto.randomBytes(8).toString("hex");
|
const randomSuffix = crypto.randomBytes(8).toString("hex");
|
||||||
@@ -2645,8 +2648,15 @@ export const appRouter = router({
|
|||||||
const signatureS3Key = `signatures/${formationId}-${sequenceId}/${fileName}`;
|
const signatureS3Key = `signatures/${formationId}-${sequenceId}/${fileName}`;
|
||||||
const base64Data = input.signatureDataUrl.split(",")[1];
|
const base64Data = input.signatureDataUrl.split(",")[1];
|
||||||
const buffer = Buffer.from(base64Data, "base64");
|
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
|
// 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] Corriger la logique pour utiliser la date sélectionnée par le formateur
|
||||||
- [x] Déployer sur le serveur de recette et production
|
- [x] Déployer sur le serveur de recette et production
|
||||||
- [ ] Tester avec une date passée ou future
|
- [ ] 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