@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,276 @@
1
+ /**
2
+ * Type-safe admin RPC hooks for warehouse management
3
+ */
4
+ import { UseQueryOptions, UseMutationOptions } from '@tanstack/react-query';
5
+ import { createAdminRpcClients } from '../../rpc-client';
6
+ /**
7
+ * Hook to list all warehouses using admin RPC
8
+ */
9
+ export declare function useListWarehouses(options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['warehouses']['index']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
10
+ name: string;
11
+ id: string;
12
+ createdAt: string;
13
+ updatedAt: string;
14
+ deletedAt: string;
15
+ isActive: boolean;
16
+ address: string | null;
17
+ city: string | null;
18
+ state: string | null;
19
+ }[], Error>;
20
+ /**
21
+ * Hook to create a warehouse using admin RPC
22
+ */
23
+ export declare function useCreateWarehouse(options?: UseMutationOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['warehouses']['index']['$post']>>['json']>>, Error, any>): import("@tanstack/react-query").UseMutationResult<{
24
+ name: string;
25
+ id: string;
26
+ createdAt: string;
27
+ updatedAt: string;
28
+ deletedAt: string;
29
+ isActive: boolean;
30
+ address: string | null;
31
+ city: string | null;
32
+ state: string | null;
33
+ } | {
34
+ error: {
35
+ code: string;
36
+ message: string;
37
+ };
38
+ }, Error, any, unknown>;
39
+ /**
40
+ * Hook to update a warehouse using admin RPC
41
+ */
42
+ export declare function useUpdateWarehouse(warehouseId: string, options?: UseMutationOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['warehouses'][':id']['$patch']>>['json']>>, Error, any>): import("@tanstack/react-query").UseMutationResult<{
43
+ name: string;
44
+ id: string;
45
+ createdAt: string;
46
+ updatedAt: string;
47
+ deletedAt: string;
48
+ isActive: boolean;
49
+ address: string | null;
50
+ city: string | null;
51
+ state: string | null;
52
+ } | {
53
+ error: {
54
+ code: string;
55
+ message: string;
56
+ };
57
+ }, Error, any, unknown>;
58
+ /**
59
+ * Hook to get warehouse inventory using admin RPC
60
+ */
61
+ export declare function useGetWarehouseInventory(warehouseId: string, options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['warehouses'][':id']['inventory']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
62
+ warehouse: {
63
+ inventories: {
64
+ variant: {
65
+ product: {
66
+ brand: {
67
+ name: string;
68
+ id: string;
69
+ slug: string;
70
+ logoUrl: string | null;
71
+ siteUrl: string;
72
+ domain: string;
73
+ createdAt: string;
74
+ updatedAt: string;
75
+ deletedAt: string;
76
+ };
77
+ name: string;
78
+ id: string;
79
+ slug: string;
80
+ createdAt: string;
81
+ updatedAt: string;
82
+ deletedAt: string;
83
+ brandId: string;
84
+ isActive: boolean;
85
+ description: string | null;
86
+ thumbnailUrl: string | null;
87
+ quantityDiscounts: string | number | boolean | {
88
+ [x: string]: string | number | boolean | /*elided*/ any | {
89
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
90
+ length: number;
91
+ toString: never;
92
+ toLocaleString: never;
93
+ pop: never;
94
+ push: never;
95
+ concat: never;
96
+ join: never;
97
+ reverse: never;
98
+ shift: never;
99
+ slice: never;
100
+ sort: never;
101
+ splice: never;
102
+ unshift: never;
103
+ indexOf: never;
104
+ lastIndexOf: never;
105
+ every: never;
106
+ some: never;
107
+ forEach: never;
108
+ map: never;
109
+ filter: never;
110
+ reduce: never;
111
+ reduceRight: never;
112
+ find: never;
113
+ findIndex: never;
114
+ fill: never;
115
+ copyWithin: never;
116
+ entries: never;
117
+ keys: never;
118
+ values: never;
119
+ includes: never;
120
+ flatMap: never;
121
+ flat: never;
122
+ [Symbol.iterator]: never;
123
+ readonly [Symbol.unscopables]: {
124
+ [x: number]: boolean;
125
+ length?: boolean;
126
+ toString?: boolean;
127
+ toLocaleString?: boolean;
128
+ pop?: boolean;
129
+ push?: boolean;
130
+ concat?: boolean;
131
+ join?: boolean;
132
+ reverse?: boolean;
133
+ shift?: boolean;
134
+ slice?: boolean;
135
+ sort?: boolean;
136
+ splice?: boolean;
137
+ unshift?: boolean;
138
+ indexOf?: boolean;
139
+ lastIndexOf?: boolean;
140
+ every?: boolean;
141
+ some?: boolean;
142
+ forEach?: boolean;
143
+ map?: boolean;
144
+ filter?: boolean;
145
+ reduce?: boolean;
146
+ reduceRight?: boolean;
147
+ find?: boolean;
148
+ findIndex?: boolean;
149
+ fill?: boolean;
150
+ copyWithin?: boolean;
151
+ entries?: boolean;
152
+ keys?: boolean;
153
+ values?: boolean;
154
+ includes?: boolean;
155
+ flatMap?: boolean;
156
+ flat?: boolean;
157
+ };
158
+ };
159
+ } | {
160
+ [x: number]: string | number | boolean | {
161
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
162
+ } | /*elided*/ any;
163
+ length: number;
164
+ toString: never;
165
+ toLocaleString: never;
166
+ pop: never;
167
+ push: never;
168
+ concat: never;
169
+ join: never;
170
+ reverse: never;
171
+ shift: never;
172
+ slice: never;
173
+ sort: never;
174
+ splice: never;
175
+ unshift: never;
176
+ indexOf: never;
177
+ lastIndexOf: never;
178
+ every: never;
179
+ some: never;
180
+ forEach: never;
181
+ map: never;
182
+ filter: never;
183
+ reduce: never;
184
+ reduceRight: never;
185
+ find: never;
186
+ findIndex: never;
187
+ fill: never;
188
+ copyWithin: never;
189
+ entries: never;
190
+ keys: never;
191
+ values: never;
192
+ includes: never;
193
+ flatMap: never;
194
+ flat: never;
195
+ [Symbol.iterator]: never;
196
+ readonly [Symbol.unscopables]: {
197
+ [x: number]: boolean;
198
+ length?: boolean;
199
+ toString?: boolean;
200
+ toLocaleString?: boolean;
201
+ pop?: boolean;
202
+ push?: boolean;
203
+ concat?: boolean;
204
+ join?: boolean;
205
+ reverse?: boolean;
206
+ shift?: boolean;
207
+ slice?: boolean;
208
+ sort?: boolean;
209
+ splice?: boolean;
210
+ unshift?: boolean;
211
+ indexOf?: boolean;
212
+ lastIndexOf?: boolean;
213
+ every?: boolean;
214
+ some?: boolean;
215
+ forEach?: boolean;
216
+ map?: boolean;
217
+ filter?: boolean;
218
+ reduce?: boolean;
219
+ reduceRight?: boolean;
220
+ find?: boolean;
221
+ findIndex?: boolean;
222
+ fill?: boolean;
223
+ copyWithin?: boolean;
224
+ entries?: boolean;
225
+ keys?: boolean;
226
+ values?: boolean;
227
+ includes?: boolean;
228
+ flatMap?: boolean;
229
+ flat?: boolean;
230
+ };
231
+ };
232
+ };
233
+ name: string | null;
234
+ id: string;
235
+ createdAt: string;
236
+ updatedAt: string;
237
+ deletedAt: string;
238
+ isActive: boolean;
239
+ thumbnailUrl: string | null;
240
+ productId: string;
241
+ sku: string;
242
+ price: string;
243
+ trackInventory: boolean;
244
+ lowStockThreshold: number | null;
245
+ };
246
+ id: string;
247
+ updatedAt: string;
248
+ variantId: string;
249
+ warehouseId: string;
250
+ inventoryCount: number;
251
+ }[];
252
+ name: string;
253
+ id: string;
254
+ createdAt: string;
255
+ updatedAt: string;
256
+ deletedAt: string;
257
+ isActive: boolean;
258
+ address: string | null;
259
+ city: string | null;
260
+ state: string | null;
261
+ };
262
+ inventory: {
263
+ variantId: string;
264
+ sku: string;
265
+ productName: string;
266
+ name: string;
267
+ brandName: string;
268
+ inventoryCount: number;
269
+ lowStockThreshold: number;
270
+ isLowStock: boolean;
271
+ }[];
272
+ }, Error>;
273
+ /**
274
+ * Hook to delete a warehouse using admin RPC
275
+ */
276
+ export declare function useDeleteWarehouse(warehouseId: string, options?: UseMutationOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['warehouses'][':id']['$delete']>>['json']>>, Error, void>): import("@tanstack/react-query").UseMutationResult<unknown, Error, void, unknown>;
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Type-safe admin RPC hooks for warehouse 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 all warehouses using admin RPC
11
+ */
12
+ export function useListWarehouses(options) {
13
+ const { baseURL, authToken } = useApiConfig();
14
+ return useQueryUnwrapped({
15
+ queryKey: queryKeys.admin.warehouses.list(),
16
+ queryFn: async () => {
17
+ const clients = createAdminRpcClients(baseURL);
18
+ const res = await clients.warehouses.index.$get({}, authHeaders(authToken));
19
+ if (!res.ok)
20
+ throw new Error(`Failed to fetch warehouses: ${res.statusText}`);
21
+ return res.json();
22
+ },
23
+ ...options,
24
+ });
25
+ }
26
+ /**
27
+ * Hook to create a warehouse using admin RPC
28
+ */
29
+ export function useCreateWarehouse(options) {
30
+ const { baseURL, authToken } = useApiConfig();
31
+ const queryClient = useQueryClient();
32
+ return useMutation({
33
+ mutationFn: async (data) => {
34
+ const clients = createAdminRpcClients(baseURL);
35
+ const res = await clients.warehouses.index.$post({ json: data }, authHeaders(authToken));
36
+ if (!res.ok)
37
+ throw new Error(`Failed to create warehouse: ${res.statusText}`);
38
+ return res.json();
39
+ },
40
+ onSuccess: () => {
41
+ queryClient.invalidateQueries({ queryKey: queryKeys.admin.warehouses.all });
42
+ },
43
+ ...options,
44
+ });
45
+ }
46
+ /**
47
+ * Hook to update a warehouse using admin RPC
48
+ */
49
+ export function useUpdateWarehouse(warehouseId, options) {
50
+ const { baseURL, authToken } = useApiConfig();
51
+ const queryClient = useQueryClient();
52
+ return useMutation({
53
+ mutationFn: async (data) => {
54
+ const clients = createAdminRpcClients(baseURL);
55
+ const res = await clients.warehouses[':id'].$patch({ json: data, param: { id: warehouseId } }, authHeaders(authToken));
56
+ if (!res.ok)
57
+ throw new Error(`Failed to update warehouse: ${res.statusText}`);
58
+ return res.json();
59
+ },
60
+ onSuccess: () => {
61
+ queryClient.invalidateQueries({ queryKey: queryKeys.admin.warehouses.detail(warehouseId) });
62
+ queryClient.invalidateQueries({ queryKey: queryKeys.admin.warehouses.all });
63
+ },
64
+ ...options,
65
+ });
66
+ }
67
+ /**
68
+ * Hook to get warehouse inventory using admin RPC
69
+ */
70
+ export function useGetWarehouseInventory(warehouseId, options) {
71
+ const { baseURL, authToken } = useApiConfig();
72
+ return useQueryUnwrapped({
73
+ queryKey: queryKeys.admin.warehouses.inventory(warehouseId),
74
+ queryFn: async () => {
75
+ const clients = createAdminRpcClients(baseURL);
76
+ const res = await clients.warehouses[':id'].inventory.$get({ param: { id: warehouseId } }, authHeaders(authToken));
77
+ if (!res.ok)
78
+ throw new Error(`Failed to fetch warehouse inventory: ${res.statusText}`);
79
+ return res.json();
80
+ },
81
+ ...options,
82
+ });
83
+ }
84
+ /**
85
+ * Hook to delete a warehouse using admin RPC
86
+ */
87
+ export function useDeleteWarehouse(warehouseId, options) {
88
+ const { baseURL, authToken } = useApiConfig();
89
+ const queryClient = useQueryClient();
90
+ return useMutation({
91
+ mutationFn: async () => {
92
+ const clients = createAdminRpcClients(baseURL);
93
+ const res = await clients.warehouses[':id'].$delete({ param: { id: warehouseId } }, authHeaders(authToken));
94
+ if (!res.ok)
95
+ throw new Error(`Failed to delete warehouse: ${res.statusText}`);
96
+ return res.json();
97
+ },
98
+ onSuccess: () => {
99
+ queryClient.invalidateQueries({ queryKey: queryKeys.admin.warehouses.all });
100
+ },
101
+ ...options,
102
+ });
103
+ }