From d4c9bf635a88039262148afb65ad1be4e0f5cfad Mon Sep 17 00:00:00 2001 From: Manus Date: Wed, 17 Jun 2026 06:20:40 -0400 Subject: [PATCH] =?UTF-8?q?Checkpoint:=20Fix:=20la=20proc=C3=A9dure=20dele?= =?UTF-8?q?teAll=20des=20importLogs=20permet=20maintenant=20aux=20admins?= =?UTF-8?q?=20de=20supprimer=20tous=20les=20logs=20(pas=20seulement=20les?= =?UTF-8?q?=20leurs).=20Correction=20de=20deleteAllImportLogs=20dans=20db.?= =?UTF-8?q?ts=20pour=20accepter=20userId=3Dnull=20(suppression=20totale).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/db.ts | 9 +++++++-- server/routers.ts | 7 ++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/server/db.ts b/server/db.ts index f6de05a..de22243 100644 --- a/server/db.ts +++ b/server/db.ts @@ -485,10 +485,15 @@ export async function getAllImportLogs(): Promise { return db.select().from(importLogs).orderBy(desc(importLogs.importedAt)); } -export async function deleteAllImportLogs(userId: number): Promise { +export async function deleteAllImportLogs(userId: number | null): Promise { const db = await getDb(); if (!db) throw new Error("Database not available"); - await db.delete(importLogs).where(eq(importLogs.userId, userId)); + if (userId === null) { + // Admin : supprime tous les logs + await db.delete(importLogs); + } else { + await db.delete(importLogs).where(eq(importLogs.userId, userId)); + } } // ============= LLM LOG OPERATIONS ============= diff --git a/server/routers.ts b/server/routers.ts index 992bbea..3c1d00b 100644 --- a/server/routers.ts +++ b/server/routers.ts @@ -1609,7 +1609,12 @@ export const appRouter = router({ }), deleteAll: protectedProcedure.mutation(async ({ ctx }) => { - await deleteAllImportLogs(ctx.user.id); + // Les admins suppriment tous les logs, les utilisateurs standard suppriment les leurs + if (ctx.user.role === 'admin') { + await deleteAllImportLogs(null); + } else { + await deleteAllImportLogs(ctx.user.id); + } return { success: true }; }), }),