@instockng/api-client 1.0.0 → 1.0.1

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.
Files changed (86) hide show
  1. package/dist/backend-types.d.ts +10 -0
  2. package/dist/backend-types.js +10 -0
  3. package/dist/client.d.ts +20 -0
  4. package/dist/client.js +40 -0
  5. package/dist/fetchers/carts.d.ts +2330 -0
  6. package/dist/fetchers/carts.js +167 -0
  7. package/dist/fetchers/delivery-zones.d.ts +28 -0
  8. package/{src/fetchers/delivery-zones.ts → dist/fetchers/delivery-zones.js} +9 -12
  9. package/{src/fetchers/index.ts → dist/fetchers/index.d.ts} +0 -1
  10. package/dist/fetchers/index.js +21 -0
  11. package/dist/fetchers/orders.d.ts +282 -0
  12. package/dist/fetchers/orders.js +44 -0
  13. package/dist/fetchers/products.d.ts +384 -0
  14. package/dist/fetchers/products.js +42 -0
  15. package/dist/hooks/admin/abandoned-carts.d.ts +533 -0
  16. package/dist/hooks/admin/abandoned-carts.js +79 -0
  17. package/dist/hooks/admin/brands.d.ts +75 -0
  18. package/dist/hooks/admin/brands.js +103 -0
  19. package/dist/hooks/admin/customers.d.ts +277 -0
  20. package/dist/hooks/admin/customers.js +25 -0
  21. package/dist/hooks/admin/delivery-zones.d.ts +266 -0
  22. package/dist/hooks/admin/delivery-zones.js +168 -0
  23. package/dist/hooks/admin/discount-codes.d.ts +294 -0
  24. package/dist/hooks/admin/discount-codes.js +157 -0
  25. package/{src/hooks/admin/index.ts → dist/hooks/admin/index.d.ts} +0 -1
  26. package/dist/hooks/admin/index.js +16 -0
  27. package/dist/hooks/admin/inventory.d.ts +224 -0
  28. package/dist/hooks/admin/inventory.js +102 -0
  29. package/dist/hooks/admin/orders.d.ts +1375 -0
  30. package/dist/hooks/admin/orders.js +169 -0
  31. package/dist/hooks/admin/products.d.ts +372 -0
  32. package/dist/hooks/admin/products.js +84 -0
  33. package/dist/hooks/admin/stats.d.ts +276 -0
  34. package/dist/hooks/admin/stats.js +24 -0
  35. package/dist/hooks/admin/variants.d.ts +115 -0
  36. package/dist/hooks/admin/variants.js +121 -0
  37. package/dist/hooks/admin/warehouses.d.ts +276 -0
  38. package/dist/hooks/admin/warehouses.js +103 -0
  39. package/dist/hooks/public/carts.d.ts +2398 -0
  40. package/dist/hooks/public/carts.js +213 -0
  41. package/dist/hooks/public/delivery-zones.d.ts +34 -0
  42. package/{src/hooks/public/delivery-zones.ts → dist/hooks/public/delivery-zones.js} +6 -12
  43. package/{src/hooks/public/index.ts → dist/hooks/public/index.d.ts} +0 -1
  44. package/dist/hooks/public/index.js +9 -0
  45. package/dist/hooks/public/orders.d.ts +301 -0
  46. package/{src/hooks/public/orders.ts → dist/hooks/public/orders.js} +12 -28
  47. package/dist/hooks/public/products.d.ts +396 -0
  48. package/{src/hooks/public/products.ts → dist/hooks/public/products.js} +12 -22
  49. package/dist/hooks/use-query-unwrapped.d.ts +20 -0
  50. package/dist/hooks/use-query-unwrapped.js +22 -0
  51. package/dist/hooks/useApiConfig.d.ts +11 -0
  52. package/dist/hooks/useApiConfig.js +14 -0
  53. package/dist/index.d.ts +20 -0
  54. package/{src/index.ts → dist/index.js} +0 -17
  55. package/dist/provider.d.ts +33 -0
  56. package/dist/provider.js +52 -0
  57. package/dist/rpc-client.d.ts +8966 -0
  58. package/dist/rpc-client.js +79 -0
  59. package/{src/rpc-types.ts → dist/rpc-types.d.ts} +35 -80
  60. package/dist/rpc-types.js +7 -0
  61. package/{src/types.ts → dist/types.d.ts} +0 -6
  62. package/dist/types.js +16 -0
  63. package/dist/utils/query-keys.d.ts +102 -0
  64. package/dist/utils/query-keys.js +104 -0
  65. package/package.json +20 -13
  66. package/src/client.ts +0 -57
  67. package/src/fetchers/carts.ts +0 -202
  68. package/src/fetchers/orders.ts +0 -48
  69. package/src/fetchers/products.ts +0 -46
  70. package/src/hooks/admin/abandoned-carts.ts +0 -102
  71. package/src/hooks/admin/brands.ts +0 -134
  72. package/src/hooks/admin/customers.ts +0 -31
  73. package/src/hooks/admin/delivery-zones.ts +0 -236
  74. package/src/hooks/admin/discount-codes.ts +0 -222
  75. package/src/hooks/admin/inventory.ts +0 -137
  76. package/src/hooks/admin/orders.ts +0 -229
  77. package/src/hooks/admin/products.ts +0 -116
  78. package/src/hooks/admin/stats.ts +0 -30
  79. package/src/hooks/admin/variants.ts +0 -173
  80. package/src/hooks/admin/warehouses.ts +0 -143
  81. package/src/hooks/public/carts.ts +0 -298
  82. package/src/hooks/use-query-unwrapped.ts +0 -30
  83. package/src/hooks/useApiConfig.ts +0 -22
  84. package/src/provider.tsx +0 -89
  85. package/src/rpc-client.ts +0 -106
  86. package/src/utils/query-keys.ts +0 -121
