feat(audit) : étend AuditLogFilters (multi-type/action, user/ip/appareil, perPage)

This commit is contained in:
2026-06-24 11:20:18 +02:00
parent 4c46b2b32c
commit 60fea783c0
+14 -8
View File
@@ -4,8 +4,13 @@ export type AuditLogFilters = {
employeeId?: number employeeId?: number
from?: string from?: string
to?: string to?: string
entityType?: string entityType?: string[]
action?: string[]
username?: string
ip?: string
device?: string
page?: number page?: number
perPage?: number
} }
export type AuditLogPage = { export type AuditLogPage = {
@@ -17,17 +22,18 @@ export type AuditLogPage = {
export const fetchAuditLogs = async (filters: AuditLogFilters = {}): Promise<AuditLogPage> => { export const fetchAuditLogs = async (filters: AuditLogFilters = {}): Promise<AuditLogPage> => {
const api = useApi() const api = useApi()
const params: Record<string, string> = {} const params: Record<string, string | string[]> = {}
if (filters.employeeId) params.employeeId = String(filters.employeeId) if (filters.employeeId) params.employeeId = String(filters.employeeId)
if (filters.from) params.from = filters.from if (filters.from) params.from = filters.from
if (filters.to) params.to = filters.to 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.page) params.page = String(filters.page)
if (filters.perPage) params.perPage = String(filters.perPage)
return api.get<AuditLogPage>( return api.get<AuditLogPage>('/audit-logs', params, { toast: false })
'/audit-logs',
params,
{ toast: false }
)
} }