@instockng/api-client 1.0.9 → 1.0.11

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 (117) hide show
  1. package/dist/apps/backend/src/lib/brand-response.d.ts +2 -0
  2. package/dist/apps/backend/src/lib/cart-helpers.d.ts +4 -0
  3. package/dist/apps/backend/src/lib/cart-response.d.ts +2 -0
  4. package/dist/apps/backend/src/lib/delivery-zone-response.d.ts +2 -0
  5. package/dist/apps/backend/src/lib/discount-code-response.d.ts +2 -0
  6. package/dist/apps/backend/src/lib/order-recovery.d.ts +6 -0
  7. package/dist/apps/backend/src/lib/order-response.d.ts +2 -0
  8. package/dist/apps/backend/src/lib/product-response.d.ts +2 -0
  9. package/dist/apps/backend/src/routes/admin/abandoned-carts.d.ts +4 -8
  10. package/dist/apps/backend/src/routes/admin/brands.d.ts +8 -0
  11. package/dist/apps/backend/src/routes/admin/customers.d.ts +2 -4
  12. package/dist/apps/backend/src/routes/admin/delivery-zones.d.ts +8 -0
  13. package/dist/apps/backend/src/routes/admin/discount-codes.d.ts +10 -0
  14. package/dist/apps/backend/src/routes/admin/inventory.d.ts +0 -4
  15. package/dist/apps/backend/src/routes/admin/orders.d.ts +12 -24
  16. package/dist/apps/backend/src/routes/admin/products.d.ts +8 -16
  17. package/dist/apps/backend/src/routes/admin/stats.d.ts +2 -4
  18. package/dist/apps/backend/src/routes/admin/warehouses.d.ts +2 -4
  19. package/dist/apps/backend/src/routes/public/brands.d.ts +1 -0
  20. package/dist/apps/backend/src/routes/public/brands.js +1 -0
  21. package/dist/apps/backend/src/routes/public/carts.d.ts +18 -36
  22. package/dist/apps/backend/src/routes/public/orders.d.ts +4 -8
  23. package/dist/apps/backend/src/routes/public/products.d.ts +4 -8
  24. package/dist/apps/backend/src/validators/brand.d.ts +4 -0
  25. package/dist/apps/backend/src/validators/brand.js +4 -0
  26. package/dist/packages/api-client/src/fetchers/brands.d.ts +1 -0
  27. package/dist/packages/api-client/src/fetchers/carts.d.ts +18 -36
  28. package/dist/packages/api-client/src/fetchers/orders.d.ts +4 -8
  29. package/dist/packages/api-client/src/fetchers/products.d.ts +4 -8
  30. package/dist/packages/api-client/src/hooks/admin/abandoned-carts.d.ts +4 -8
  31. package/dist/packages/api-client/src/hooks/admin/brands.d.ts +8 -0
  32. package/dist/packages/api-client/src/hooks/admin/customers.d.ts +2 -4
  33. package/dist/packages/api-client/src/hooks/admin/delivery-zones.d.ts +8 -0
  34. package/dist/packages/api-client/src/hooks/admin/discount-codes.d.ts +10 -0
  35. package/dist/packages/api-client/src/hooks/admin/inventory.d.ts +0 -4
  36. package/dist/packages/api-client/src/hooks/admin/orders.d.ts +12 -24
  37. package/dist/packages/api-client/src/hooks/admin/products.d.ts +4 -8
  38. package/dist/packages/api-client/src/hooks/admin/stats.d.ts +2 -4
  39. package/dist/packages/api-client/src/hooks/admin/warehouses.d.ts +2 -4
  40. package/dist/packages/api-client/src/hooks/public/brands.d.ts +1 -0
  41. package/dist/packages/api-client/src/hooks/public/carts.d.ts +18 -36
  42. package/dist/packages/api-client/src/hooks/public/orders.d.ts +4 -8
  43. package/dist/packages/api-client/src/hooks/public/products.d.ts +4 -8
  44. package/dist/packages/api-client/src/rpc-client.d.ts +83 -116
  45. package/package.json +1 -1
  46. package/dist/apps/backend/src/generated/zod/index.d.ts +0 -1114
  47. package/dist/apps/backend/src/generated/zod/index.js +0 -670
  48. package/dist/backend-types.d.ts +0 -10
  49. package/dist/backend-types.js +0 -10
  50. package/dist/client.d.ts +0 -20
  51. package/dist/client.js +0 -40
  52. package/dist/enum-types.d.ts +0 -8
  53. package/dist/enum-types.js +0 -5
  54. package/dist/fetchers/brands.d.ts +0 -25
  55. package/dist/fetchers/brands.js +0 -26
  56. package/dist/fetchers/carts.d.ts +0 -2335
  57. package/dist/fetchers/carts.js +0 -174
  58. package/dist/fetchers/delivery-zones.d.ts +0 -28
  59. package/dist/fetchers/delivery-zones.js +0 -26
  60. package/dist/fetchers/index.d.ts +0 -22
  61. package/dist/fetchers/index.js +0 -22
  62. package/dist/fetchers/orders.d.ts +0 -540
  63. package/dist/fetchers/orders.js +0 -44
  64. package/dist/fetchers/products.d.ts +0 -386
  65. package/dist/fetchers/products.js +0 -42
  66. package/dist/hooks/admin/abandoned-carts.d.ts +0 -535
  67. package/dist/hooks/admin/abandoned-carts.js +0 -83
  68. package/dist/hooks/admin/brands.d.ts +0 -79
  69. package/dist/hooks/admin/brands.js +0 -108
  70. package/dist/hooks/admin/customers.d.ts +0 -278
  71. package/dist/hooks/admin/customers.js +0 -26
  72. package/dist/hooks/admin/delivery-zones.d.ts +0 -270
  73. package/dist/hooks/admin/delivery-zones.js +0 -176
  74. package/dist/hooks/admin/discount-codes.d.ts +0 -299
  75. package/dist/hooks/admin/discount-codes.js +0 -165
  76. package/dist/hooks/admin/index.d.ts +0 -16
  77. package/dist/hooks/admin/index.js +0 -16
  78. package/dist/hooks/admin/inventory.d.ts +0 -224
  79. package/dist/hooks/admin/inventory.js +0 -107
  80. package/dist/hooks/admin/orders.d.ts +0 -1662
  81. package/dist/hooks/admin/orders.js +0 -178
  82. package/dist/hooks/admin/products.d.ts +0 -374
  83. package/dist/hooks/admin/products.js +0 -89
  84. package/dist/hooks/admin/stats.d.ts +0 -277
  85. package/dist/hooks/admin/stats.js +0 -25
  86. package/dist/hooks/admin/variants.d.ts +0 -115
  87. package/dist/hooks/admin/variants.js +0 -127
  88. package/dist/hooks/admin/warehouses.d.ts +0 -277
  89. package/dist/hooks/admin/warehouses.js +0 -108
  90. package/dist/hooks/public/brands.d.ts +0 -33
  91. package/dist/hooks/public/brands.js +0 -30
  92. package/dist/hooks/public/carts.d.ts +0 -2405
  93. package/dist/hooks/public/carts.js +0 -213
  94. package/dist/hooks/public/delivery-zones.d.ts +0 -34
  95. package/dist/hooks/public/delivery-zones.js +0 -28
  96. package/dist/hooks/public/index.d.ts +0 -10
  97. package/dist/hooks/public/index.js +0 -10
  98. package/dist/hooks/public/orders.d.ts +0 -559
  99. package/dist/hooks/public/orders.js +0 -50
  100. package/dist/hooks/public/products.d.ts +0 -398
  101. package/dist/hooks/public/products.js +0 -47
  102. package/dist/hooks/use-query-unwrapped.d.ts +0 -20
  103. package/dist/hooks/use-query-unwrapped.js +0 -22
  104. package/dist/hooks/useApiConfig.d.ts +0 -12
  105. package/dist/hooks/useApiConfig.js +0 -14
  106. package/dist/index.d.ts +0 -20
  107. package/dist/index.js +0 -25
  108. package/dist/provider.d.ts +0 -36
  109. package/dist/provider.js +0 -54
  110. package/dist/rpc-client.d.ts +0 -9607
  111. package/dist/rpc-client.js +0 -78
  112. package/dist/rpc-types.d.ts +0 -76
  113. package/dist/rpc-types.js +0 -7
  114. package/dist/types.d.ts +0 -34
  115. package/dist/types.js +0 -16
  116. package/dist/utils/query-keys.d.ts +0 -106
  117. package/dist/utils/query-keys.js +0 -108
