interface GetAuditsParams { limit?: number; page?: number; sort?: string; filter?: string; signal?: AbortSignal; } export async function getAudits({ limit, page, sort, filter, signal, }: GetAuditsParams = {}) { const params = new URLSearchParams(); if (limit) params.set("limit", String(limit)); if (page) params.set("page", String(page)); if (sort) params.set("sort", sort); if (filter) params.set("filter", filter); const queryString = params.toString(); const response = await fetch( `/api/dashboard/audits${queryString ? `?${queryString}` : ""}`, { method: "GET", cache: "no-store", signal, } ); if (!response.ok) { const errorData = await response .json() .catch(() => ({ message: "Unknown error" })); throw new Error(errorData.message || "Failed to fetch audits"); } return response.json(); }