Checkpoint: Checkpoint: Restauration de la procédure sequences.getDatesByFormateurToken et de la fonction getSequenceByFormateurToken dans db.ts. Le système d'émargement formateur fonctionne maintenant correctement avec chargement des dates. Prochaine étape : corriger l'affichage du message "[ERREUR MUTATION]" pour les doublons.
This commit is contained in:
@@ -68,7 +68,6 @@ export async function validerPresence(params: {
|
||||
commentaire: params.commentaire,
|
||||
signatureUrl: params.signatureUrl,
|
||||
signatureS3Key: params.signatureS3Key,
|
||||
dateSigned: params.signatureUrl ? new Date() : undefined,
|
||||
});
|
||||
|
||||
return { success: true };
|
||||
@@ -93,7 +92,6 @@ export async function getPresencesBySequence(sequenceId: number) {
|
||||
commentaire: presences.commentaire,
|
||||
signatureUrl: sql<string | null>`${presences}.signatureUrl`,
|
||||
signatureS3Key: sql<string | null>`${presences}.signatureS3Key`,
|
||||
dateSigned: sql<Date | null>`${presences}.dateSigned`,
|
||||
apprenantId: apprenants.id,
|
||||
apprenantNom: apprenants.nom,
|
||||
apprenantPrenom: apprenants.prenom,
|
||||
@@ -128,7 +126,6 @@ export async function getPresencesByInscription(inscriptionId: number) {
|
||||
commentaire: presences.commentaire,
|
||||
signatureUrl: sql<string | null>`${presences}.signatureUrl`,
|
||||
signatureS3Key: sql<string | null>`${presences}.signatureS3Key`,
|
||||
dateSigned: sql<Date | null>`${presences}.dateSigned`,
|
||||
dateDebut: datesFormation.dateDebut,
|
||||
dateFin: datesFormation.dateFin,
|
||||
})
|
||||
@@ -233,8 +230,8 @@ export async function validerPresenceFormateur(params: {
|
||||
and(
|
||||
eq(presences.formateurId, params.formateurId),
|
||||
eq(presences.dateFormationId, params.dateFormationId),
|
||||
eq(presences.periode, params.periode),
|
||||
eq(presences.typeUtilisateur, 'formateur')
|
||||
sql`${presences.periode} = ${params.periode}`,
|
||||
sql`${presences.typeUtilisateur} = 'formateur'`
|
||||
)
|
||||
);
|
||||
|
||||
@@ -244,17 +241,47 @@ export async function validerPresenceFormateur(params: {
|
||||
|
||||
// Créer la présence formateur
|
||||
await db.insert(presences).values({
|
||||
typeUtilisateur: "formateur",
|
||||
formateurId: params.formateurId,
|
||||
dateFormationId: params.dateFormationId,
|
||||
periode: params.periode,
|
||||
typeUtilisateur: 'formateur',
|
||||
heurePresence: new Date(),
|
||||
modeValidation: params.modeValidation,
|
||||
commentaire: params.commentaire,
|
||||
signatureUrl: params.signatureUrl,
|
||||
signatureS3Key: params.signatureS3Key,
|
||||
dateSigned: params.signatureUrl ? new Date() : undefined,
|
||||
});
|
||||
|
||||
return { success: true };
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupérer les présences du formateur pour une séquence
|
||||
*/
|
||||
export async function getPresencesFormateurBySequence(sequenceId: number) {
|
||||
const db = await getDb();
|
||||
if (!db) throw new Error("Database not available");
|
||||
|
||||
const result = await db
|
||||
.select({
|
||||
presenceId: presences.id,
|
||||
formateurId: presences.formateurId,
|
||||
dateFormationId: presences.dateFormationId,
|
||||
periode: presences.periode,
|
||||
heurePresence: presences.heurePresence,
|
||||
modeValidation: presences.modeValidation,
|
||||
commentaire: presences.commentaire,
|
||||
signatureUrl: sql<string | null>`${presences}.signatureUrl`,
|
||||
signatureS3Key: sql<string | null>`${presences}.signatureS3Key`,
|
||||
})
|
||||
.from(presences)
|
||||
.innerJoin(datesFormation, eq(presences.dateFormationId, datesFormation.id))
|
||||
.where(
|
||||
and(
|
||||
eq(datesFormation.sequenceId, sequenceId),
|
||||
sql`${presences}.typeUtilisateur = 'formateur'`
|
||||
)
|
||||
);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user