Checkpoint: V1.24 - Correction erreur SQL upload attestations

Suppression des colonnes obsolètes (signatureUrl, signatureS3Key, dateSigned) de la table attestations qui causaient une erreur SQL lors de l'upload de documents. La procédure uploadSignature obsolète a également été supprimée du code. Déployé et testé sur TEST et PROD.
This commit is contained in:
Manus
2026-02-27 05:38:01 -05:00
parent 429d6cf264
commit 2c3891f979
6 changed files with 2316 additions and 45 deletions

View File

@@ -2486,46 +2486,7 @@ export const appRouter = router({
return genererPreviewAttestation();
}),
// Uploader la signature manuscrite d'un apprenant
uploadSignature: publicProcedure
.input(z.object({
attestationId: z.number(),
signatureDataUrl: z.string(),
}))
.mutation(async ({ input }) => {
const { storagePut } = await import("./storage");
const { getDb } = await import("./db");
const { attestations } = await import("../drizzle/schema");
const { eq } = await import("drizzle-orm");
const db = await getDb();
if (!db) throw new Error("Base de données non disponible");
// Convertir le data URL en buffer
const base64Data = input.signatureDataUrl.replace(/^data:image\/png;base64,/, "");
const buffer = Buffer.from(base64Data, "base64");
// Générer un nom de fichier unique
const fileName = `signatures/attestation-${input.attestationId}-${Date.now()}.png`;
// Uploader vers S3
const { url, key } = await storagePut(fileName, buffer, "image/png");
// Mettre à jour l'attestation dans la base de données
await db
.update(attestations)
.set({
signatureUrl: url,
signatureS3Key: key,
dateSigned: new Date(),
})
.where(eq(attestations.id, input.attestationId));
return {
success: true,
signatureUrl: url,
};
}),
}),
// ===== PRESENCES (ÉMARGEMENT NUMÉRIQUE) =====