@@ -1,535 +0,0 @@
1
- /**
2
- * Type-safe admin RPC hooks for abandoned cart management
3
- */
4
- import { UseQueryOptions, UseMutationOptions } from '@tanstack/react-query';
5
- import { createAdminRpcClients } from '../../rpc-client';
6
- /**
7
- * Hook to list abandoned carts using admin RPC
8
- */
9
- export declare function useListAbandonedCarts(params?: {
10
- brandId?: string;
11
- hoursInactive?: number;
12
- }, options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['abandonedCarts']['index']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
13
- carts: {
14
- id: string;
15
- brand: {
16
- createdAt: string;
17
- updatedAt: string;
18
- deletedAt: string;
19
- name: string;
20
- id: string;
21
- slug: string;
22
- logoUrl: string | null;
23
- siteUrl: string;
24
- domain: string;
25
- metaPixelId: string | null;
26
- };
27
- customerPhone: string;
28
- customerEmail: string;
29
- customerFirstName: string;
30
- customerLastName: string;
31
- availablePaymentMethods: import("@prisma/client").$Enums.PaymentMethod[];
32
- deliveryZone: {
33
- id: string;
34
- name: string;
35
- };
36
- recoveryAttempts: number;
37
- lastRecoveryAttemptAt: string;
38
- recoveryDiscountCode: {
39
- id: string;
40
- createdAt: string;
41
- updatedAt: string;
42
- deletedAt: string;
43
- brandId: string | null;
44
- isActive: boolean;
45
- code: string;
46
- type: string;
47
- value: string;
48
- minPurchase: string;
49
- maxDiscount: string;
50
- usageLimit: number | null;
51
- usageCount: number;
52
- perCustomerLimit: number | null;
53
- validFrom: string;
54
- validUntil: string;
55
- isAutoApply: boolean;
56
- description: string | null;
57
- category: string;
58
- createdBy: string | null;
59
- };
60
- items: {
61
- id: string;
62
- variant: {
63
- price: number;
64
- product: {
65
- name: string;
66
- id: string;
67
- slug: string;
68
- createdAt: string;
69
- updatedAt: string;
70
- deletedAt: string;
71
- brandId: string;
72
- isActive: boolean;
73
- description: string | null;
74
- thumbnailUrl: string | null;
75
- quantityDiscounts: string | number | boolean | {
76
- [x: string]: string | number | boolean | /*elided*/ any | {
77
- [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
78
- length: number;
79
- toString: never;
80
- toLocaleString: never;
81
- pop: never;
82
- push: never;
83
- concat: never;
84
- join: never;
85
- reverse: never;
86
- shift: never;
87
- slice: never;
88
- sort: never;
89
- splice: never;
90
- unshift: never;
91
- indexOf: never;
92
- lastIndexOf: never;
93
- every: never;
94
- some: never;
95
- forEach: never;
96
- map: never;
97
- filter: never;
98
- reduce: never;
99
- reduceRight: never;
100
- find: never;
101
- findIndex: never;
102
- fill: never;
103
- copyWithin: never;
104
- entries: never;
105
- keys: never;
106
- values: never;
107
- includes: never;
108
- flatMap: never;
109
- flat: never;
110
- [Symbol.iterator]: never;
111
- readonly [Symbol.unscopables]: {
112
- [x: number]: boolean;
113
- length?: boolean;
114
- toString?: boolean;
115
- toLocaleString?: boolean;
116
- pop?: boolean;
117
- push?: boolean;
118
- concat?: boolean;
119
- join?: boolean;
120
- reverse?: boolean;
121
- shift?: boolean;
122
- slice?: boolean;
123
- sort?: boolean;
124
- splice?: boolean;
125
- unshift?: boolean;
126
- indexOf?: boolean;
127
- lastIndexOf?: boolean;
128
- every?: boolean;
129
- some?: boolean;
130
- forEach?: boolean;
131
- map?: boolean;
132
- filter?: boolean;
133
- reduce?: boolean;
134
- reduceRight?: boolean;
135
- find?: boolean;
136
- findIndex?: boolean;
137
- fill?: boolean;
138
- copyWithin?: boolean;
139
- entries?: boolean;
140
- keys?: boolean;
141
- values?: boolean;
142
- includes?: boolean;
143
- flatMap?: boolean;
144
- flat?: boolean;
145
- };
146
- };
147
- } | {
148
- [x: number]: string | number | boolean | {
149
- [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
150
- } | /*elided*/ any;
151
- length: number;
152
- toString: never;
153
- toLocaleString: never;
154
- pop: never;
155
- push: never;
156
- concat: never;
157
- join: never;
158
- reverse: never;
159
- shift: never;
160
- slice: never;
161
- sort: never;
162
- splice: never;
163
- unshift: never;
164
- indexOf: never;
165
- lastIndexOf: never;
166
- every: never;
167
- some: never;
168
- forEach: never;
169
- map: never;
170
- filter: never;
171
- reduce: never;
172
- reduceRight: never;
173
- find: never;
174
- findIndex: never;
175
- fill: never;
176
- copyWithin: never;
177
- entries: never;
178
- keys: never;
179
- values: never;
180
- includes: never;
181
- flatMap: never;
182
- flat: never;
183
- [Symbol.iterator]: never;
184
- readonly [Symbol.unscopables]: {
185
- [x: number]: boolean;
186
- length?: boolean;
187
- toString?: boolean;
188
- toLocaleString?: boolean;
189
- pop?: boolean;
190
- push?: boolean;
191
- concat?: boolean;
192
- join?: boolean;
193
- reverse?: boolean;
194
- shift?: boolean;
195
- slice?: boolean;
196
- sort?: boolean;
197
- splice?: boolean;
198
- unshift?: boolean;
199
- indexOf?: boolean;
200
- lastIndexOf?: boolean;
201
- every?: boolean;
202
- some?: boolean;
203
- forEach?: boolean;
204
- map?: boolean;
205
- filter?: boolean;
206
- reduce?: boolean;
207
- reduceRight?: boolean;
208
- find?: boolean;
209
- findIndex?: boolean;
210
- fill?: boolean;
211
- copyWithin?: boolean;
212
- entries?: boolean;
213
- keys?: boolean;
214
- values?: boolean;
215
- includes?: boolean;
216
- flatMap?: boolean;
217
- flat?: boolean;
218
- };
219
- };
220
- };
221
- name: string | null;
222
- id: string;
223
- createdAt: string;
224
- updatedAt: string;
225
- deletedAt: string;
226
- isActive: boolean;
227
- thumbnailUrl: string | null;
228
- productId: string;
229
- sku: string;
230
- trackInventory: boolean;
231
- lowStockThreshold: number | null;
232
- };
233
- quantity: number;
234
- basePrice: number;
235
- discountPercent: number;
236
- finalPrice: number;
237
- subtotal: number;
238
- }[];
239
- pricing: {
240
- subtotal: number;
241
- deliveryCharge: number;
242
- discount: {
243
- code: string;
244
- type: "percentage" | "fixed";
245
- value: number;
246
- amount: number;
247
- description: string | null;
248
- };
249
- total: number;
250
- };
251
- createdAt: string;
252
- updatedAt: string;
253
- expiresAt: string;
254
- convertedToOrderId: string;
255
- wasRecovered: boolean;
256
- recoveryUrl: string;
257
- }[];
258
- total: number;
259
- }, Error>;
260
- /**
261
- * Hook to get abandoned cart statistics using admin RPC
262
- */
263
- export declare function useGetAbandonedCartStats(params?: {
264
- brandId?: string;
265
- }, options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['abandonedCarts']['stats']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
266
- totalAbandoned: number;
267
- abandonedLast7Days: number;
268
- activeCarts: number;
269
- totalValue: number;
270
- averageValue: number;
271
- totalRecovered: number;
272
- recoveryRate: number;
273
- revenueRecovered: number;
274
- totalDiscountGiven: number;
275
- }, Error>;
276
- /**
277
- * Hook to get specific abandoned cart details using admin RPC
278
- */
279
- export declare function useGetAbandonedCart(cartId: string, options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['abandonedCarts'][':id']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
280
- id: string;
281
- brand: {
282
- createdAt: string;
283
- updatedAt: string;
284
- deletedAt: string;
285
- name: string;
286
- id: string;
287
- slug: string;
288
- logoUrl: string | null;
289
- siteUrl: string;
290
- domain: string;
291
- metaPixelId: string | null;
292
- };
293
- customerPhone: string;
294
- customerEmail: string;
295
- customerFirstName: string;
296
- customerLastName: string;
297
- availablePaymentMethods: import("@prisma/client").$Enums.PaymentMethod[];
298
- deliveryZone: {
299
- id: string;
300
- name: string;
301
- };
302
- recoveryAttempts: number;
303
- lastRecoveryAttemptAt: string;
304
- recoveryDiscountCode: {
305
- id: string;
306
- createdAt: string;
307
- updatedAt: string;
308
- deletedAt: string;
309
- brandId: string | null;
310
- isActive: boolean;
311
- code: string;
312
- type: string;
313
- value: string;
314
- minPurchase: string;
315
- maxDiscount: string;
316
- usageLimit: number | null;
317
- usageCount: number;
318
- perCustomerLimit: number | null;
319
- validFrom: string;
320
- validUntil: string;
321
- isAutoApply: boolean;
322
- description: string | null;
323
- category: string;
324
- createdBy: string | null;
325
- };
326
- items: {
327
- id: string;
328
- variant: {
329
- price: number;
330
- product: {
331
- name: string;
332
- id: string;
333
- slug: string;
334
- createdAt: string;
335
- updatedAt: string;
336
- deletedAt: string;
337
- brandId: string;
338
- isActive: boolean;
339
- description: string | null;
340
- thumbnailUrl: string | null;
341
- quantityDiscounts: string | number | boolean | {
342
- [x: string]: string | number | boolean | /*elided*/ any | {
343
- [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
344
- length: number;
345
- toString: never;
346
- toLocaleString: never;
347
- pop: never;
348
- push: never;
349
- concat: never;
350
- join: never;
351
- reverse: never;
352
- shift: never;
353
- slice: never;
354
- sort: never;
355
- splice: never;
356
- unshift: never;
357
- indexOf: never;
358
- lastIndexOf: never;
359
- every: never;
360
- some: never;
361
- forEach: never;
362
- map: never;
363
- filter: never;
364
- reduce: never;
365
- reduceRight: never;
366
- find: never;
367
- findIndex: never;
368
- fill: never;
369
- copyWithin: never;
370
- entries: never;
371
- keys: never;
372
- values: never;
373
- includes: never;
374
- flatMap: never;
375
- flat: never;
376
- [Symbol.iterator]: never;
377
- readonly [Symbol.unscopables]: {
378
- [x: number]: boolean;
379
- length?: boolean;
380
- toString?: boolean;
381
- toLocaleString?: boolean;
382
- pop?: boolean;
383
- push?: boolean;
384
- concat?: boolean;
385
- join?: boolean;
386
- reverse?: boolean;
387
- shift?: boolean;
388
- slice?: boolean;
389
- sort?: boolean;
390
- splice?: boolean;
391
- unshift?: boolean;
392
- indexOf?: boolean;
393
- lastIndexOf?: boolean;
394
- every?: boolean;
395
- some?: boolean;
396
- forEach?: boolean;
397
- map?: boolean;
398
- filter?: boolean;
399
- reduce?: boolean;
400
- reduceRight?: boolean;
401
- find?: boolean;
402
- findIndex?: boolean;
403
- fill?: boolean;
404
- copyWithin?: boolean;
405
- entries?: boolean;
406
- keys?: boolean;
407
- values?: boolean;
408
- includes?: boolean;
409
- flatMap?: boolean;
410
- flat?: boolean;
411
- };
412
- };
413
- } | {
414
- [x: number]: string | number | boolean | {
415
- [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
416
- } | /*elided*/ any;
417
- length: number;
418
- toString: never;
419
- toLocaleString: never;
420
- pop: never;
421
- push: never;
422
- concat: never;
423
- join: never;
424
- reverse: never;
425
- shift: never;
426
- slice: never;
427
- sort: never;
428
- splice: never;
429
- unshift: never;
430
- indexOf: never;
431
- lastIndexOf: never;
432
- every: never;
433
- some: never;
434
- forEach: never;
435
- map: never;
436
- filter: never;
437
- reduce: never;
438
- reduceRight: never;
439
- find: never;
440
- findIndex: never;
441
- fill: never;
442
- copyWithin: never;
443
- entries: never;
444
- keys: never;
445
- values: never;
446
- includes: never;
447
- flatMap: never;
448
- flat: never;
449
- [Symbol.iterator]: never;
450
- readonly [Symbol.unscopables]: {
451
- [x: number]: boolean;
452
- length?: boolean;
453
- toString?: boolean;
454
- toLocaleString?: boolean;
455
- pop?: boolean;
456
- push?: boolean;
457
- concat?: boolean;
458
- join?: boolean;
459
- reverse?: boolean;
460
- shift?: boolean;
461
- slice?: boolean;
462
- sort?: boolean;
463
- splice?: boolean;
464
- unshift?: boolean;
465
- indexOf?: boolean;
466
- lastIndexOf?: boolean;
467
- every?: boolean;
468
- some?: boolean;
469
- forEach?: boolean;
470
- map?: boolean;
471
- filter?: boolean;
472
- reduce?: boolean;
473
- reduceRight?: boolean;
474
- find?: boolean;
475
- findIndex?: boolean;
476
- fill?: boolean;
477
- copyWithin?: boolean;
478
- entries?: boolean;
479
- keys?: boolean;
480
- values?: boolean;
481
- includes?: boolean;
482
- flatMap?: boolean;
483
- flat?: boolean;
484
- };
485
- };
486
- };
487
- name: string | null;
488
- id: string;
489
- createdAt: string;
490
- updatedAt: string;
491
- deletedAt: string;
492
- isActive: boolean;
493
- thumbnailUrl: string | null;
494
- productId: string;
495
- sku: string;
496
- trackInventory: boolean;
497
- lowStockThreshold: number | null;
498
- };
499
- quantity: number;
500
- basePrice: number;
501
- discountPercent: number;
502
- finalPrice: number;
503
- subtotal: number;
504
- }[];
505
- pricing: {
506
- subtotal: number;
507
- deliveryCharge: number;
508
- discount: {
509
- code: string;
510
- type: "percentage" | "fixed";
511
- value: number;
512
- amount: number;
513
- description: string | null;
514
- };
515
- total: number;
516
- };
517
- createdAt: string;
518
- updatedAt: string;
519
- expiresAt: string;
520
- convertedToOrderId: string;
521
- wasRecovered: boolean;
522
- recoveryUrl: string;
523
- }, Error>;
524
- /**
525
- * Hook to clean up expired carts using admin RPC
526
- */
527
- export declare function useCleanupExpiredCarts(options?: UseMutationOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['abandonedCarts']['cleanup']['$post']>>['json']>>, Error, void>): import("@tanstack/react-query").UseMutationResult<{
528
- deletedCount: number;
529
- message: string;
530
- } | {
531
- error: {
532
- code: string;
533
- message: any;
534
- };
535
- }, Error, void, unknown>;
@@ -1,83 +0,0 @@
1
- /**
2
- * Type-safe admin RPC hooks for abandoned cart management
3
- */
4
- import { useMutation, useQueryClient } from '@tanstack/react-query';
5
- import { useQueryUnwrapped } from '../use-query-unwrapped';
6
- import { createAdminRpcClients, authHeaders } from '../../rpc-client';
7
- import { queryKeys } from '../../utils/query-keys';
8
- import { useApiConfig } from '../useApiConfig';
9
- /**
10
- * Hook to list abandoned carts using admin RPC
11
- */
12
- export function useListAbandonedCarts(params, options) {
13
- const { baseURL, getAuthToken } = useApiConfig();
14
- return useQueryUnwrapped({
15
- queryKey: queryKeys.admin.abandonedCarts.list(params),
16
- queryFn: async () => {
17
- const token = await getAuthToken();
18
- const clients = createAdminRpcClients(baseURL);
19
- const res = await clients.abandonedCarts.index.$get({ query: params }, authHeaders(token));
20
- if (!res.ok)
21
- throw new Error(`Failed to fetch abandoned carts: ${res.statusText}`);
22
- return res.json();
23
- },
24
- ...options,
25
- });
26
- }
27
- /**
28
- * Hook to get abandoned cart statistics using admin RPC
29
- */
30
- export function useGetAbandonedCartStats(params, options) {
31
- const { baseURL, getAuthToken } = useApiConfig();
32
- return useQueryUnwrapped({
33
- queryKey: queryKeys.admin.abandonedCarts.stats(params?.brandId),
34
- queryFn: async () => {
35
- const token = await getAuthToken();
36
- const clients = createAdminRpcClients(baseURL);
37
- const res = await clients.abandonedCarts.stats.$get({ query: params }, authHeaders(token));
38
- if (!res.ok)
39
- throw new Error(`Failed to fetch abandoned cart stats: ${res.statusText}`);
40
- return res.json();
41
- },
42
- ...options,
43
- });
44
- }
45
- /**
46
- * Hook to get specific abandoned cart details using admin RPC
47
- */
48
- export function useGetAbandonedCart(cartId, options) {
49
- const { baseURL, getAuthToken } = useApiConfig();
50
- return useQueryUnwrapped({
51
- queryKey: queryKeys.admin.abandonedCarts.detail(cartId),
52
- queryFn: async () => {
53
- const token = await getAuthToken();
54
- const clients = createAdminRpcClients(baseURL);
55
- const res = await clients.abandonedCarts[':id'].$get({ param: { id: cartId } }, authHeaders(token));
56
- if (!res.ok)
57
- throw new Error(`Failed to fetch abandoned cart: ${res.statusText}`);
58
- return res.json();
59
- },
60
- ...options,
61
- });
62
- }
63
- /**
64
- * Hook to clean up expired carts using admin RPC
65
- */
66
- export function useCleanupExpiredCarts(options) {
67
- const { baseURL, getAuthToken } = useApiConfig();
68
- const queryClient = useQueryClient();
69
- return useMutation({
70
- mutationFn: async () => {
71
- const token = await getAuthToken();
72
- const clients = createAdminRpcClients(baseURL);
73
- const res = await clients.abandonedCarts.cleanup.$post({}, authHeaders(token));
74
- if (!res.ok)
75
- throw new Error(`Failed to cleanup expired carts: ${res.statusText}`);
76
- return res.json();
77
- },
78
- onSuccess: () => {
79
- queryClient.invalidateQueries({ queryKey: queryKeys.admin.abandonedCarts.all });
80
- },
81
- ...options,
82
- });
83
- }
@@ -1,79 +0,0 @@
1
- /**
2
- * Type-safe admin RPC hooks for brand management
3
- */
4
- import { UseQueryOptions, UseMutationOptions } from '@tanstack/react-query';
5
- import { createAdminRpcClients } from '../../rpc-client';
6
- /**
7
- * Hook to list all brands using admin RPC
8
- */
9
- export declare function useListBrands(options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['brands']['index']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
10
- name: string;
11
- id: string;
12
- slug: string;
13
- logoUrl: string | null;
14
- siteUrl: string;
15
- domain: string;
16
- metaPixelId: string | null;
17
- createdAt: string;
18
- updatedAt: string;
19
- deletedAt: string;
20
- }[], Error>;
21
- /**
22
- * Hook to get brand by ID using admin RPC
23
- */
24
- export declare function useGetBrand(brandId: string, options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['brands'][':id']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
25
- name: string;
26
- id: string;
27
- slug: string;
28
- logoUrl: string | null;
29
- siteUrl: string;
30
- domain: string;
31
- metaPixelId: string | null;
32
- createdAt: string;
33
- updatedAt: string;
34
- deletedAt: string;
35
- }, Error>;
36
- /**
37
- * Hook to create a brand using admin RPC
38
- */
39
- export declare function useCreateBrand(options?: UseMutationOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['brands']['index']['$post']>>['json']>>, Error, any>): import("@tanstack/react-query").UseMutationResult<{
40
- name: string;
41
- id: string;
42
- slug: string;
43
- logoUrl: string | null;
44
- siteUrl: string;
45
- domain: string;
46
- metaPixelId: string | null;
47
- createdAt: string;
48
- updatedAt: string;
49
- deletedAt: string;
50
- } | {
51
- error: {
52
- code: string;
53
- message: string;
54
- };
55
- }, Error, any, unknown>;
56
- /**
57
- * Hook to update a brand using admin RPC
58
- */
59
- export declare function useUpdateBrand(brandId: string, options?: UseMutationOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['brands'][':id']['$patch']>>['json']>>, Error, any>): import("@tanstack/react-query").UseMutationResult<{
60
- name: string;
61
- id: string;
62
- slug: string;
63
- logoUrl: string | null;
64
- siteUrl: string;
65
- domain: string;
66
- metaPixelId: string | null;
67
- createdAt: string;
68
- updatedAt: string;
69
- deletedAt: string;
70
- } | {
71
- error: {
72
- code: string;
73
- message: string;
74
- };
75
- }, Error, any, unknown>;
76
- /**
77
- * Hook to delete a brand using admin RPC
78
- */
79
- export declare function useDeleteBrand(brandId: string, options?: UseMutationOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['brands'][':id']['$delete']>>['json']>>, Error, void>): import("@tanstack/react-query").UseMutationResult<unknown, Error, void, unknown>;