@instockng/api-client 1.0.0 → 1.0.2

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 (90) 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/brands.d.ts +25 -0
  6. package/dist/fetchers/brands.js +26 -0
  7. package/dist/fetchers/carts.d.ts +2339 -0
  8. package/dist/fetchers/carts.js +167 -0
  9. package/dist/fetchers/delivery-zones.d.ts +28 -0
  10. package/{src/fetchers/delivery-zones.ts → dist/fetchers/delivery-zones.js} +9 -12
  11. package/{src/fetchers/index.ts → dist/fetchers/index.d.ts} +1 -1
  12. package/dist/fetchers/index.js +22 -0
  13. package/dist/fetchers/orders.d.ts +283 -0
  14. package/dist/fetchers/orders.js +44 -0
  15. package/dist/fetchers/products.d.ts +386 -0
  16. package/dist/fetchers/products.js +42 -0
  17. package/dist/hooks/admin/abandoned-carts.d.ts +535 -0
  18. package/dist/hooks/admin/abandoned-carts.js +79 -0
  19. package/dist/hooks/admin/brands.d.ts +79 -0
  20. package/dist/hooks/admin/brands.js +103 -0
  21. package/dist/hooks/admin/customers.d.ts +278 -0
  22. package/dist/hooks/admin/customers.js +25 -0
  23. package/dist/hooks/admin/delivery-zones.d.ts +270 -0
  24. package/dist/hooks/admin/delivery-zones.js +168 -0
  25. package/dist/hooks/admin/discount-codes.d.ts +299 -0
  26. package/dist/hooks/admin/discount-codes.js +157 -0
  27. package/{src/hooks/admin/index.ts → dist/hooks/admin/index.d.ts} +0 -1
  28. package/dist/hooks/admin/index.js +16 -0
  29. package/dist/hooks/admin/inventory.d.ts +224 -0
  30. package/dist/hooks/admin/inventory.js +102 -0
  31. package/dist/hooks/admin/orders.d.ts +1380 -0
  32. package/dist/hooks/admin/orders.js +169 -0
  33. package/dist/hooks/admin/products.d.ts +374 -0
  34. package/dist/hooks/admin/products.js +84 -0
  35. package/dist/hooks/admin/stats.d.ts +277 -0
  36. package/dist/hooks/admin/stats.js +24 -0
  37. package/dist/hooks/admin/variants.d.ts +115 -0
  38. package/dist/hooks/admin/variants.js +121 -0
  39. package/dist/hooks/admin/warehouses.d.ts +277 -0
  40. package/dist/hooks/admin/warehouses.js +103 -0
  41. package/dist/hooks/public/brands.d.ts +33 -0
  42. package/dist/hooks/public/brands.js +30 -0
  43. package/dist/hooks/public/carts.d.ts +2407 -0
  44. package/dist/hooks/public/carts.js +213 -0
  45. package/dist/hooks/public/delivery-zones.d.ts +34 -0
  46. package/{src/hooks/public/delivery-zones.ts → dist/hooks/public/delivery-zones.js} +6 -12
  47. package/{src/hooks/public/index.ts → dist/hooks/public/index.d.ts} +1 -1
  48. package/dist/hooks/public/index.js +10 -0
  49. package/dist/hooks/public/orders.d.ts +302 -0
  50. package/{src/hooks/public/orders.ts → dist/hooks/public/orders.js} +12 -28
  51. package/dist/hooks/public/products.d.ts +398 -0
  52. package/{src/hooks/public/products.ts → dist/hooks/public/products.js} +12 -22
  53. package/dist/hooks/use-query-unwrapped.d.ts +20 -0
  54. package/dist/hooks/use-query-unwrapped.js +22 -0
  55. package/dist/hooks/useApiConfig.d.ts +11 -0
  56. package/dist/hooks/useApiConfig.js +14 -0
  57. package/dist/index.d.ts +20 -0
  58. package/{src/index.ts → dist/index.js} +0 -17
  59. package/dist/provider.d.ts +33 -0
  60. package/dist/provider.js +52 -0
  61. package/dist/rpc-client.d.ts +9043 -0
  62. package/dist/rpc-client.js +78 -0
  63. package/{src/rpc-types.ts → dist/rpc-types.d.ts} +35 -80
  64. package/dist/rpc-types.js +7 -0
  65. package/{src/types.ts → dist/types.d.ts} +0 -6
  66. package/dist/types.js +16 -0
  67. package/dist/utils/query-keys.d.ts +106 -0
  68. package/dist/utils/query-keys.js +108 -0
  69. package/package.json +24 -13
  70. package/src/client.ts +0 -57
  71. package/src/fetchers/carts.ts +0 -202
  72. package/src/fetchers/orders.ts +0 -48
  73. package/src/fetchers/products.ts +0 -46
  74. package/src/hooks/admin/abandoned-carts.ts +0 -102
  75. package/src/hooks/admin/brands.ts +0 -134
  76. package/src/hooks/admin/customers.ts +0 -31
  77. package/src/hooks/admin/delivery-zones.ts +0 -236
  78. package/src/hooks/admin/discount-codes.ts +0 -222
  79. package/src/hooks/admin/inventory.ts +0 -137
  80. package/src/hooks/admin/orders.ts +0 -229
  81. package/src/hooks/admin/products.ts +0 -116
  82. package/src/hooks/admin/stats.ts +0 -30
  83. package/src/hooks/admin/variants.ts +0 -173
  84. package/src/hooks/admin/warehouses.ts +0 -143
  85. package/src/hooks/public/carts.ts +0 -298
  86. package/src/hooks/use-query-unwrapped.ts +0 -30
  87. package/src/hooks/useApiConfig.ts +0 -22
  88. package/src/provider.tsx +0 -89
  89. package/src/rpc-client.ts +0 -106
  90. 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
+ }