45 lines
969 B
TypeScript
45 lines
969 B
TypeScript
interface GetAuditsParams {
|
|
limit?: number;
|
|
page?: number;
|
|
sort?: string;
|
|
filter?: string;
|
|
entity?: string;
|
|
signal?: AbortSignal;
|
|
}
|
|
|
|
export async function getAudits({
|
|
limit,
|
|
page,
|
|
sort,
|
|
filter,
|
|
entity,
|
|
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);
|
|
if (entity) params.set("Entity", entity);
|
|
|
|
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();
|
|
}
|