diff --git a/server/routers.ts b/server/routers.ts index c70a996..d4f02ea 100644 --- a/server/routers.ts +++ b/server/routers.ts @@ -667,6 +667,52 @@ export const appRouter = router({ }), }), + // ===== GESTION DES RAPPELS ===== + rappels: router({ + list: adminProcedure.query(async () => { + return db.getAllRappels(); + }), + + create: adminProcedure + .input(z.object({ + nom: z.string(), + joursAvant: z.number(), + sujet: z.string(), + contenu: z.string(), + actif: z.boolean(), + })) + .mutation(async ({ input }) => { + return db.createRappel(input); + }), + + update: adminProcedure + .input(z.object({ + id: z.number(), + nom: z.string(), + joursAvant: z.number(), + sujet: z.string(), + contenu: z.string(), + actif: z.boolean(), + })) + .mutation(async ({ input }) => { + return db.updateRappel(input); + }), + + delete: adminProcedure + .input(z.object({ id: z.number() })) + .mutation(async ({ input }) => { + await db.deleteRappel(input.id); + return { success: true }; + }), + + toggleActif: adminProcedure + .input(z.object({ id: z.number(), actif: z.boolean() })) + .mutation(async ({ input }) => { + await db.updateRappel({ id: input.id, actif: input.actif }); + return { success: true }; + }), + }), + emailConfig: router({ get: adminProcedure.query(async () => { return db.getActiveEmailConfig(); diff --git a/todo.md b/todo.md index 9520a9d..9adeade 100644 --- a/todo.md +++ b/todo.md @@ -274,3 +274,11 @@ - [x] Ajouter les imports CalendarDays et Bell - [x] Redémarrer le serveur - [x] Tester l'accès aux pages calendrier et rappels + +## Vérification des trois fonctionnalités principales + +- [x] Vérifier que CapacityProgressBar est bien utilisé dans AdminSequences +- [x] Vérifier que la page AdminCalendrier existe et est accessible +- [x] Vérifier que la page AdminRappels existe et est accessible +- [x] Ajouter les procédures tRPC manquantes pour les rappels +- [x] Créer un rapport de vérification complet