Checkpoint: Implémentation de la signature manuscrite tactile pour l'émargement via QR code :
- Intégration du composant SignaturePad dans EmargementScan.tsx - Ajout des champs de signature dans la table presences (signatureUrl, signatureS3Key, dateSigned) - Modification de la procédure presences.valider pour accepter et uploader la signature en S3 - Stockage automatique de l'URL et de la clé S3 dans la base de données - Correction des types nullables dans exportService.ts (codeEtablissement, fonction) - Les apprenants doivent maintenant signer avec le doigt sur l'écran avant de valider leur présence
This commit is contained in:
2220
drizzle/meta/0006_snapshot.json
Normal file
2220
drizzle/meta/0006_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
2234
drizzle/meta/0007_snapshot.json
Normal file
2234
drizzle/meta/0007_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -43,6 +43,20 @@
|
||||
"when": 1769347298041,
|
||||
"tag": "0005_shallow_bloodstrike",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 6,
|
||||
"version": "5",
|
||||
"when": 1769505491815,
|
||||
"tag": "0006_broad_sabra",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 7,
|
||||
"version": "5",
|
||||
"when": 1769506135258,
|
||||
"tag": "0007_lively_shiver_man",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -414,6 +414,10 @@ export const presences = mysqlTable("presences", {
|
||||
/** ID de l'utilisateur qui a validé (formateur ou admin) */
|
||||
validateurId: int("validateurId"),
|
||||
commentaire: text("commentaire"),
|
||||
/** URL de la signature manuscrite de l'apprenant */
|
||||
signatureUrl: varchar("signatureUrl", { length: 500 }),
|
||||
/** Clé S3 de la signature manuscrite */
|
||||
signatureS3Key: varchar("signatureS3Key", { length: 500 }),
|
||||
createdAt: timestamp("createdAt").defaultNow().notNull(),
|
||||
});
|
||||
|
||||
@@ -442,6 +446,12 @@ export const attestations = mysqlTable("attestations", {
|
||||
emailEnvoye: boolean("emailEnvoye").default(false).notNull(),
|
||||
/** Date d'envoi de l'email */
|
||||
dateEnvoiEmail: timestamp("dateEnvoiEmail"),
|
||||
/** URL de la signature manuscrite */
|
||||
signatureUrl: varchar("signatureUrl", { length: 500 }),
|
||||
/** Clé S3 de la signature manuscrite */
|
||||
signatureS3Key: varchar("signatureS3Key", { length: 500 }),
|
||||
/** Date de signature */
|
||||
dateSigned: timestamp("dateSigned"),
|
||||
dateGeneration: timestamp("dateGeneration").defaultNow().notNull(),
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user