From 60fea783c025bc6eff92483c2af9e91c86a45add Mon Sep 17 00:00:00 2001 From: tristan Date: Wed, 24 Jun 2026 11:20:18 +0200 Subject: [PATCH] =?UTF-8?q?feat(audit)=20:=20=C3=A9tend=20AuditLogFilters?= =?UTF-8?q?=20(multi-type/action,=20user/ip/appareil,=20perPage)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/services/audit-logs.ts | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/frontend/services/audit-logs.ts b/frontend/services/audit-logs.ts index 6fd5f32..0bd03b1 100644 --- a/frontend/services/audit-logs.ts +++ b/frontend/services/audit-logs.ts @@ -4,8 +4,13 @@ export type AuditLogFilters = { employeeId?: number from?: string to?: string - entityType?: string + entityType?: string[] + action?: string[] + username?: string + ip?: string + device?: string page?: number + perPage?: number } export type AuditLogPage = { @@ -17,17 +22,18 @@ export type AuditLogPage = { export const fetchAuditLogs = async (filters: AuditLogFilters = {}): Promise => { const api = useApi() - const params: Record = {} + const params: Record = {} if (filters.employeeId) params.employeeId = String(filters.employeeId) if (filters.from) params.from = filters.from if (filters.to) params.to = filters.to - if (filters.entityType) params.entityType = filters.entityType + if (filters.entityType && filters.entityType.length > 0) params['entityType[]'] = filters.entityType + if (filters.action && filters.action.length > 0) params['action[]'] = filters.action + if (filters.username && filters.username.trim() !== '') params.username = filters.username.trim() + if (filters.ip && filters.ip.trim() !== '') params.ip = filters.ip.trim() + if (filters.device && filters.device.trim() !== '') params.device = filters.device.trim() if (filters.page) params.page = String(filters.page) + if (filters.perPage) params.perPage = String(filters.perPage) - return api.get( - '/audit-logs', - params, - { toast: false } - ) + return api.get('/audit-logs', params, { toast: false }) }