Uecko_ERP/modules/customers/src/web/shared/hooks/keys.ts
2026-04-03 21:49:59 +02:00

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;