Checkpoint: Refonte majeure du système de rappels : sélection granulaire au niveau des dates de formation individuelles (dateFormationId) au lieu des séquences. Permet de choisir précisément quelles dates d'une séquence recevront un rappel. Interface hiérarchique avec séquences dépliables et checkboxes par date. Scheduler adapté pour traiter date par date.
This commit is contained in:
@@ -306,21 +306,21 @@ export type Rappel = typeof rappels.$inferSelect;
|
||||
export type InsertRappel = typeof rappels.$inferInsert;
|
||||
|
||||
/**
|
||||
* Table de liaison entre rappels et séquences (many-to-many)
|
||||
* Permet de définir quelles séquences sont concernées par chaque rappel
|
||||
* Si aucune association n'existe pour un rappel, il s'applique à toutes les séquences
|
||||
* Table de liaison entre rappels et dates de formation
|
||||
* Permet d'associer un rappel à des dates de formation spécifiques
|
||||
* Si aucune association n'existe pour un rappel, il s'applique à toutes les dates
|
||||
*/
|
||||
export const rappelSequences = mysqlTable("rappelSequences", {
|
||||
export const rappelDates = mysqlTable("rappelDates", {
|
||||
id: int("id").autoincrement().primaryKey(),
|
||||
/** ID du rappel */
|
||||
rappelId: int("rappelId").notNull(),
|
||||
/** ID de la séquence concernée */
|
||||
sequenceId: int("sequenceId").notNull(),
|
||||
/** ID de la date de formation concernée */
|
||||
dateFormationId: int("dateFormationId").notNull(),
|
||||
createdAt: timestamp("createdAt").defaultNow().notNull(),
|
||||
});
|
||||
|
||||
export type RappelSequence = typeof rappelSequences.$inferSelect;
|
||||
export type InsertRappelSequence = typeof rappelSequences.$inferInsert;
|
||||
export type RappelDate = typeof rappelDates.$inferSelect;
|
||||
export type InsertRappelDate = typeof rappelDates.$inferInsert;
|
||||
|
||||
/**
|
||||
* Table des questionnaires
|
||||
|
||||
Reference in New Issue
Block a user