@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,224 @@
1
+ /**
2
+ * Type-safe admin RPC hooks for inventory management
3
+ */
4
+ import { UseQueryOptions, UseMutationOptions } from '@tanstack/react-query';
5
+ import { createAdminRpcClients } from '../../rpc-client';
6
+ /**
7
+ * Hook to get inventory overview using admin RPC
8
+ */
9
+ export declare function useListInventory(params?: {
10
+ brandId?: string;
11
+ warehouseId?: string;
12
+ productId?: string;
13
+ }, options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['inventory']['index']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
14
+ variantId: string;
15
+ warehouseId: string;
16
+ sku: string;
17
+ productName: string;
18
+ name: string;
19
+ brandName: string;
20
+ warehouseName: string;
21
+ inventoryCount: number;
22
+ lowStockThreshold: number;
23
+ isLowStock: boolean;
24
+ }[], Error>;
25
+ /**
26
+ * Hook to adjust inventory using admin RPC
27
+ */
28
+ export declare function useAdjustInventory(options?: UseMutationOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['inventory']['adjust']['$post']>>['json']>>, Error, any>): import("@tanstack/react-query").UseMutationResult<unknown, Error, any, unknown>;
29
+ /**
30
+ * Hook to transfer inventory between warehouses using admin RPC
31
+ */
32
+ export declare function useTransferInventory(options?: UseMutationOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['inventory']['transfer']['$post']>>['json']>>, Error, any>): import("@tanstack/react-query").UseMutationResult<unknown, Error, any, unknown>;
33
+ /**
34
+ * Hook to get inventory transaction history using admin RPC
35
+ */
36
+ export declare function useGetInventoryTransactions(params?: {
37
+ variantId?: string;
38
+ warehouseId?: string;
39
+ type?: string;
40
+ startDate?: string;
41
+ endDate?: string;
42
+ page?: number;
43
+ limit?: number;
44
+ }, options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['inventory']['transactions']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
45
+ data: {
46
+ id: string;
47
+ type: import("@prisma/client").$Enums.InventoryTransactionType;
48
+ quantity: number;
49
+ balanceAfter: number;
50
+ reason: string;
51
+ orderId: string;
52
+ orderNumber: number;
53
+ userId: string;
54
+ metadata: string | number | boolean | {
55
+ [x: string]: string | number | boolean | /*elided*/ any | {
56
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
57
+ length: number;
58
+ toString: never;
59
+ toLocaleString: never;
60
+ pop: never;
61
+ push: never;
62
+ concat: never;
63
+ join: never;
64
+ reverse: never;
65
+ shift: never;
66
+ slice: never;
67
+ sort: never;
68
+ splice: never;
69
+ unshift: never;
70
+ indexOf: never;
71
+ lastIndexOf: never;
72
+ every: never;
73
+ some: never;
74
+ forEach: never;
75
+ map: never;
76
+ filter: never;
77
+ reduce: never;
78
+ reduceRight: never;
79
+ find: never;
80
+ findIndex: never;
81
+ fill: never;
82
+ copyWithin: never;
83
+ entries: never;
84
+ keys: never;
85
+ values: never;
86
+ includes: never;
87
+ flatMap: never;
88
+ flat: never;
89
+ [Symbol.iterator]: never;
90
+ readonly [Symbol.unscopables]: {
91
+ [x: number]: boolean;
92
+ length?: boolean;
93
+ toString?: boolean;
94
+ toLocaleString?: boolean;
95
+ pop?: boolean;
96
+ push?: boolean;
97
+ concat?: boolean;
98
+ join?: boolean;
99
+ reverse?: boolean;
100
+ shift?: boolean;
101
+ slice?: boolean;
102
+ sort?: boolean;
103
+ splice?: boolean;
104
+ unshift?: boolean;
105
+ indexOf?: boolean;
106
+ lastIndexOf?: boolean;
107
+ every?: boolean;
108
+ some?: boolean;
109
+ forEach?: boolean;
110
+ map?: boolean;
111
+ filter?: boolean;
112
+ reduce?: boolean;
113
+ reduceRight?: boolean;
114
+ find?: boolean;
115
+ findIndex?: boolean;
116
+ fill?: boolean;
117
+ copyWithin?: boolean;
118
+ entries?: boolean;
119
+ keys?: boolean;
120
+ values?: boolean;
121
+ includes?: boolean;
122
+ flatMap?: boolean;
123
+ flat?: boolean;
124
+ };
125
+ };
126
+ } | {
127
+ [x: number]: string | number | boolean | {
128
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
129
+ } | /*elided*/ any;
130
+ length: number;
131
+ toString: never;
132
+ toLocaleString: never;
133
+ pop: never;
134
+ push: never;
135
+ concat: never;
136
+ join: never;
137
+ reverse: never;
138
+ shift: never;
139
+ slice: never;
140
+ sort: never;
141
+ splice: never;
142
+ unshift: never;
143
+ indexOf: never;
144
+ lastIndexOf: never;
145
+ every: never;
146
+ some: never;
147
+ forEach: never;
148
+ map: never;
149
+ filter: never;
150
+ reduce: never;
151
+ reduceRight: never;
152
+ find: never;
153
+ findIndex: never;
154
+ fill: never;
155
+ copyWithin: never;
156
+ entries: never;
157
+ keys: never;
158
+ values: never;
159
+ includes: never;
160
+ flatMap: never;
161
+ flat: never;
162
+ [Symbol.iterator]: never;
163
+ readonly [Symbol.unscopables]: {
164
+ [x: number]: boolean;
165
+ length?: boolean;
166
+ toString?: boolean;
167
+ toLocaleString?: boolean;
168
+ pop?: boolean;
169
+ push?: boolean;
170
+ concat?: boolean;
171
+ join?: boolean;
172
+ reverse?: boolean;
173
+ shift?: boolean;
174
+ slice?: boolean;
175
+ sort?: boolean;
176
+ splice?: boolean;
177
+ unshift?: boolean;
178
+ indexOf?: boolean;
179
+ lastIndexOf?: boolean;
180
+ every?: boolean;
181
+ some?: boolean;
182
+ forEach?: boolean;
183
+ map?: boolean;
184
+ filter?: boolean;
185
+ reduce?: boolean;
186
+ reduceRight?: boolean;
187
+ find?: boolean;
188
+ findIndex?: boolean;
189
+ fill?: boolean;
190
+ copyWithin?: boolean;
191
+ entries?: boolean;
192
+ keys?: boolean;
193
+ values?: boolean;
194
+ includes?: boolean;
195
+ flatMap?: boolean;
196
+ flat?: boolean;
197
+ };
198
+ };
199
+ createdAt: string;
200
+ variant: {
201
+ id: string;
202
+ sku: string;
203
+ name: string;
204
+ productName: string;
205
+ brandName: string;
206
+ };
207
+ warehouse: {
208
+ id: string;
209
+ name: string;
210
+ };
211
+ }[];
212
+ pagination: {
213
+ page: number;
214
+ limit: number;
215
+ total: number;
216
+ totalPages: number;
217
+ };
218
+ }, Error>;
219
+ /**
220
+ * Hook to get low stock alerts using admin RPC
221
+ */
222
+ export declare function useGetLowStockVariants(params?: {
223
+ brandId?: string;
224
+ }, options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['inventory']['low-stock']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<never, Error>;
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Type-safe admin RPC hooks for inventory 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 get inventory overview using admin RPC
11
+ */
12
+ export function useListInventory(params, options) {
13
+ const { baseURL, authToken } = useApiConfig();
14
+ return useQueryUnwrapped({
15
+ queryKey: queryKeys.admin.inventory.list(params),
16
+ queryFn: async () => {
17
+ const clients = createAdminRpcClients(baseURL);
18
+ const res = await clients.inventory.index.$get({ query: params }, authHeaders(authToken));
19
+ if (!res.ok)
20
+ throw new Error(`Failed to fetch inventory: ${res.statusText}`);
21
+ return res.json();
22
+ },
23
+ ...options,
24
+ });
25
+ }
26
+ /**
27
+ * Hook to adjust inventory using admin RPC
28
+ */
29
+ export function useAdjustInventory(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.inventory.adjust.$post({ json: data }, authHeaders(authToken));
36
+ if (!res.ok)
37
+ throw new Error(`Failed to adjust inventory: ${res.statusText}`);
38
+ return res.json();
39
+ },
40
+ onSuccess: () => {
41
+ queryClient.invalidateQueries({ queryKey: queryKeys.admin.inventory.all });
42
+ queryClient.invalidateQueries({ queryKey: queryKeys.admin.variants.all });
43
+ queryClient.invalidateQueries({ queryKey: queryKeys.admin.warehouses.all });
44
+ },
45
+ ...options,
46
+ });
47
+ }
48
+ /**
49
+ * Hook to transfer inventory between warehouses using admin RPC
50
+ */
51
+ export function useTransferInventory(options) {
52
+ const { baseURL, authToken } = useApiConfig();
53
+ const queryClient = useQueryClient();
54
+ return useMutation({
55
+ mutationFn: async (data) => {
56
+ const clients = createAdminRpcClients(baseURL);
57
+ const res = await clients.inventory.transfer.$post({ json: data }, authHeaders(authToken));
58
+ if (!res.ok)
59
+ throw new Error(`Failed to transfer inventory: ${res.statusText}`);
60
+ return res.json();
61
+ },
62
+ onSuccess: () => {
63
+ queryClient.invalidateQueries({ queryKey: queryKeys.admin.inventory.all });
64
+ queryClient.invalidateQueries({ queryKey: queryKeys.admin.warehouses.all });
65
+ },
66
+ ...options,
67
+ });
68
+ }
69
+ /**
70
+ * Hook to get inventory transaction history using admin RPC
71
+ */
72
+ export function useGetInventoryTransactions(params, options) {
73
+ const { baseURL, authToken } = useApiConfig();
74
+ return useQueryUnwrapped({
75
+ queryKey: queryKeys.admin.inventory.transactions(params),
76
+ queryFn: async () => {
77
+ const clients = createAdminRpcClients(baseURL);
78
+ const res = await clients.inventory.transactions.$get({ query: params }, authHeaders(authToken));
79
+ if (!res.ok)
80
+ throw new Error(`Failed to fetch inventory transactions: ${res.statusText}`);
81
+ return res.json();
82
+ },
83
+ ...options,
84
+ });
85
+ }
86
+ /**
87
+ * Hook to get low stock alerts using admin RPC
88
+ */
89
+ export function useGetLowStockVariants(params, options) {
90
+ const { baseURL, authToken } = useApiConfig();
91
+ return useQueryUnwrapped({
92
+ queryKey: queryKeys.admin.inventory.lowStock(params?.brandId),
93
+ queryFn: async () => {
94
+ const clients = createAdminRpcClients(baseURL);
95
+ const res = await clients.inventory['low-stock'].$get({ query: params }, authHeaders(authToken));
96
+ if (!res.ok)
97
+ throw new Error(`Failed to fetch low stock alerts: ${res.statusText}`);
98
+ return res.json();
99
+ },
100
+ ...options,
101
+ });
102
+ }