31 lines
993 B
TypeScript
31 lines
993 B
TypeScript
import type { CriteriaDTO } from "@erp/core";
|
|
import { INITIAL_PAGE_INDEX, INITIAL_PAGE_SIZE } from "@repo/rdx-criteria";
|
|
import type { QueryKey } from "@tanstack/react-query";
|
|
|
|
export const LIST_CUSTOMERS_QUERY_KEY_PREFIX = ["customers"] as const;
|
|
export const LIST_CUSTOMERS_QUERY_KEY = (criteria?: CriteriaDTO): QueryKey =>
|
|
[
|
|
...LIST_CUSTOMERS_QUERY_KEY_PREFIX,
|
|
{
|
|
pageNumber: criteria?.pageNumber ?? INITIAL_PAGE_INDEX,
|
|
pageSize: criteria?.pageSize ?? INITIAL_PAGE_SIZE,
|
|
q: criteria?.q ?? "",
|
|
filters: criteria?.filters ?? [],
|
|
orderBy: criteria?.orderBy ?? "",
|
|
order: criteria?.order ?? "",
|
|
},
|
|
] as const;
|
|
|
|
export const CUSTOMER_QUERY_KEY = (customerId?: string): QueryKey => [
|
|
"customers:detail",
|
|
{
|
|
customerId,
|
|
},
|
|
];
|
|
|
|
export const CUSTOMER_CREATE_KEY = ["customers", "create"] as const;
|
|
|
|
export const CUSTOMER_UPDATE_KEY = ["customers", "update"] as const;
|
|
|
|
export const CUSTOMER_DELETE_KEY = ["customers", "delete"] as const;
|