Checkpoint: Fix: la procédure deleteAll des importLogs permet maintenant aux admins de supprimer tous les logs (pas seulement les leurs). Correction de deleteAllImportLogs dans db.ts pour accepter userId=null (suppression totale).

This commit is contained in:
Manus
2026-06-17 06:20:40 -04:00
parent f7d3f6d5b3
commit d4c9bf635a
2 changed files with 13 additions and 3 deletions

View File

@@ -485,10 +485,15 @@ export async function getAllImportLogs(): Promise<ImportLog[]> {
return db.select().from(importLogs).orderBy(desc(importLogs.importedAt)); return db.select().from(importLogs).orderBy(desc(importLogs.importedAt));
} }
export async function deleteAllImportLogs(userId: number): Promise<void> { export async function deleteAllImportLogs(userId: number | null): Promise<void> {
const db = await getDb(); const db = await getDb();
if (!db) throw new Error("Database not available"); if (!db) throw new Error("Database not available");
if (userId === null) {
// Admin : supprime tous les logs
await db.delete(importLogs);
} else {
await db.delete(importLogs).where(eq(importLogs.userId, userId)); await db.delete(importLogs).where(eq(importLogs.userId, userId));
}
} }
// ============= LLM LOG OPERATIONS ============= // ============= LLM LOG OPERATIONS =============

View File

@@ -1609,7 +1609,12 @@ export const appRouter = router({
}), }),
deleteAll: protectedProcedure.mutation(async ({ ctx }) => { deleteAll: protectedProcedure.mutation(async ({ ctx }) => {
// 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); await deleteAllImportLogs(ctx.user.id);
}
return { success: true }; return { success: true };
}), }),
}), }),