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