@simpleapps-com/augur-hooks 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,312 @@
1
+ // src/queries/item-price.ts
2
+ import { CACHE_CONFIG } from "@simpleapps-com/augur-utils";
3
+ var PRICE_CACHE_OPTIONS = {
4
+ ...CACHE_CONFIG.SEMI_STATIC,
5
+ refetchOnReconnect: true,
6
+ refetchOnWindowFocus: false,
7
+ meta: { persist: true }
8
+ };
9
+ var getItemPriceKey = (itemId, customerId, quantity = 1) => {
10
+ return ["price", itemId?.toUpperCase() || "", customerId, quantity];
11
+ };
12
+ var getItemPriceOptions = (api, itemId, customerId, quantity = 1) => ({
13
+ queryKey: getItemPriceKey(itemId, customerId, quantity),
14
+ queryFn: async () => {
15
+ const response = await api.pricing.priceEngine.get({
16
+ itemId: itemId?.toUpperCase() || "",
17
+ customerId: Number(customerId),
18
+ quantity
19
+ });
20
+ return response.data;
21
+ },
22
+ ...PRICE_CACHE_OPTIONS
23
+ });
24
+
25
+ // src/queries/inv-mast-doc.ts
26
+ import { CACHE_CONFIG as CACHE_CONFIG2 } from "@simpleapps-com/augur-utils";
27
+ var INV_MAST_DOC_CACHE_OPTIONS = CACHE_CONFIG2.STATIC;
28
+ var getInvMastDocKey = (invMastUid, itemId, includePricing) => {
29
+ return [
30
+ "invMastDoc",
31
+ invMastUid,
32
+ itemId.toUpperCase(),
33
+ includePricing
34
+ ];
35
+ };
36
+ var getInvMastDocOptions = (api, invMastUid, itemId, includePricing) => ({
37
+ queryKey: getInvMastDocKey(invMastUid, itemId, includePricing),
38
+ queryFn: async () => {
39
+ const response = await api.items.invMast.doc.list(invMastUid, {
40
+ includePricing
41
+ });
42
+ if (!response.data) throw new Error("Item not found");
43
+ return response.data;
44
+ },
45
+ ...INV_MAST_DOC_CACHE_OPTIONS
46
+ });
47
+
48
+ // src/queries/item-category.ts
49
+ import { CACHE_CONFIG as CACHE_CONFIG3 } from "@simpleapps-com/augur-utils";
50
+ var CATEGORY_CACHE_OPTIONS = CACHE_CONFIG3.STATIC;
51
+ var getItemCategoryKey = (itemCategoryUid, apiOptions) => {
52
+ return ["itemCategory", itemCategoryUid, apiOptions];
53
+ };
54
+ var getItemCategoryOptions = (api, itemCategoryUid, apiOptions) => ({
55
+ queryKey: getItemCategoryKey(itemCategoryUid, apiOptions),
56
+ queryFn: async () => {
57
+ const response = await api.items.itemCategory.get(
58
+ itemCategoryUid,
59
+ apiOptions
60
+ );
61
+ if (!response.data) throw new Error("Item category not found");
62
+ return response.data;
63
+ },
64
+ ...CATEGORY_CACHE_OPTIONS
65
+ });
66
+
67
+ // src/queries/inv-mast.ts
68
+ import { CACHE_CONFIG as CACHE_CONFIG4 } from "@simpleapps-com/augur-utils";
69
+ var INV_MAST_CACHE_OPTIONS = CACHE_CONFIG4.STATIC;
70
+ var getInvMastKey = (invMastUid, itemId) => {
71
+ return ["invMast", invMastUid, itemId.toUpperCase()];
72
+ };
73
+ var getInvMastOptions = (api, invMastUid, itemId) => ({
74
+ queryKey: getInvMastKey(invMastUid, itemId),
75
+ queryFn: async () => {
76
+ const response = await api.items.invMast.get(invMastUid);
77
+ if (!response.data) throw new Error("Item not found");
78
+ return response.data;
79
+ },
80
+ ...INV_MAST_CACHE_OPTIONS
81
+ });
82
+
83
+ // src/queries/inv-mast-stock.ts
84
+ import { CACHE_CONFIG as CACHE_CONFIG5 } from "@simpleapps-com/augur-utils";
85
+ var getInvMastStockKey = (invMastUid) => {
86
+ return ["invMastStock", invMastUid];
87
+ };
88
+ var getInvMastStockOptions = (api, invMastUid) => ({
89
+ queryKey: getInvMastStockKey(invMastUid),
90
+ queryFn: async () => {
91
+ const response = await api.items.invMast.stock.list(Number(invMastUid));
92
+ const stockData = response.data?.stockData ?? [];
93
+ return stockData.reduce(
94
+ (qty, stock) => qty + stock.qtyOnHand,
95
+ 0
96
+ );
97
+ },
98
+ ...CACHE_CONFIG5.SEMI_STATIC
99
+ });
100
+
101
+ // src/queries/product-category.ts
102
+ import { CACHE_CONFIG as CACHE_CONFIG6 } from "@simpleapps-com/augur-utils";
103
+ var getProductCategoryKey = (itemCategoryUid) => {
104
+ return ["productCategory", itemCategoryUid];
105
+ };
106
+ var getProductCategoryOptions = (api, itemCategoryUid) => ({
107
+ queryKey: getProductCategoryKey(itemCategoryUid),
108
+ queryFn: async () => {
109
+ const response = await api.items.itemCategory.get(
110
+ Number(itemCategoryUid)
111
+ );
112
+ return response.data;
113
+ },
114
+ ...CACHE_CONFIG6.STATIC
115
+ });
116
+
117
+ // src/queries/item-details.ts
118
+ import { CACHE_CONFIG as CACHE_CONFIG7 } from "@simpleapps-com/augur-utils";
119
+ var getItemDetailsKey = (itemId) => {
120
+ return ["itemDetails", itemId];
121
+ };
122
+ var getItemDetailsOptions = (api, itemId) => ({
123
+ queryKey: getItemDetailsKey(itemId),
124
+ queryFn: async () => {
125
+ const response = await api.items.invMast.doc.list(Number(itemId));
126
+ if (!response.data) throw new Error("Item not found");
127
+ return response.data;
128
+ },
129
+ ...CACHE_CONFIG7.STATIC
130
+ });
131
+
132
+ // src/queries/item-attributes.ts
133
+ import { CACHE_CONFIG as CACHE_CONFIG8 } from "@simpleapps-com/augur-utils";
134
+ var getItemAttributesKey = (itemCategoryUid) => {
135
+ return ["itemAttributes", itemCategoryUid];
136
+ };
137
+ var getItemAttributesOptions = (api, itemCategoryUid) => ({
138
+ queryKey: getItemAttributesKey(itemCategoryUid),
139
+ queryFn: async () => {
140
+ const response = await api.openSearch.itemSearch.attributes.list({
141
+ q: "",
142
+ searchType: "query",
143
+ classId5List: String(itemCategoryUid)
144
+ });
145
+ return response.data;
146
+ },
147
+ ...CACHE_CONFIG8.STATIC
148
+ });
149
+
150
+ // src/queries/product-search.ts
151
+ import { CACHE_CONFIG as CACHE_CONFIG9 } from "@simpleapps-com/augur-utils";
152
+ var getProductSearchKey = (pageData) => {
153
+ return [
154
+ "productSearch",
155
+ pageData.q,
156
+ pageData.limit,
157
+ pageData.offset,
158
+ pageData.sortBy,
159
+ pageData.itemCategoryUid
160
+ ];
161
+ };
162
+ var getProductSearchOptions = (api, pageData) => ({
163
+ queryKey: getProductSearchKey(pageData),
164
+ queryFn: async () => {
165
+ const response = await api.openSearch.itemSearch.list({
166
+ q: pageData.q,
167
+ searchType: "query",
168
+ size: pageData.limit,
169
+ from: pageData.offset,
170
+ classId5List: pageData.itemCategoryUid ? String(pageData.itemCategoryUid) : void 0,
171
+ filters: pageData.filters ? JSON.stringify(pageData.filters) : void 0
172
+ });
173
+ return response.data;
174
+ },
175
+ ...CACHE_CONFIG9.SEMI_STATIC
176
+ });
177
+
178
+ // src/queries/search-suggestions.ts
179
+ import { CACHE_CONFIG as CACHE_CONFIG10 } from "@simpleapps-com/augur-utils";
180
+ var SEARCH_SUGGESTIONS_CACHE_OPTIONS = CACHE_CONFIG10.STATIC;
181
+ var getSearchSuggestionsKey = (query, limit, offset) => {
182
+ return ["searchSuggestions", query, limit, offset];
183
+ };
184
+ var getSearchSuggestionsOptions = (api, query, limit = 10, offset = 0) => ({
185
+ queryKey: getSearchSuggestionsKey(query, limit, offset),
186
+ queryFn: async () => {
187
+ const response = await api.openSearch.suggestions.suggest.list({
188
+ q: query
189
+ });
190
+ return response.data;
191
+ },
192
+ ...SEARCH_SUGGESTIONS_CACHE_OPTIONS
193
+ });
194
+
195
+ // src/queries/cart-pricing.ts
196
+ function getCartPricingQueryOptions(api, cartLines, customerId) {
197
+ return cartLines.map((line) => ({
198
+ ...getItemPriceOptions(api, line.itemId, customerId, line.quantity),
199
+ enabled: !!customerId && !!line.itemId
200
+ }));
201
+ }
202
+
203
+ // src/queries/category-items-infinite.ts
204
+ import {
205
+ CACHE_CONFIG as CACHE_CONFIG11
206
+ } from "@simpleapps-com/augur-utils";
207
+ var getCategoryItemsInfiniteKey = (itemCategoryUid, itemsFilters) => {
208
+ return [
209
+ "categoryItemsInfinite",
210
+ itemCategoryUid,
211
+ JSON.stringify(itemsFilters)
212
+ ];
213
+ };
214
+ var getCategoryItemsInfiniteOptions = (api, itemCategoryUid, itemsFilters) => ({
215
+ queryKey: getCategoryItemsInfiniteKey(itemCategoryUid, itemsFilters),
216
+ queryFn: async ({
217
+ pageParam = 0
218
+ }) => {
219
+ const response = await api.openSearch.itemSearch.list({
220
+ q: itemsFilters.q || "",
221
+ searchType: "query",
222
+ size: itemsFilters.limit,
223
+ from: pageParam,
224
+ classId5List: String(itemCategoryUid),
225
+ filters: itemsFilters.filters?.length ? JSON.stringify(itemsFilters.filters) : void 0
226
+ });
227
+ const items = response.data?.items ?? [];
228
+ const total = response.data?.totalResults ?? 0;
229
+ const nextOffset = pageParam + itemsFilters.limit;
230
+ return {
231
+ data: items,
232
+ total,
233
+ nextCursor: nextOffset < total ? nextOffset : void 0
234
+ };
235
+ },
236
+ initialPageParam: 0,
237
+ getNextPageParam: (lastPage) => lastPage.nextCursor,
238
+ ...CACHE_CONFIG11.SEMI_STATIC
239
+ });
240
+
241
+ // src/queries/item-search-infinite.ts
242
+ import {
243
+ CACHE_CONFIG as CACHE_CONFIG12
244
+ } from "@simpleapps-com/augur-utils";
245
+ var getItemSearchInfiniteKey = (itemsFilters, itemCategoryUid) => {
246
+ return [
247
+ "itemSearchInfinite",
248
+ JSON.stringify(itemsFilters),
249
+ itemCategoryUid
250
+ ];
251
+ };
252
+ var getItemSearchInfiniteOptions = (api, itemsFilters, itemCategoryUid) => ({
253
+ queryKey: getItemSearchInfiniteKey(itemsFilters, itemCategoryUid),
254
+ queryFn: async ({
255
+ pageParam = 0
256
+ }) => {
257
+ const response = await api.openSearch.itemSearch.list({
258
+ q: itemsFilters.q,
259
+ searchType: "query",
260
+ size: itemsFilters.limit,
261
+ from: pageParam,
262
+ classId5List: itemCategoryUid ? String(itemCategoryUid) : void 0,
263
+ filters: itemsFilters.filters?.length ? JSON.stringify(itemsFilters.filters) : void 0
264
+ });
265
+ const items = response.data?.items ?? [];
266
+ const total = response.data?.totalResults ?? 0;
267
+ const nextOffset = pageParam + itemsFilters.limit;
268
+ return {
269
+ data: items,
270
+ total,
271
+ nextCursor: nextOffset < total ? nextOffset : void 0
272
+ };
273
+ },
274
+ initialPageParam: 0,
275
+ getNextPageParam: (lastPage) => lastPage.nextCursor,
276
+ ...CACHE_CONFIG12.SEMI_STATIC,
277
+ meta: { persist: true }
278
+ });
279
+
280
+ export {
281
+ PRICE_CACHE_OPTIONS,
282
+ getItemPriceKey,
283
+ getItemPriceOptions,
284
+ INV_MAST_DOC_CACHE_OPTIONS,
285
+ getInvMastDocKey,
286
+ getInvMastDocOptions,
287
+ CATEGORY_CACHE_OPTIONS,
288
+ getItemCategoryKey,
289
+ getItemCategoryOptions,
290
+ INV_MAST_CACHE_OPTIONS,
291
+ getInvMastKey,
292
+ getInvMastOptions,
293
+ getInvMastStockKey,
294
+ getInvMastStockOptions,
295
+ getProductCategoryKey,
296
+ getProductCategoryOptions,
297
+ getItemDetailsKey,
298
+ getItemDetailsOptions,
299
+ getItemAttributesKey,
300
+ getItemAttributesOptions,
301
+ getProductSearchKey,
302
+ getProductSearchOptions,
303
+ SEARCH_SUGGESTIONS_CACHE_OPTIONS,
304
+ getSearchSuggestionsKey,
305
+ getSearchSuggestionsOptions,
306
+ getCartPricingQueryOptions,
307
+ getCategoryItemsInfiniteKey,
308
+ getCategoryItemsInfiniteOptions,
309
+ getItemSearchInfiniteKey,
310
+ getItemSearchInfiniteOptions
311
+ };
312
+ //# sourceMappingURL=chunk-DS2ECDHJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/queries/item-price.ts","../src/queries/inv-mast-doc.ts","../src/queries/item-category.ts","../src/queries/inv-mast.ts","../src/queries/inv-mast-stock.ts","../src/queries/product-category.ts","../src/queries/item-details.ts","../src/queries/item-attributes.ts","../src/queries/product-search.ts","../src/queries/search-suggestions.ts","../src/queries/cart-pricing.ts","../src/queries/category-items-infinite.ts","../src/queries/item-search-infinite.ts"],"sourcesContent":["import { CACHE_CONFIG, type TPriceData } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const PRICE_CACHE_OPTIONS = {\n ...CACHE_CONFIG.SEMI_STATIC,\n refetchOnReconnect: true,\n refetchOnWindowFocus: false,\n meta: { persist: true },\n} as const;\n\n/**\n * Generates a consistent query key for item price queries.\n * Usable in both client hooks and server-side prefetch.\n */\nexport const getItemPriceKey = (\n itemId: string | undefined,\n customerId: string | number | undefined,\n quantity: number = 1,\n) => {\n return [\"price\", itemId?.toUpperCase() || \"\", customerId, quantity] as const;\n};\n\n/**\n * Query options for item price. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getItemPriceOptions = (\n api: AugurApiClient,\n itemId: string | undefined,\n customerId: string | number | undefined,\n quantity: number = 1,\n) => ({\n queryKey: getItemPriceKey(itemId, customerId, quantity),\n queryFn: async (): Promise<TPriceData> => {\n const response = await api.pricing.priceEngine.get({\n itemId: itemId?.toUpperCase() || \"\",\n customerId: Number(customerId),\n quantity,\n });\n return response.data;\n },\n ...PRICE_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TInvMastDoc } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const INV_MAST_DOC_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\n/**\n * Generates a consistent query key for inv mast doc queries.\n * Usable in both client hooks and server-side prefetch.\n */\nexport const getInvMastDocKey = (\n invMastUid: number,\n itemId: string,\n includePricing: \"Y\" | \"N\",\n) => {\n return [\n \"invMastDoc\",\n invMastUid,\n itemId.toUpperCase(),\n includePricing,\n ] as const;\n};\n\n/**\n * Query options for inv mast doc. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getInvMastDocOptions = (\n api: AugurApiClient,\n invMastUid: number,\n itemId: string,\n includePricing: \"Y\" | \"N\",\n) => ({\n queryKey: getInvMastDocKey(invMastUid, itemId, includePricing),\n queryFn: async (): Promise<TInvMastDoc> => {\n const response = await api.items.invMast.doc.list(invMastUid, {\n includePricing,\n });\n if (!response.data) throw new Error(\"Item not found\");\n return response.data;\n },\n ...INV_MAST_DOC_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TCategory } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { GetItemCategoryApiOptions } from \"../types\";\n\nexport const CATEGORY_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\ntype ItemCategoryQueryKey = readonly [\n \"itemCategory\",\n number,\n GetItemCategoryApiOptions | undefined,\n];\n\n/**\n * Generates a consistent query key for item category queries.\n * Usable in both client hooks and server-side prefetch.\n */\nexport const getItemCategoryKey = (\n itemCategoryUid: number,\n apiOptions?: GetItemCategoryApiOptions,\n): ItemCategoryQueryKey => {\n return [\"itemCategory\", itemCategoryUid, apiOptions] as const;\n};\n\n/**\n * Query options for item category. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getItemCategoryOptions = (\n api: AugurApiClient,\n itemCategoryUid: number,\n apiOptions?: GetItemCategoryApiOptions,\n) => ({\n queryKey: getItemCategoryKey(itemCategoryUid, apiOptions),\n queryFn: async (): Promise<TCategory> => {\n const response = await api.items.itemCategory.get(\n itemCategoryUid,\n apiOptions,\n );\n if (!response.data) throw new Error(\"Item category not found\");\n return response.data;\n },\n ...CATEGORY_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TItemDetails } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const INV_MAST_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\nexport const getInvMastKey = (invMastUid: number, itemId: string) => {\n return [\"invMast\", invMastUid, itemId.toUpperCase()] as const;\n};\n\nexport const getInvMastOptions = (\n api: AugurApiClient,\n invMastUid: number,\n itemId: string,\n) => ({\n queryKey: getInvMastKey(invMastUid, itemId),\n queryFn: async (): Promise<TItemDetails> => {\n const response = await api.items.invMast.get(invMastUid);\n if (!response.data) throw new Error(\"Item not found\");\n return response.data;\n },\n ...INV_MAST_CACHE_OPTIONS,\n});\n","import { CACHE_CONFIG, type TStockData } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const getInvMastStockKey = (invMastUid: number | string) => {\n return [\"invMastStock\", invMastUid] as const;\n};\n\nexport const getInvMastStockOptions = (\n api: AugurApiClient,\n invMastUid: number | string,\n) => ({\n queryKey: getInvMastStockKey(invMastUid),\n queryFn: async (): Promise<number> => {\n const response = await api.items.invMast.stock.list(Number(invMastUid));\n const stockData: TStockData[] = response.data?.stockData ?? [];\n return stockData.reduce(\n (qty: number, stock: TStockData) => qty + stock.qtyOnHand,\n 0,\n );\n },\n ...CACHE_CONFIG.SEMI_STATIC,\n});\n","import { CACHE_CONFIG, type TProductCategory } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\ntype ProductCategoryResponse = {\n itemCategoryDesc: string;\n childrenTotal: number;\n children: TProductCategory[];\n categoryImage: string | null;\n};\n\nexport const getProductCategoryKey = (\n itemCategoryUid: number | string | null,\n) => {\n return [\"productCategory\", itemCategoryUid] as const;\n};\n\nexport const getProductCategoryOptions = (\n api: AugurApiClient,\n itemCategoryUid: number | string,\n) => ({\n queryKey: getProductCategoryKey(itemCategoryUid),\n queryFn: async (): Promise<ProductCategoryResponse> => {\n const response = await api.items.itemCategory.get(\n Number(itemCategoryUid),\n );\n return response.data;\n },\n ...CACHE_CONFIG.STATIC,\n});\n","import { CACHE_CONFIG, type TItemDetails } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const getItemDetailsKey = (itemId: number | string) => {\n return [\"itemDetails\", itemId] as const;\n};\n\nexport const getItemDetailsOptions = (\n api: AugurApiClient,\n itemId: number | string,\n) => ({\n queryKey: getItemDetailsKey(itemId),\n queryFn: async (): Promise<TItemDetails> => {\n const response = await api.items.invMast.doc.list(Number(itemId));\n if (!response.data) throw new Error(\"Item not found\");\n return response.data;\n },\n ...CACHE_CONFIG.STATIC,\n});\n","import { CACHE_CONFIG } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\n\nexport const getItemAttributesKey = (\n itemCategoryUid: number | string | null,\n) => {\n return [\"itemAttributes\", itemCategoryUid] as const;\n};\n\nexport const getItemAttributesOptions = (\n api: AugurApiClient,\n itemCategoryUid: number | string,\n) => ({\n queryKey: getItemAttributesKey(itemCategoryUid),\n queryFn: async () => {\n const response = await api.openSearch.itemSearch.attributes.list({\n q: \"\",\n searchType: \"query\",\n classId5List: String(itemCategoryUid),\n });\n return response.data;\n },\n ...CACHE_CONFIG.STATIC,\n});\n","import { CACHE_CONFIG, type TProductItem } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { PageData } from \"../types\";\n\ntype ProductSearchResponse = {\n items: TProductItem[];\n totalResults: number;\n};\n\n/**\n * Generates a consistent query key for product search queries.\n */\nexport const getProductSearchKey = (pageData: PageData) => {\n return [\n \"productSearch\",\n pageData.q,\n pageData.limit,\n pageData.offset,\n pageData.sortBy,\n pageData.itemCategoryUid,\n ] as const;\n};\n\n/**\n * Query options for product search. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getProductSearchOptions = (\n api: AugurApiClient,\n pageData: PageData,\n) => ({\n queryKey: getProductSearchKey(pageData),\n queryFn: async (): Promise<ProductSearchResponse> => {\n const response = await api.openSearch.itemSearch.list({\n q: pageData.q,\n searchType: \"query\",\n size: pageData.limit,\n from: pageData.offset,\n classId5List: pageData.itemCategoryUid\n ? String(pageData.itemCategoryUid)\n : undefined,\n filters: pageData.filters\n ? JSON.stringify(pageData.filters)\n : undefined,\n });\n return response.data;\n },\n ...CACHE_CONFIG.SEMI_STATIC,\n});\n","import { CACHE_CONFIG } from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { SearchSuggestionsResponse } from \"../types\";\n\nexport const SEARCH_SUGGESTIONS_CACHE_OPTIONS = CACHE_CONFIG.STATIC;\n\n/**\n * Generates a consistent query key for search suggestion queries.\n */\nexport const getSearchSuggestionsKey = (\n query: string,\n limit: number,\n offset: number,\n) => {\n return [\"searchSuggestions\", query, limit, offset] as const;\n};\n\n/**\n * Query options for search suggestions. Accepts the SDK instance so it works\n * in both client (via provider) and server (via direct construction).\n */\nexport const getSearchSuggestionsOptions = (\n api: AugurApiClient,\n query: string,\n limit: number = 10,\n offset: number = 0,\n) => ({\n queryKey: getSearchSuggestionsKey(query, limit, offset),\n queryFn: async (): Promise<SearchSuggestionsResponse> => {\n const response = await api.openSearch.suggestions.suggest.list({\n q: query,\n });\n return response.data;\n },\n ...SEARCH_SUGGESTIONS_CACHE_OPTIONS,\n});\n","import type { AugurApiClient } from \"../provider\";\nimport { getItemPriceOptions } from \"./item-price\";\n\n/**\n * Get cart pricing query options for prefetching or parent components.\n */\nexport function getCartPricingQueryOptions(\n api: AugurApiClient,\n cartLines: Array<{ itemId: string; quantity: number }>,\n customerId: string | number | undefined,\n) {\n return cartLines.map((line) => ({\n ...getItemPriceOptions(api, line.itemId, customerId, line.quantity),\n enabled: !!customerId && !!line.itemId,\n }));\n}\n","import {\n CACHE_CONFIG,\n type TItemsFilters,\n type TProductItem,\n} from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { InfiniteScrollPage } from \"../callbacks\";\n\nexport const getCategoryItemsInfiniteKey = (\n itemCategoryUid: number,\n itemsFilters: TItemsFilters,\n) => {\n return [\n \"categoryItemsInfinite\",\n itemCategoryUid,\n JSON.stringify(itemsFilters),\n ] as const;\n};\n\n/**\n * Full infinite query options for category items.\n * Usable for server-side prefetch with `queryClient.prefetchInfiniteQuery()`.\n */\nexport const getCategoryItemsInfiniteOptions = (\n api: AugurApiClient,\n itemCategoryUid: number,\n itemsFilters: TItemsFilters,\n) => ({\n queryKey: getCategoryItemsInfiniteKey(itemCategoryUid, itemsFilters),\n queryFn: async ({\n pageParam = 0,\n }: {\n pageParam?: unknown;\n }): Promise<InfiniteScrollPage> => {\n const response = await api.openSearch.itemSearch.list({\n q: itemsFilters.q || \"\",\n searchType: \"query\",\n size: itemsFilters.limit,\n from: pageParam as number,\n classId5List: String(itemCategoryUid),\n filters: itemsFilters.filters?.length\n ? JSON.stringify(itemsFilters.filters)\n : undefined,\n });\n const items: TProductItem[] = response.data?.items ?? [];\n const total: number = response.data?.totalResults ?? 0;\n const nextOffset = (pageParam as number) + itemsFilters.limit;\n return {\n data: items,\n total,\n nextCursor: nextOffset < total ? nextOffset : undefined,\n };\n },\n initialPageParam: 0,\n getNextPageParam: (lastPage: InfiniteScrollPage) => lastPage.nextCursor,\n ...CACHE_CONFIG.SEMI_STATIC,\n});\n","import {\n CACHE_CONFIG,\n type TItemsFilters,\n type TProductItem,\n} from \"@simpleapps-com/augur-utils\";\nimport type { AugurApiClient } from \"../provider\";\nimport type { InfiniteScrollPage } from \"../callbacks\";\n\nexport const getItemSearchInfiniteKey = (\n itemsFilters: TItemsFilters,\n itemCategoryUid?: number | string,\n) => {\n return [\n \"itemSearchInfinite\",\n JSON.stringify(itemsFilters),\n itemCategoryUid,\n ] as const;\n};\n\n/**\n * Full infinite query options for item search.\n * Usable for server-side prefetch with `queryClient.prefetchInfiniteQuery()`.\n */\nexport const getItemSearchInfiniteOptions = (\n api: AugurApiClient,\n itemsFilters: TItemsFilters,\n itemCategoryUid?: number | string,\n) => ({\n queryKey: getItemSearchInfiniteKey(itemsFilters, itemCategoryUid),\n queryFn: async ({\n pageParam = 0,\n }: {\n pageParam?: unknown;\n }): Promise<InfiniteScrollPage> => {\n const response = await api.openSearch.itemSearch.list({\n q: itemsFilters.q,\n searchType: \"query\",\n size: itemsFilters.limit,\n from: pageParam as number,\n classId5List: itemCategoryUid ? String(itemCategoryUid) : undefined,\n filters: itemsFilters.filters?.length\n ? JSON.stringify(itemsFilters.filters)\n : undefined,\n });\n const items: TProductItem[] = response.data?.items ?? [];\n const total: number = response.data?.totalResults ?? 0;\n const nextOffset = (pageParam as number) + itemsFilters.limit;\n return {\n data: items,\n total,\n nextCursor: nextOffset < total ? nextOffset : undefined,\n };\n },\n initialPageParam: 0,\n getNextPageParam: (lastPage: InfiniteScrollPage) => lastPage.nextCursor,\n ...CACHE_CONFIG.SEMI_STATIC,\n meta: { persist: true },\n});\n"],"mappings":"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","names":["CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG","CACHE_CONFIG"]}
@@ -0,0 +1,312 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/queries/item-price.ts
2
+ var _augurutils = require('@simpleapps-com/augur-utils');
3
+ var PRICE_CACHE_OPTIONS = {
4
+ ..._augurutils.CACHE_CONFIG.SEMI_STATIC,
5
+ refetchOnReconnect: true,
6
+ refetchOnWindowFocus: false,
7
+ meta: { persist: true }
8
+ };
9
+ var getItemPriceKey = (itemId, customerId, quantity = 1) => {
10
+ return ["price", _optionalChain([itemId, 'optionalAccess', _ => _.toUpperCase, 'call', _2 => _2()]) || "", customerId, quantity];
11
+ };
12
+ var getItemPriceOptions = (api, itemId, customerId, quantity = 1) => ({
13
+ queryKey: getItemPriceKey(itemId, customerId, quantity),
14
+ queryFn: async () => {
15
+ const response = await api.pricing.priceEngine.get({
16
+ itemId: _optionalChain([itemId, 'optionalAccess', _3 => _3.toUpperCase, 'call', _4 => _4()]) || "",
17
+ customerId: Number(customerId),
18
+ quantity
19
+ });
20
+ return response.data;
21
+ },
22
+ ...PRICE_CACHE_OPTIONS
23
+ });
24
+
25
+ // src/queries/inv-mast-doc.ts
26
+
27
+ var INV_MAST_DOC_CACHE_OPTIONS = _augurutils.CACHE_CONFIG.STATIC;
28
+ var getInvMastDocKey = (invMastUid, itemId, includePricing) => {
29
+ return [
30
+ "invMastDoc",
31
+ invMastUid,
32
+ itemId.toUpperCase(),
33
+ includePricing
34
+ ];
35
+ };
36
+ var getInvMastDocOptions = (api, invMastUid, itemId, includePricing) => ({
37
+ queryKey: getInvMastDocKey(invMastUid, itemId, includePricing),
38
+ queryFn: async () => {
39
+ const response = await api.items.invMast.doc.list(invMastUid, {
40
+ includePricing
41
+ });
42
+ if (!response.data) throw new Error("Item not found");
43
+ return response.data;
44
+ },
45
+ ...INV_MAST_DOC_CACHE_OPTIONS
46
+ });
47
+
48
+ // src/queries/item-category.ts
49
+
50
+ var CATEGORY_CACHE_OPTIONS = _augurutils.CACHE_CONFIG.STATIC;
51
+ var getItemCategoryKey = (itemCategoryUid, apiOptions) => {
52
+ return ["itemCategory", itemCategoryUid, apiOptions];
53
+ };
54
+ var getItemCategoryOptions = (api, itemCategoryUid, apiOptions) => ({
55
+ queryKey: getItemCategoryKey(itemCategoryUid, apiOptions),
56
+ queryFn: async () => {
57
+ const response = await api.items.itemCategory.get(
58
+ itemCategoryUid,
59
+ apiOptions
60
+ );
61
+ if (!response.data) throw new Error("Item category not found");
62
+ return response.data;
63
+ },
64
+ ...CATEGORY_CACHE_OPTIONS
65
+ });
66
+
67
+ // src/queries/inv-mast.ts
68
+
69
+ var INV_MAST_CACHE_OPTIONS = _augurutils.CACHE_CONFIG.STATIC;
70
+ var getInvMastKey = (invMastUid, itemId) => {
71
+ return ["invMast", invMastUid, itemId.toUpperCase()];
72
+ };
73
+ var getInvMastOptions = (api, invMastUid, itemId) => ({
74
+ queryKey: getInvMastKey(invMastUid, itemId),
75
+ queryFn: async () => {
76
+ const response = await api.items.invMast.get(invMastUid);
77
+ if (!response.data) throw new Error("Item not found");
78
+ return response.data;
79
+ },
80
+ ...INV_MAST_CACHE_OPTIONS
81
+ });
82
+
83
+ // src/queries/inv-mast-stock.ts
84
+
85
+ var getInvMastStockKey = (invMastUid) => {
86
+ return ["invMastStock", invMastUid];
87
+ };
88
+ var getInvMastStockOptions = (api, invMastUid) => ({
89
+ queryKey: getInvMastStockKey(invMastUid),
90
+ queryFn: async () => {
91
+ const response = await api.items.invMast.stock.list(Number(invMastUid));
92
+ const stockData = _nullishCoalesce(_optionalChain([response, 'access', _5 => _5.data, 'optionalAccess', _6 => _6.stockData]), () => ( []));
93
+ return stockData.reduce(
94
+ (qty, stock) => qty + stock.qtyOnHand,
95
+ 0
96
+ );
97
+ },
98
+ ..._augurutils.CACHE_CONFIG.SEMI_STATIC
99
+ });
100
+
101
+ // src/queries/product-category.ts
102
+
103
+ var getProductCategoryKey = (itemCategoryUid) => {
104
+ return ["productCategory", itemCategoryUid];
105
+ };
106
+ var getProductCategoryOptions = (api, itemCategoryUid) => ({
107
+ queryKey: getProductCategoryKey(itemCategoryUid),
108
+ queryFn: async () => {
109
+ const response = await api.items.itemCategory.get(
110
+ Number(itemCategoryUid)
111
+ );
112
+ return response.data;
113
+ },
114
+ ..._augurutils.CACHE_CONFIG.STATIC
115
+ });
116
+
117
+ // src/queries/item-details.ts
118
+
119
+ var getItemDetailsKey = (itemId) => {
120
+ return ["itemDetails", itemId];
121
+ };
122
+ var getItemDetailsOptions = (api, itemId) => ({
123
+ queryKey: getItemDetailsKey(itemId),
124
+ queryFn: async () => {
125
+ const response = await api.items.invMast.doc.list(Number(itemId));
126
+ if (!response.data) throw new Error("Item not found");
127
+ return response.data;
128
+ },
129
+ ..._augurutils.CACHE_CONFIG.STATIC
130
+ });
131
+
132
+ // src/queries/item-attributes.ts
133
+
134
+ var getItemAttributesKey = (itemCategoryUid) => {
135
+ return ["itemAttributes", itemCategoryUid];
136
+ };
137
+ var getItemAttributesOptions = (api, itemCategoryUid) => ({
138
+ queryKey: getItemAttributesKey(itemCategoryUid),
139
+ queryFn: async () => {
140
+ const response = await api.openSearch.itemSearch.attributes.list({
141
+ q: "",
142
+ searchType: "query",
143
+ classId5List: String(itemCategoryUid)
144
+ });
145
+ return response.data;
146
+ },
147
+ ..._augurutils.CACHE_CONFIG.STATIC
148
+ });
149
+
150
+ // src/queries/product-search.ts
151
+
152
+ var getProductSearchKey = (pageData) => {
153
+ return [
154
+ "productSearch",
155
+ pageData.q,
156
+ pageData.limit,
157
+ pageData.offset,
158
+ pageData.sortBy,
159
+ pageData.itemCategoryUid
160
+ ];
161
+ };
162
+ var getProductSearchOptions = (api, pageData) => ({
163
+ queryKey: getProductSearchKey(pageData),
164
+ queryFn: async () => {
165
+ const response = await api.openSearch.itemSearch.list({
166
+ q: pageData.q,
167
+ searchType: "query",
168
+ size: pageData.limit,
169
+ from: pageData.offset,
170
+ classId5List: pageData.itemCategoryUid ? String(pageData.itemCategoryUid) : void 0,
171
+ filters: pageData.filters ? JSON.stringify(pageData.filters) : void 0
172
+ });
173
+ return response.data;
174
+ },
175
+ ..._augurutils.CACHE_CONFIG.SEMI_STATIC
176
+ });
177
+
178
+ // src/queries/search-suggestions.ts
179
+
180
+ var SEARCH_SUGGESTIONS_CACHE_OPTIONS = _augurutils.CACHE_CONFIG.STATIC;
181
+ var getSearchSuggestionsKey = (query, limit, offset) => {
182
+ return ["searchSuggestions", query, limit, offset];
183
+ };
184
+ var getSearchSuggestionsOptions = (api, query, limit = 10, offset = 0) => ({
185
+ queryKey: getSearchSuggestionsKey(query, limit, offset),
186
+ queryFn: async () => {
187
+ const response = await api.openSearch.suggestions.suggest.list({
188
+ q: query
189
+ });
190
+ return response.data;
191
+ },
192
+ ...SEARCH_SUGGESTIONS_CACHE_OPTIONS
193
+ });
194
+
195
+ // src/queries/cart-pricing.ts
196
+ function getCartPricingQueryOptions(api, cartLines, customerId) {
197
+ return cartLines.map((line) => ({
198
+ ...getItemPriceOptions(api, line.itemId, customerId, line.quantity),
199
+ enabled: !!customerId && !!line.itemId
200
+ }));
201
+ }
202
+
203
+ // src/queries/category-items-infinite.ts
204
+
205
+
206
+
207
+ var getCategoryItemsInfiniteKey = (itemCategoryUid, itemsFilters) => {
208
+ return [
209
+ "categoryItemsInfinite",
210
+ itemCategoryUid,
211
+ JSON.stringify(itemsFilters)
212
+ ];
213
+ };
214
+ var getCategoryItemsInfiniteOptions = (api, itemCategoryUid, itemsFilters) => ({
215
+ queryKey: getCategoryItemsInfiniteKey(itemCategoryUid, itemsFilters),
216
+ queryFn: async ({
217
+ pageParam = 0
218
+ }) => {
219
+ const response = await api.openSearch.itemSearch.list({
220
+ q: itemsFilters.q || "",
221
+ searchType: "query",
222
+ size: itemsFilters.limit,
223
+ from: pageParam,
224
+ classId5List: String(itemCategoryUid),
225
+ filters: _optionalChain([itemsFilters, 'access', _7 => _7.filters, 'optionalAccess', _8 => _8.length]) ? JSON.stringify(itemsFilters.filters) : void 0
226
+ });
227
+ const items = _nullishCoalesce(_optionalChain([response, 'access', _9 => _9.data, 'optionalAccess', _10 => _10.items]), () => ( []));
228
+ const total = _nullishCoalesce(_optionalChain([response, 'access', _11 => _11.data, 'optionalAccess', _12 => _12.totalResults]), () => ( 0));
229
+ const nextOffset = pageParam + itemsFilters.limit;
230
+ return {
231
+ data: items,
232
+ total,
233
+ nextCursor: nextOffset < total ? nextOffset : void 0
234
+ };
235
+ },
236
+ initialPageParam: 0,
237
+ getNextPageParam: (lastPage) => lastPage.nextCursor,
238
+ ..._augurutils.CACHE_CONFIG.SEMI_STATIC
239
+ });
240
+
241
+ // src/queries/item-search-infinite.ts
242
+
243
+
244
+
245
+ var getItemSearchInfiniteKey = (itemsFilters, itemCategoryUid) => {
246
+ return [
247
+ "itemSearchInfinite",
248
+ JSON.stringify(itemsFilters),
249
+ itemCategoryUid
250
+ ];
251
+ };
252
+ var getItemSearchInfiniteOptions = (api, itemsFilters, itemCategoryUid) => ({
253
+ queryKey: getItemSearchInfiniteKey(itemsFilters, itemCategoryUid),
254
+ queryFn: async ({
255
+ pageParam = 0
256
+ }) => {
257
+ const response = await api.openSearch.itemSearch.list({
258
+ q: itemsFilters.q,
259
+ searchType: "query",
260
+ size: itemsFilters.limit,
261
+ from: pageParam,
262
+ classId5List: itemCategoryUid ? String(itemCategoryUid) : void 0,
263
+ filters: _optionalChain([itemsFilters, 'access', _13 => _13.filters, 'optionalAccess', _14 => _14.length]) ? JSON.stringify(itemsFilters.filters) : void 0
264
+ });
265
+ const items = _nullishCoalesce(_optionalChain([response, 'access', _15 => _15.data, 'optionalAccess', _16 => _16.items]), () => ( []));
266
+ const total = _nullishCoalesce(_optionalChain([response, 'access', _17 => _17.data, 'optionalAccess', _18 => _18.totalResults]), () => ( 0));
267
+ const nextOffset = pageParam + itemsFilters.limit;
268
+ return {
269
+ data: items,
270
+ total,
271
+ nextCursor: nextOffset < total ? nextOffset : void 0
272
+ };
273
+ },
274
+ initialPageParam: 0,
275
+ getNextPageParam: (lastPage) => lastPage.nextCursor,
276
+ ..._augurutils.CACHE_CONFIG.SEMI_STATIC,
277
+ meta: { persist: true }
278
+ });
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+ exports.PRICE_CACHE_OPTIONS = PRICE_CACHE_OPTIONS; exports.getItemPriceKey = getItemPriceKey; exports.getItemPriceOptions = getItemPriceOptions; exports.INV_MAST_DOC_CACHE_OPTIONS = INV_MAST_DOC_CACHE_OPTIONS; exports.getInvMastDocKey = getInvMastDocKey; exports.getInvMastDocOptions = getInvMastDocOptions; exports.CATEGORY_CACHE_OPTIONS = CATEGORY_CACHE_OPTIONS; exports.getItemCategoryKey = getItemCategoryKey; exports.getItemCategoryOptions = getItemCategoryOptions; exports.INV_MAST_CACHE_OPTIONS = INV_MAST_CACHE_OPTIONS; exports.getInvMastKey = getInvMastKey; exports.getInvMastOptions = getInvMastOptions; exports.getInvMastStockKey = getInvMastStockKey; exports.getInvMastStockOptions = getInvMastStockOptions; exports.getProductCategoryKey = getProductCategoryKey; exports.getProductCategoryOptions = getProductCategoryOptions; exports.getItemDetailsKey = getItemDetailsKey; exports.getItemDetailsOptions = getItemDetailsOptions; exports.getItemAttributesKey = getItemAttributesKey; exports.getItemAttributesOptions = getItemAttributesOptions; exports.getProductSearchKey = getProductSearchKey; exports.getProductSearchOptions = getProductSearchOptions; exports.SEARCH_SUGGESTIONS_CACHE_OPTIONS = SEARCH_SUGGESTIONS_CACHE_OPTIONS; exports.getSearchSuggestionsKey = getSearchSuggestionsKey; exports.getSearchSuggestionsOptions = getSearchSuggestionsOptions; exports.getCartPricingQueryOptions = getCartPricingQueryOptions; exports.getCategoryItemsInfiniteKey = getCategoryItemsInfiniteKey; exports.getCategoryItemsInfiniteOptions = getCategoryItemsInfiniteOptions; exports.getItemSearchInfiniteKey = getItemSearchInfiniteKey; exports.getItemSearchInfiniteOptions = getItemSearchInfiniteOptions;
312
+ //# sourceMappingURL=chunk-YSRBE3YI.cjs.map