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:
@@ -485,10 +485,15 @@ export async function getAllImportLogs(): Promise<ImportLog[]> {
|
||||
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();
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
// ============= LLM LOG OPERATIONS =============
|
||||
|
||||
@@ -1609,7 +1609,12 @@ export const appRouter = router({
|
||||
}),
|
||||
|
||||
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);
|
||||
}
|
||||
return { success: true };
|
||||
}),
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user