Files
LogisicsApp_Client/src/services/archive/archivedClient.service.ts

34 lines
1.2 KiB
TypeScript

import { get } from "../api";
import type {
ArchivedClientListResponse,
ArchivedClientResponse,
ArchivedClientOrdersResponse,
} from "@/src/types/client";
/** Building a query string to fetch archived clients with pagination */
function buildArchivedQuery(page: number, search: string): string {
return `?page=${page}&limit=10${search ? `&search=${encodeURIComponent(search)}` : ""}`;
}
export const archivedClientService = {
/** Fetching the archived client list, paginated */
getAll: (page: number, search: string, token: string | null) =>
get<ArchivedClientListResponse>(
`client/archived${buildArchivedQuery(page, search)}`,
token,
),
/** Get a single archived client by id (includes addresses) */
getById: (id: string, token: string | null) =>
get<ArchivedClientResponse>(`client/archived/${id}`, token),
/** Get soft-deleted orders belonging to a specific client */
getArchivedOrders: (clientId: string, page: number, token: string | null) =>
get<ArchivedClientOrdersResponse>(
`client/${clientId}/orders/archived?page=${page}&limit=10`,
token,
),
// NOTE: delete/restore intentionally left out for now — mirrors
// archivedUser.service.ts, see ticket follow-up.
};