@@ -0,0 +1,384 @@
1
+ /**
2
+ * Product fetcher functions
3
+ *
4
+ * These are the actual data-fetching functions used by hooks.
5
+ * They can also be imported directly in Server Components.
6
+ *
7
+ * API URL is hardcoded to https://oms-api.instock.ng
8
+ */
9
+ /**
10
+ * Fetch products by brand ID
11
+ *
12
+ * @param brandId - Brand UUID
13
+ * @returns Products for the brand with variants and availability
14
+ */
15
+ export declare function fetchProductsByBrand(brandId: string): Promise<{
16
+ brand: {
17
+ createdAt: string;
18
+ updatedAt: string;
19
+ deletedAt: string;
20
+ name: string;
21
+ id: string;
22
+ slug: string;
23
+ logoUrl: string | null;
24
+ siteUrl: string;
25
+ domain: string;
26
+ };
27
+ variants: {
28
+ createdAt: string;
29
+ updatedAt: string;
30
+ price: number;
31
+ deletedAt: string;
32
+ name: string | null;
33
+ id: string;
34
+ isActive: boolean;
35
+ thumbnailUrl: string | null;
36
+ productId: string;
37
+ sku: string;
38
+ trackInventory: boolean;
39
+ lowStockThreshold: number | null;
40
+ }[];
41
+ name: string;
42
+ id: string;
43
+ slug: string;
44
+ createdAt: string;
45
+ updatedAt: string;
46
+ deletedAt: string;
47
+ brandId: string;
48
+ isActive: boolean;
49
+ description: string | null;
50
+ thumbnailUrl: string | null;
51
+ quantityDiscounts: string | number | boolean | {
52
+ [x: string]: string | number | boolean | /*elided*/ any | {
53
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
54
+ length: number;
55
+ toString: never;
56
+ toLocaleString: never;
57
+ pop: never;
58
+ push: never;
59
+ concat: never;
60
+ join: never;
61
+ reverse: never;
62
+ shift: never;
63
+ slice: never;
64
+ sort: never;
65
+ splice: never;
66
+ unshift: never;
67
+ indexOf: never;
68
+ lastIndexOf: never;
69
+ every: never;
70
+ some: never;
71
+ forEach: never;
72
+ map: never;
73
+ filter: never;
74
+ reduce: never;
75
+ reduceRight: never;
76
+ find: never;
77
+ findIndex: never;
78
+ fill: never;
79
+ copyWithin: never;
80
+ entries: never;
81
+ keys: never;
82
+ values: never;
83
+ includes: never;
84
+ flatMap: never;
85
+ flat: never;
86
+ [Symbol.iterator]: never;
87
+ readonly [Symbol.unscopables]: {
88
+ [x: number]: boolean;
89
+ length?: boolean;
90
+ toString?: boolean;
91
+ toLocaleString?: boolean;
92
+ pop?: boolean;
93
+ push?: boolean;
94
+ concat?: boolean;
95
+ join?: boolean;
96
+ reverse?: boolean;
97
+ shift?: boolean;
98
+ slice?: boolean;
99
+ sort?: boolean;
100
+ splice?: boolean;
101
+ unshift?: boolean;
102
+ indexOf?: boolean;
103
+ lastIndexOf?: boolean;
104
+ every?: boolean;
105
+ some?: boolean;
106
+ forEach?: boolean;
107
+ map?: boolean;
108
+ filter?: boolean;
109
+ reduce?: boolean;
110
+ reduceRight?: boolean;
111
+ find?: boolean;
112
+ findIndex?: boolean;
113
+ fill?: boolean;
114
+ copyWithin?: boolean;
115
+ entries?: boolean;
116
+ keys?: boolean;
117
+ values?: boolean;
118
+ includes?: boolean;
119
+ flatMap?: boolean;
120
+ flat?: boolean;
121
+ };
122
+ };
123
+ } | {
124
+ [x: number]: string | number | boolean | {
125
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
126
+ } | /*elided*/ any;
127
+ length: number;
128
+ toString: never;
129
+ toLocaleString: never;
130
+ pop: never;
131
+ push: never;
132
+ concat: never;
133
+ join: never;
134
+ reverse: never;
135
+ shift: never;
136
+ slice: never;
137
+ sort: never;
138
+ splice: never;
139
+ unshift: never;
140
+ indexOf: never;
141
+ lastIndexOf: never;
142
+ every: never;
143
+ some: never;
144
+ forEach: never;
145
+ map: never;
146
+ filter: never;
147
+ reduce: never;
148
+ reduceRight: never;
149
+ find: never;
150
+ findIndex: never;
151
+ fill: never;
152
+ copyWithin: never;
153
+ entries: never;
154
+ keys: never;
155
+ values: never;
156
+ includes: never;
157
+ flatMap: never;
158
+ flat: never;
159
+ [Symbol.iterator]: never;
160
+ readonly [Symbol.unscopables]: {
161
+ [x: number]: boolean;
162
+ length?: boolean;
163
+ toString?: boolean;
164
+ toLocaleString?: boolean;
165
+ pop?: boolean;
166
+ push?: boolean;
167
+ concat?: boolean;
168
+ join?: boolean;
169
+ reverse?: boolean;
170
+ shift?: boolean;
171
+ slice?: boolean;
172
+ sort?: boolean;
173
+ splice?: boolean;
174
+ unshift?: boolean;
175
+ indexOf?: boolean;
176
+ lastIndexOf?: boolean;
177
+ every?: boolean;
178
+ some?: boolean;
179
+ forEach?: boolean;
180
+ map?: boolean;
181
+ filter?: boolean;
182
+ reduce?: boolean;
183
+ reduceRight?: boolean;
184
+ find?: boolean;
185
+ findIndex?: boolean;
186
+ fill?: boolean;
187
+ copyWithin?: boolean;
188
+ entries?: boolean;
189
+ keys?: boolean;
190
+ values?: boolean;
191
+ includes?: boolean;
192
+ flatMap?: boolean;
193
+ flat?: boolean;
194
+ };
195
+ };
196
+ }[]>;
197
+ /**
198
+ * Fetch a single product by slug
199
+ *
200
+ * @param slug - Product slug (e.g., 'cotton-t-shirt')
201
+ * @returns Product with variants and availability
202
+ */
203
+ export declare function fetchProductBySlug(slug: string): Promise<{
204
+ brand: {
205
+ createdAt: string;
206
+ updatedAt: string;
207
+ deletedAt: string;
208
+ name: string;
209
+ id: string;
210
+ slug: string;
211
+ logoUrl: string | null;
212
+ siteUrl: string;
213
+ domain: string;
214
+ };
215
+ variants: {
216
+ createdAt: string;
217
+ updatedAt: string;
218
+ price: number;
219
+ deletedAt: string;
220
+ name: string | null;
221
+ id: string;
222
+ isActive: boolean;
223
+ thumbnailUrl: string | null;
224
+ productId: string;
225
+ sku: string;
226
+ trackInventory: boolean;
227
+ lowStockThreshold: number | null;
228
+ }[];
229
+ name: string;
230
+ id: string;
231
+ slug: string;
232
+ createdAt: string;
233
+ updatedAt: string;
234
+ deletedAt: string;
235
+ brandId: string;
236
+ isActive: boolean;
237
+ description: string | null;
238
+ thumbnailUrl: string | null;
239
+ quantityDiscounts: string | number | boolean | {
240
+ [x: string]: string | number | boolean | /*elided*/ any | {
241
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
242
+ length: number;
243
+ toString: never;
244
+ toLocaleString: never;
245
+ pop: never;
246
+ push: never;
247
+ concat: never;
248
+ join: never;
249
+ reverse: never;
250
+ shift: never;
251
+ slice: never;
252
+ sort: never;
253
+ splice: never;
254
+ unshift: never;
255
+ indexOf: never;
256
+ lastIndexOf: never;
257
+ every: never;
258
+ some: never;
259
+ forEach: never;
260
+ map: never;
261
+ filter: never;
262
+ reduce: never;
263
+ reduceRight: never;
264
+ find: never;
265
+ findIndex: never;
266
+ fill: never;
267
+ copyWithin: never;
268
+ entries: never;
269
+ keys: never;
270
+ values: never;
271
+ includes: never;
272
+ flatMap: never;
273
+ flat: never;
274
+ [Symbol.iterator]: never;
275
+ readonly [Symbol.unscopables]: {
276
+ [x: number]: boolean;
277
+ length?: boolean;
278
+ toString?: boolean;
279
+ toLocaleString?: boolean;
280
+ pop?: boolean;
281
+ push?: boolean;
282
+ concat?: boolean;
283
+ join?: boolean;
284
+ reverse?: boolean;
285
+ shift?: boolean;
286
+ slice?: boolean;
287
+ sort?: boolean;
288
+ splice?: boolean;
289
+ unshift?: boolean;
290
+ indexOf?: boolean;
291
+ lastIndexOf?: boolean;
292
+ every?: boolean;
293
+ some?: boolean;
294
+ forEach?: boolean;
295
+ map?: boolean;
296
+ filter?: boolean;
297
+ reduce?: boolean;
298
+ reduceRight?: boolean;
299
+ find?: boolean;
300
+ findIndex?: boolean;
301
+ fill?: boolean;
302
+ copyWithin?: boolean;
303
+ entries?: boolean;
304
+ keys?: boolean;
305
+ values?: boolean;
306
+ includes?: boolean;
307
+ flatMap?: boolean;
308
+ flat?: boolean;
309
+ };
310
+ };
311
+ } | {
312
+ [x: number]: string | number | boolean | {
313
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
314
+ } | /*elided*/ any;
315
+ length: number;
316
+ toString: never;
317
+ toLocaleString: never;
318
+ pop: never;
319
+ push: never;
320
+ concat: never;
321
+ join: never;
322
+ reverse: never;
323
+ shift: never;
324
+ slice: never;
325
+ sort: never;
326
+ splice: never;
327
+ unshift: never;
328
+ indexOf: never;
329
+ lastIndexOf: never;
330
+ every: never;
331
+ some: never;
332
+ forEach: never;
333
+ map: never;
334
+ filter: never;
335
+ reduce: never;
336
+ reduceRight: never;
337
+ find: never;
338
+ findIndex: never;
339
+ fill: never;
340
+ copyWithin: never;
341
+ entries: never;
342
+ keys: never;
343
+ values: never;
344
+ includes: never;
345
+ flatMap: never;
346
+ flat: never;
347
+ [Symbol.iterator]: never;
348
+ readonly [Symbol.unscopables]: {
349
+ [x: number]: boolean;
350
+ length?: boolean;
351
+ toString?: boolean;
352
+ toLocaleString?: boolean;
353
+ pop?: boolean;
354
+ push?: boolean;
355
+ concat?: boolean;
356
+ join?: boolean;
357
+ reverse?: boolean;
358
+ shift?: boolean;
359
+ slice?: boolean;
360
+ sort?: boolean;
361
+ splice?: boolean;
362
+ unshift?: boolean;
363
+ indexOf?: boolean;
364
+ lastIndexOf?: boolean;
365
+ every?: boolean;
366
+ some?: boolean;
367
+ forEach?: boolean;
368
+ map?: boolean;
369
+ filter?: boolean;
370
+ reduce?: boolean;
371
+ reduceRight?: boolean;
372
+ find?: boolean;
373
+ findIndex?: boolean;
374
+ fill?: boolean;
375
+ copyWithin?: boolean;
376
+ entries?: boolean;
377
+ keys?: boolean;
378
+ values?: boolean;
379
+ includes?: boolean;
380
+ flatMap?: boolean;
381
+ flat?: boolean;
382
+ };
383
+ };
384
+ }>;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Product fetcher functions
3
+ *
4
+ * These are the actual data-fetching functions used by hooks.
5
+ * They can also be imported directly in Server Components.
6
+ *
7
+ * API URL is hardcoded to https://oms-api.instock.ng
8
+ */
9
+ import { createRpcClients } from '../rpc-client';
10
+ const API_URL = 'https://oms-api.instock.ng';
11
+ /**
12
+ * Fetch products by brand ID
13
+ *
14
+ * @param brandId - Brand UUID
15
+ * @returns Products for the brand with variants and availability
16
+ */
17
+ export async function fetchProductsByBrand(brandId) {
18
+ const clients = createRpcClients(API_URL);
19
+ const res = await clients.products[':brandId'].$get({
20
+ param: { brandId },
21
+ });
22
+ if (!res.ok) {
23
+ throw new Error(`Failed to fetch products: ${res.statusText}`);
24
+ }
25
+ return res.json();
26
+ }
27
+ /**
28
+ * Fetch a single product by slug
29
+ *
30
+ * @param slug - Product slug (e.g., 'cotton-t-shirt')
31
+ * @returns Product with variants and availability
32
+ */
33
+ export async function fetchProductBySlug(slug) {
34
+ const clients = createRpcClients(API_URL);
35
+ const res = await clients.products.product[':slug'].$get({
36
+ param: { slug },
37
+ });
38
+ if (!res.ok) {
39
+ throw new Error(`Failed to fetch product: ${res.statusText}`);
40
+ }
41
+ return res.json();
42
+ }