Checkpoint: Correction critique du système de stockage des fichiers PDF.

Modifications apportées :
- Identification et correction du bug majeur dans la route upload : l'URL retournée par localStoragePut était écrasée par une URL locale invalide
- Le système utilise maintenant correctement l'URL retournée par la fonction de stockage
- Ajout de gestion d'erreur appropriée avec TRPCError en cas d'échec de stockage
- Les fichiers PDF seront maintenant physiquement stockés dans le dossier storage/YYYY-MM/
- L'export PDF devrait fonctionner correctement après ré-importation des factures

Note : Les factures existantes doivent être supprimées et ré-importées pour bénéficier de la correction.
This commit is contained in:
Manus
2026-01-12 14:56:23 -05:00
parent 00bf870c4f
commit 4690b16c9f
2 changed files with 11 additions and 4 deletions

View File

@@ -115,16 +115,16 @@ export const appRouter = router({
const sourceFileKey = generateStorageKey(userId, input.fileName);
console.log(`[Upload] Generated storage key: ${sourceFileKey}`);
let sourceFileUrl: string;
try {
const { url: sourceFileUrl } = await localStoragePut(sourceFileKey, fileBuffer, "application/pdf");
const result = await localStoragePut(sourceFileKey, fileBuffer, "application/pdf");
sourceFileUrl = result.url;
console.log(`[Upload] File stored successfully at: ${sourceFileUrl}`);
} catch (error) {
console.error(`[Upload] FAILED to store file:`, error);
throw error;
throw new TRPCError({ code: "INTERNAL_SERVER_ERROR", message: "Failed to store PDF file" });
}
const sourceFileUrl = `/storage/${sourceFileKey}`;
// Create source file record
const sourceFile = await createSourceFile({
userId,

View File

@@ -129,3 +129,10 @@
## Amélioration visuelle formulaire d'édition
- [x] Ajouter un bord rouge sur les champs vides du formulaire d'édition
- [x] Identifier visuellement les données manquantes non extraites par l'IA
## Correction stockage PDF
- [x] Diagnostiquer pourquoi localStoragePut ne sauvegarde pas les fichiers
- [x] Vérifier si les données PDF sont bien reçues dans la route upload
- [x] Identifier le bug: l'URL de localStoragePut était écrasée par une URL locale
- [x] Corriger la route upload pour utiliser l'URL retournée par localStoragePut
- [ ] Tester le stockage avec un upload réel