Checkpoint: Autoriser les formateurs à accéder aux exports PDF/Excel et aux feuilles de présence : remplacement de adminProcedure par protectedProcedure pour les trois procédures exportExcel, exportPDF et exportFeuillePresence

This commit is contained in:
Manus
2026-01-25 05:28:18 -05:00
parent 3c6f3eb741
commit 60aeee71c7
2 changed files with 10 additions and 3 deletions

View File

@@ -1024,7 +1024,7 @@ export const appRouter = router({
return await generateEmailPreview(input);
}),
exportExcel: adminProcedure.input(z.object({ sequenceId: z.number() })).mutation(async ({ input }) => {
exportExcel: protectedProcedure.input(z.object({ sequenceId: z.number() })).mutation(async ({ input }) => {
const sequence = await db.getSequenceById(input.sequenceId);
if (!sequence) throw new TRPCError({ code: 'NOT_FOUND', message: 'Séquence introuvable' });
@@ -1065,7 +1065,7 @@ export const appRouter = router({
};
}),
exportPDF: adminProcedure.input(z.object({ sequenceId: z.number() })).mutation(async ({ input }) => {
exportPDF: protectedProcedure.input(z.object({ sequenceId: z.number() })).mutation(async ({ input }) => {
const sequence = await db.getSequenceById(input.sequenceId);
if (!sequence) throw new TRPCError({ code: 'NOT_FOUND', message: 'Séquence introuvable' });
@@ -1106,7 +1106,7 @@ export const appRouter = router({
};
}),
exportFeuillePresence: adminProcedure.input(z.object({ sequenceId: z.number() })).mutation(async ({ input }) => {
exportFeuillePresence: protectedProcedure.input(z.object({ sequenceId: z.number() })).mutation(async ({ input }) => {
const sequence = await db.getSequenceById(input.sequenceId);
if (!sequence) throw new TRPCError({ code: 'NOT_FOUND', message: 'Séquence introuvable' });