@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.
- package/dist/apps/backend/src/lib/brand-response.d.ts +2 -0
- package/dist/apps/backend/src/lib/cart-helpers.d.ts +4 -0
- package/dist/apps/backend/src/lib/cart-response.d.ts +2 -0
- package/dist/apps/backend/src/lib/delivery-zone-response.d.ts +2 -0
- package/dist/apps/backend/src/lib/discount-code-response.d.ts +2 -0
- package/dist/apps/backend/src/lib/order-recovery.d.ts +6 -0
- package/dist/apps/backend/src/lib/order-response.d.ts +2 -0
- package/dist/apps/backend/src/lib/product-response.d.ts +2 -0
- package/dist/apps/backend/src/routes/admin/abandoned-carts.d.ts +4 -8
- package/dist/apps/backend/src/routes/admin/brands.d.ts +8 -0
- package/dist/apps/backend/src/routes/admin/customers.d.ts +2 -4
- package/dist/apps/backend/src/routes/admin/delivery-zones.d.ts +8 -0
- package/dist/apps/backend/src/routes/admin/discount-codes.d.ts +10 -0
- package/dist/apps/backend/src/routes/admin/inventory.d.ts +0 -4
- package/dist/apps/backend/src/routes/admin/orders.d.ts +12 -24
- package/dist/apps/backend/src/routes/admin/products.d.ts +8 -16
- package/dist/apps/backend/src/routes/admin/stats.d.ts +2 -4
- package/dist/apps/backend/src/routes/admin/warehouses.d.ts +2 -4
- package/dist/apps/backend/src/routes/public/brands.d.ts +1 -0
- package/dist/apps/backend/src/routes/public/brands.js +1 -0
- package/dist/apps/backend/src/routes/public/carts.d.ts +18 -36
- package/dist/apps/backend/src/routes/public/orders.d.ts +4 -8
- package/dist/apps/backend/src/routes/public/products.d.ts +4 -8
- package/dist/apps/backend/src/validators/brand.d.ts +4 -0
- package/dist/apps/backend/src/validators/brand.js +4 -0
- package/dist/packages/api-client/src/fetchers/brands.d.ts +1 -0
- package/dist/packages/api-client/src/fetchers/carts.d.ts +18 -36
- package/dist/packages/api-client/src/fetchers/orders.d.ts +4 -8
- package/dist/packages/api-client/src/fetchers/products.d.ts +4 -8
- package/dist/packages/api-client/src/hooks/admin/abandoned-carts.d.ts +4 -8
- package/dist/packages/api-client/src/hooks/admin/brands.d.ts +8 -0
- package/dist/packages/api-client/src/hooks/admin/customers.d.ts +2 -4
- package/dist/packages/api-client/src/hooks/admin/delivery-zones.d.ts +8 -0
- package/dist/packages/api-client/src/hooks/admin/discount-codes.d.ts +10 -0
- package/dist/packages/api-client/src/hooks/admin/inventory.d.ts +0 -4
- package/dist/packages/api-client/src/hooks/admin/orders.d.ts +12 -24
- package/dist/packages/api-client/src/hooks/admin/products.d.ts +4 -8
- package/dist/packages/api-client/src/hooks/admin/stats.d.ts +2 -4
- package/dist/packages/api-client/src/hooks/admin/warehouses.d.ts +2 -4
- package/dist/packages/api-client/src/hooks/public/brands.d.ts +1 -0
- package/dist/packages/api-client/src/hooks/public/carts.d.ts +18 -36
- package/dist/packages/api-client/src/hooks/public/orders.d.ts +4 -8
- package/dist/packages/api-client/src/hooks/public/products.d.ts +4 -8
- package/dist/packages/api-client/src/rpc-client.d.ts +83 -116
- package/package.json +1 -1
- package/dist/apps/backend/src/generated/zod/index.d.ts +0 -1114
- package/dist/apps/backend/src/generated/zod/index.js +0 -670
- package/dist/backend-types.d.ts +0 -10
- package/dist/backend-types.js +0 -10
- package/dist/client.d.ts +0 -20
- package/dist/client.js +0 -40
- package/dist/enum-types.d.ts +0 -8
- package/dist/enum-types.js +0 -5
- package/dist/fetchers/brands.d.ts +0 -25
- package/dist/fetchers/brands.js +0 -26
- package/dist/fetchers/carts.d.ts +0 -2335
- package/dist/fetchers/carts.js +0 -174
- package/dist/fetchers/delivery-zones.d.ts +0 -28
- package/dist/fetchers/delivery-zones.js +0 -26
- package/dist/fetchers/index.d.ts +0 -22
- package/dist/fetchers/index.js +0 -22
- package/dist/fetchers/orders.d.ts +0 -540
- package/dist/fetchers/orders.js +0 -44
- package/dist/fetchers/products.d.ts +0 -386
- package/dist/fetchers/products.js +0 -42
- package/dist/hooks/admin/abandoned-carts.d.ts +0 -535
- package/dist/hooks/admin/abandoned-carts.js +0 -83
- package/dist/hooks/admin/brands.d.ts +0 -79
- package/dist/hooks/admin/brands.js +0 -108
- package/dist/hooks/admin/customers.d.ts +0 -278
- package/dist/hooks/admin/customers.js +0 -26
- package/dist/hooks/admin/delivery-zones.d.ts +0 -270
- package/dist/hooks/admin/delivery-zones.js +0 -176
- package/dist/hooks/admin/discount-codes.d.ts +0 -299
- package/dist/hooks/admin/discount-codes.js +0 -165
- package/dist/hooks/admin/index.d.ts +0 -16
- package/dist/hooks/admin/index.js +0 -16
- package/dist/hooks/admin/inventory.d.ts +0 -224
- package/dist/hooks/admin/inventory.js +0 -107
- package/dist/hooks/admin/orders.d.ts +0 -1662
- package/dist/hooks/admin/orders.js +0 -178
- package/dist/hooks/admin/products.d.ts +0 -374
- package/dist/hooks/admin/products.js +0 -89
- package/dist/hooks/admin/stats.d.ts +0 -277
- package/dist/hooks/admin/stats.js +0 -25
- package/dist/hooks/admin/variants.d.ts +0 -115
- package/dist/hooks/admin/variants.js +0 -127
- package/dist/hooks/admin/warehouses.d.ts +0 -277
- package/dist/hooks/admin/warehouses.js +0 -108
- package/dist/hooks/public/brands.d.ts +0 -33
- package/dist/hooks/public/brands.js +0 -30
- package/dist/hooks/public/carts.d.ts +0 -2405
- package/dist/hooks/public/carts.js +0 -213
- package/dist/hooks/public/delivery-zones.d.ts +0 -34
- package/dist/hooks/public/delivery-zones.js +0 -28
- package/dist/hooks/public/index.d.ts +0 -10
- package/dist/hooks/public/index.js +0 -10
- package/dist/hooks/public/orders.d.ts +0 -559
- package/dist/hooks/public/orders.js +0 -50
- package/dist/hooks/public/products.d.ts +0 -398
- package/dist/hooks/public/products.js +0 -47
- package/dist/hooks/use-query-unwrapped.d.ts +0 -20
- package/dist/hooks/use-query-unwrapped.js +0 -22
- package/dist/hooks/useApiConfig.d.ts +0 -12
- package/dist/hooks/useApiConfig.js +0 -14
- package/dist/index.d.ts +0 -20
- package/dist/index.js +0 -25
- package/dist/provider.d.ts +0 -36
- package/dist/provider.js +0 -54
- package/dist/rpc-client.d.ts +0 -9607
- package/dist/rpc-client.js +0 -78
- package/dist/rpc-types.d.ts +0 -76
- package/dist/rpc-types.js +0 -7
- package/dist/types.d.ts +0 -34
- package/dist/types.js +0 -16
- package/dist/utils/query-keys.d.ts +0 -106
- package/dist/utils/query-keys.js +0 -108
|
@@ -1,277 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type-safe admin RPC hooks for statistics
|
|
3
|
-
*/
|
|
4
|
-
import { UseQueryOptions } from '@tanstack/react-query';
|
|
5
|
-
import { createAdminRpcClients } from '../../rpc-client';
|
|
6
|
-
/**
|
|
7
|
-
* Hook to get dashboard statistics using admin RPC
|
|
8
|
-
*/
|
|
9
|
-
export declare function useGetStats(params?: {
|
|
10
|
-
brandId?: string;
|
|
11
|
-
}, options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['stats']['index']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
|
|
12
|
-
overview: {
|
|
13
|
-
totalOrders: number;
|
|
14
|
-
pendingOrders: number;
|
|
15
|
-
shippedOrders: number;
|
|
16
|
-
deliveredOrders: number;
|
|
17
|
-
totalRevenue: number;
|
|
18
|
-
};
|
|
19
|
-
recentOrders: {
|
|
20
|
-
subtotal: number;
|
|
21
|
-
deliveryCharge: number;
|
|
22
|
-
totalPrice: number;
|
|
23
|
-
discountAmount: number;
|
|
24
|
-
createdAt: string;
|
|
25
|
-
updatedAt: string;
|
|
26
|
-
deletedAt: string;
|
|
27
|
-
prospectSince: string;
|
|
28
|
-
lastRecoveryAttemptAt: string;
|
|
29
|
-
brand: {
|
|
30
|
-
createdAt: string;
|
|
31
|
-
updatedAt: string;
|
|
32
|
-
deletedAt: string;
|
|
33
|
-
name: string;
|
|
34
|
-
id: string;
|
|
35
|
-
slug: string;
|
|
36
|
-
logoUrl: string | null;
|
|
37
|
-
siteUrl: string;
|
|
38
|
-
domain: string;
|
|
39
|
-
metaPixelId: string | null;
|
|
40
|
-
};
|
|
41
|
-
deliveryZone: {
|
|
42
|
-
deliveryCost: number;
|
|
43
|
-
freeShippingThreshold: number;
|
|
44
|
-
createdAt: string;
|
|
45
|
-
updatedAt: string;
|
|
46
|
-
deletedAt: string;
|
|
47
|
-
state: {
|
|
48
|
-
createdAt: string;
|
|
49
|
-
updatedAt: string;
|
|
50
|
-
deletedAt: string;
|
|
51
|
-
name: string;
|
|
52
|
-
id: string;
|
|
53
|
-
isActive: boolean;
|
|
54
|
-
};
|
|
55
|
-
name: string;
|
|
56
|
-
id: string;
|
|
57
|
-
brandId: string | null;
|
|
58
|
-
stateId: string;
|
|
59
|
-
allowCOD: boolean;
|
|
60
|
-
allowOnline: boolean;
|
|
61
|
-
waybillOnly: boolean;
|
|
62
|
-
estimatedDays: number | null;
|
|
63
|
-
isActive: boolean;
|
|
64
|
-
};
|
|
65
|
-
items: {
|
|
66
|
-
priceAtPurchase: number;
|
|
67
|
-
variant: {
|
|
68
|
-
price: number;
|
|
69
|
-
createdAt: string;
|
|
70
|
-
updatedAt: string;
|
|
71
|
-
deletedAt: string;
|
|
72
|
-
product: {
|
|
73
|
-
createdAt: string;
|
|
74
|
-
updatedAt: string;
|
|
75
|
-
deletedAt: string;
|
|
76
|
-
name: string;
|
|
77
|
-
id: string;
|
|
78
|
-
slug: string;
|
|
79
|
-
brandId: string;
|
|
80
|
-
isActive: boolean;
|
|
81
|
-
description: string | null;
|
|
82
|
-
thumbnailUrl: string | null;
|
|
83
|
-
quantityDiscounts: string | number | boolean | {
|
|
84
|
-
[x: string]: string | number | boolean | /*elided*/ any | {
|
|
85
|
-
[x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
|
|
86
|
-
length: number;
|
|
87
|
-
toString: never;
|
|
88
|
-
toLocaleString: never;
|
|
89
|
-
pop: never;
|
|
90
|
-
push: never;
|
|
91
|
-
concat: never;
|
|
92
|
-
join: never;
|
|
93
|
-
reverse: never;
|
|
94
|
-
shift: never;
|
|
95
|
-
slice: never;
|
|
96
|
-
sort: never;
|
|
97
|
-
splice: never;
|
|
98
|
-
unshift: never;
|
|
99
|
-
indexOf: never;
|
|
100
|
-
lastIndexOf: never;
|
|
101
|
-
every: never;
|
|
102
|
-
some: never;
|
|
103
|
-
forEach: never;
|
|
104
|
-
map: never;
|
|
105
|
-
filter: never;
|
|
106
|
-
reduce: never;
|
|
107
|
-
reduceRight: never;
|
|
108
|
-
find: never;
|
|
109
|
-
findIndex: never;
|
|
110
|
-
fill: never;
|
|
111
|
-
copyWithin: never;
|
|
112
|
-
entries: never;
|
|
113
|
-
keys: never;
|
|
114
|
-
values: never;
|
|
115
|
-
includes: never;
|
|
116
|
-
flatMap: never;
|
|
117
|
-
flat: never;
|
|
118
|
-
[Symbol.iterator]: never;
|
|
119
|
-
readonly [Symbol.unscopables]: {
|
|
120
|
-
[x: number]: boolean;
|
|
121
|
-
length?: boolean;
|
|
122
|
-
toString?: boolean;
|
|
123
|
-
toLocaleString?: boolean;
|
|
124
|
-
pop?: boolean;
|
|
125
|
-
push?: boolean;
|
|
126
|
-
concat?: boolean;
|
|
127
|
-
join?: boolean;
|
|
128
|
-
reverse?: boolean;
|
|
129
|
-
shift?: boolean;
|
|
130
|
-
slice?: boolean;
|
|
131
|
-
sort?: boolean;
|
|
132
|
-
splice?: boolean;
|
|
133
|
-
unshift?: boolean;
|
|
134
|
-
indexOf?: boolean;
|
|
135
|
-
lastIndexOf?: boolean;
|
|
136
|
-
every?: boolean;
|
|
137
|
-
some?: boolean;
|
|
138
|
-
forEach?: boolean;
|
|
139
|
-
map?: boolean;
|
|
140
|
-
filter?: boolean;
|
|
141
|
-
reduce?: boolean;
|
|
142
|
-
reduceRight?: boolean;
|
|
143
|
-
find?: boolean;
|
|
144
|
-
findIndex?: boolean;
|
|
145
|
-
fill?: boolean;
|
|
146
|
-
copyWithin?: boolean;
|
|
147
|
-
entries?: boolean;
|
|
148
|
-
keys?: boolean;
|
|
149
|
-
values?: boolean;
|
|
150
|
-
includes?: boolean;
|
|
151
|
-
flatMap?: boolean;
|
|
152
|
-
flat?: boolean;
|
|
153
|
-
};
|
|
154
|
-
};
|
|
155
|
-
} | {
|
|
156
|
-
[x: number]: string | number | boolean | {
|
|
157
|
-
[x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
|
|
158
|
-
} | /*elided*/ any;
|
|
159
|
-
length: number;
|
|
160
|
-
toString: never;
|
|
161
|
-
toLocaleString: never;
|
|
162
|
-
pop: never;
|
|
163
|
-
push: never;
|
|
164
|
-
concat: never;
|
|
165
|
-
join: never;
|
|
166
|
-
reverse: never;
|
|
167
|
-
shift: never;
|
|
168
|
-
slice: never;
|
|
169
|
-
sort: never;
|
|
170
|
-
splice: never;
|
|
171
|
-
unshift: never;
|
|
172
|
-
indexOf: never;
|
|
173
|
-
lastIndexOf: never;
|
|
174
|
-
every: never;
|
|
175
|
-
some: never;
|
|
176
|
-
forEach: never;
|
|
177
|
-
map: never;
|
|
178
|
-
filter: never;
|
|
179
|
-
reduce: never;
|
|
180
|
-
reduceRight: never;
|
|
181
|
-
find: never;
|
|
182
|
-
findIndex: never;
|
|
183
|
-
fill: never;
|
|
184
|
-
copyWithin: never;
|
|
185
|
-
entries: never;
|
|
186
|
-
keys: never;
|
|
187
|
-
values: never;
|
|
188
|
-
includes: never;
|
|
189
|
-
flatMap: never;
|
|
190
|
-
flat: never;
|
|
191
|
-
[Symbol.iterator]: never;
|
|
192
|
-
readonly [Symbol.unscopables]: {
|
|
193
|
-
[x: number]: boolean;
|
|
194
|
-
length?: boolean;
|
|
195
|
-
toString?: boolean;
|
|
196
|
-
toLocaleString?: boolean;
|
|
197
|
-
pop?: boolean;
|
|
198
|
-
push?: boolean;
|
|
199
|
-
concat?: boolean;
|
|
200
|
-
join?: boolean;
|
|
201
|
-
reverse?: boolean;
|
|
202
|
-
shift?: boolean;
|
|
203
|
-
slice?: boolean;
|
|
204
|
-
sort?: boolean;
|
|
205
|
-
splice?: boolean;
|
|
206
|
-
unshift?: boolean;
|
|
207
|
-
indexOf?: boolean;
|
|
208
|
-
lastIndexOf?: boolean;
|
|
209
|
-
every?: boolean;
|
|
210
|
-
some?: boolean;
|
|
211
|
-
forEach?: boolean;
|
|
212
|
-
map?: boolean;
|
|
213
|
-
filter?: boolean;
|
|
214
|
-
reduce?: boolean;
|
|
215
|
-
reduceRight?: boolean;
|
|
216
|
-
find?: boolean;
|
|
217
|
-
findIndex?: boolean;
|
|
218
|
-
fill?: boolean;
|
|
219
|
-
copyWithin?: boolean;
|
|
220
|
-
entries?: boolean;
|
|
221
|
-
keys?: boolean;
|
|
222
|
-
values?: boolean;
|
|
223
|
-
includes?: boolean;
|
|
224
|
-
flatMap?: boolean;
|
|
225
|
-
flat?: boolean;
|
|
226
|
-
};
|
|
227
|
-
};
|
|
228
|
-
};
|
|
229
|
-
name: string | null;
|
|
230
|
-
id: string;
|
|
231
|
-
isActive: boolean;
|
|
232
|
-
thumbnailUrl: string | null;
|
|
233
|
-
productId: string;
|
|
234
|
-
sku: string;
|
|
235
|
-
trackInventory: boolean;
|
|
236
|
-
lowStockThreshold: number | null;
|
|
237
|
-
};
|
|
238
|
-
warehouse: {
|
|
239
|
-
createdAt: string;
|
|
240
|
-
updatedAt: string;
|
|
241
|
-
deletedAt: string;
|
|
242
|
-
name: string;
|
|
243
|
-
id: string;
|
|
244
|
-
isActive: boolean;
|
|
245
|
-
address: string | null;
|
|
246
|
-
city: string | null;
|
|
247
|
-
state: string | null;
|
|
248
|
-
};
|
|
249
|
-
id: string;
|
|
250
|
-
orderId: string;
|
|
251
|
-
variantId: string;
|
|
252
|
-
warehouseId: string | null;
|
|
253
|
-
quantity: number;
|
|
254
|
-
}[];
|
|
255
|
-
id: string;
|
|
256
|
-
email: string | null;
|
|
257
|
-
brandId: string;
|
|
258
|
-
deliveryZoneId: string;
|
|
259
|
-
recoveryAttempts: number;
|
|
260
|
-
recoveryDiscountCodeId: string | null;
|
|
261
|
-
wasRecovered: boolean;
|
|
262
|
-
estimatedDays: number | null;
|
|
263
|
-
orderNumber: number;
|
|
264
|
-
firstName: string;
|
|
265
|
-
lastName: string;
|
|
266
|
-
phone: string;
|
|
267
|
-
address: string;
|
|
268
|
-
city: string;
|
|
269
|
-
discountCodeId: string | null;
|
|
270
|
-
paymentMethod: import("@prisma/client").$Enums.PaymentMethod;
|
|
271
|
-
paystackReference: string | null;
|
|
272
|
-
status: import("@prisma/client").$Enums.OrderStatus;
|
|
273
|
-
cancellationReason: string | null;
|
|
274
|
-
prospectReason: import("@prisma/client").$Enums.ProspectReason | null;
|
|
275
|
-
userActionToken: string;
|
|
276
|
-
}[];
|
|
277
|
-
}, Error>;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type-safe admin RPC hooks for statistics
|
|
3
|
-
*/
|
|
4
|
-
import { useQueryUnwrapped } from '../use-query-unwrapped';
|
|
5
|
-
import { createAdminRpcClients, authHeaders } from '../../rpc-client';
|
|
6
|
-
import { queryKeys } from '../../utils/query-keys';
|
|
7
|
-
import { useApiConfig } from '../useApiConfig';
|
|
8
|
-
/**
|
|
9
|
-
* Hook to get dashboard statistics using admin RPC
|
|
10
|
-
*/
|
|
11
|
-
export function useGetStats(params, options) {
|
|
12
|
-
const { baseURL, getAuthToken } = useApiConfig();
|
|
13
|
-
return useQueryUnwrapped({
|
|
14
|
-
queryKey: queryKeys.admin.stats.overview(params?.brandId),
|
|
15
|
-
queryFn: async () => {
|
|
16
|
-
const token = await getAuthToken();
|
|
17
|
-
const clients = createAdminRpcClients(baseURL);
|
|
18
|
-
const res = await clients.stats.index.$get({ query: params }, authHeaders(token));
|
|
19
|
-
if (!res.ok)
|
|
20
|
-
throw new Error(`Failed to fetch statistics: ${res.statusText}`);
|
|
21
|
-
return res.json();
|
|
22
|
-
},
|
|
23
|
-
...options,
|
|
24
|
-
});
|
|
25
|
-
}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type-safe admin RPC hooks for variant management
|
|
3
|
-
*/
|
|
4
|
-
import { UseQueryOptions, UseMutationOptions } from '@tanstack/react-query';
|
|
5
|
-
import { createAdminRpcClients } from '../../rpc-client';
|
|
6
|
-
/**
|
|
7
|
-
* Hook to search variants across all products using admin RPC
|
|
8
|
-
*/
|
|
9
|
-
export declare function useSearchVariants(params?: {
|
|
10
|
-
brandId?: string;
|
|
11
|
-
search?: string;
|
|
12
|
-
}, options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['variants']['index']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
|
|
13
|
-
createdAt: string;
|
|
14
|
-
updatedAt: string;
|
|
15
|
-
price: number;
|
|
16
|
-
deletedAt: string;
|
|
17
|
-
name: string | null;
|
|
18
|
-
id: string;
|
|
19
|
-
isActive: boolean;
|
|
20
|
-
thumbnailUrl: string | null;
|
|
21
|
-
productId: string;
|
|
22
|
-
sku: string;
|
|
23
|
-
trackInventory: boolean;
|
|
24
|
-
lowStockThreshold: number | null;
|
|
25
|
-
}[], Error>;
|
|
26
|
-
/**
|
|
27
|
-
* Hook to list variants for a specific product using admin RPC
|
|
28
|
-
*/
|
|
29
|
-
export declare function useListProductVariants(productId: string, options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['variants']['products'][':productId']['variants']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
|
|
30
|
-
createdAt: string;
|
|
31
|
-
updatedAt: string;
|
|
32
|
-
price: number;
|
|
33
|
-
deletedAt: string;
|
|
34
|
-
name: string | null;
|
|
35
|
-
id: string;
|
|
36
|
-
isActive: boolean;
|
|
37
|
-
thumbnailUrl: string | null;
|
|
38
|
-
productId: string;
|
|
39
|
-
sku: string;
|
|
40
|
-
trackInventory: boolean;
|
|
41
|
-
lowStockThreshold: number | null;
|
|
42
|
-
}[], Error>;
|
|
43
|
-
/**
|
|
44
|
-
* Hook to create a variant for a product using admin RPC
|
|
45
|
-
*/
|
|
46
|
-
export declare function useCreateVariant(productId: string, options?: UseMutationOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['variants']['products'][':productId']['variants']['$post']>>['json']>>, Error, any>): import("@tanstack/react-query").UseMutationResult<{
|
|
47
|
-
createdAt: string;
|
|
48
|
-
updatedAt: string;
|
|
49
|
-
price: number;
|
|
50
|
-
deletedAt: string;
|
|
51
|
-
name: string | null;
|
|
52
|
-
id: string;
|
|
53
|
-
isActive: boolean;
|
|
54
|
-
thumbnailUrl: string | null;
|
|
55
|
-
productId: string;
|
|
56
|
-
sku: string;
|
|
57
|
-
trackInventory: boolean;
|
|
58
|
-
lowStockThreshold: number | null;
|
|
59
|
-
} | {
|
|
60
|
-
error: {
|
|
61
|
-
code: string;
|
|
62
|
-
message: string;
|
|
63
|
-
};
|
|
64
|
-
}, Error, any, unknown>;
|
|
65
|
-
/**
|
|
66
|
-
* Hook to update a variant using admin RPC
|
|
67
|
-
*/
|
|
68
|
-
export declare function useUpdateVariant(variantId: string, options?: UseMutationOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['variants'][':id']['$patch']>>['json']>>, Error, any>): import("@tanstack/react-query").UseMutationResult<{
|
|
69
|
-
createdAt: string;
|
|
70
|
-
updatedAt: string;
|
|
71
|
-
price: number;
|
|
72
|
-
deletedAt: string;
|
|
73
|
-
name: string | null;
|
|
74
|
-
id: string;
|
|
75
|
-
isActive: boolean;
|
|
76
|
-
thumbnailUrl: string | null;
|
|
77
|
-
productId: string;
|
|
78
|
-
sku: string;
|
|
79
|
-
trackInventory: boolean;
|
|
80
|
-
lowStockThreshold: number | null;
|
|
81
|
-
} | {
|
|
82
|
-
error: {
|
|
83
|
-
code: string;
|
|
84
|
-
message: string;
|
|
85
|
-
};
|
|
86
|
-
}, Error, any, unknown>;
|
|
87
|
-
/**
|
|
88
|
-
* Hook to get variant inventory across all warehouses using admin RPC
|
|
89
|
-
*/
|
|
90
|
-
export declare function useGetVariantInventory(variantId: string, options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['variants'][':id']['inventory']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
|
|
91
|
-
variant: {
|
|
92
|
-
createdAt: string;
|
|
93
|
-
updatedAt: string;
|
|
94
|
-
price: number;
|
|
95
|
-
deletedAt: string;
|
|
96
|
-
name: string | null;
|
|
97
|
-
id: string;
|
|
98
|
-
isActive: boolean;
|
|
99
|
-
thumbnailUrl: string | null;
|
|
100
|
-
productId: string;
|
|
101
|
-
sku: string;
|
|
102
|
-
trackInventory: boolean;
|
|
103
|
-
lowStockThreshold: number | null;
|
|
104
|
-
};
|
|
105
|
-
totalInventory: number;
|
|
106
|
-
warehouses: {
|
|
107
|
-
warehouseId: string;
|
|
108
|
-
warehouseName: string;
|
|
109
|
-
inventoryCount: number;
|
|
110
|
-
}[];
|
|
111
|
-
}, Error>;
|
|
112
|
-
/**
|
|
113
|
-
* Hook to delete a variant using admin RPC
|
|
114
|
-
*/
|
|
115
|
-
export declare function useDeleteVariant(variantId: string, options?: UseMutationOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['variants'][':id']['$delete']>>['json']>>, Error, void>): import("@tanstack/react-query").UseMutationResult<unknown, Error, void, unknown>;
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type-safe admin RPC hooks for variant 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 search variants across all products using admin RPC
|
|
11
|
-
*/
|
|
12
|
-
export function useSearchVariants(params, options) {
|
|
13
|
-
const { baseURL, getAuthToken } = useApiConfig();
|
|
14
|
-
return useQueryUnwrapped({
|
|
15
|
-
queryKey: queryKeys.admin.variants.search(params),
|
|
16
|
-
queryFn: async () => {
|
|
17
|
-
const token = await getAuthToken();
|
|
18
|
-
const clients = createAdminRpcClients(baseURL);
|
|
19
|
-
const res = await clients.variants.index.$get({ query: params }, authHeaders(token));
|
|
20
|
-
if (!res.ok)
|
|
21
|
-
throw new Error(`Failed to search variants: ${res.statusText}`);
|
|
22
|
-
return res.json();
|
|
23
|
-
},
|
|
24
|
-
...options,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Hook to list variants for a specific product using admin RPC
|
|
29
|
-
*/
|
|
30
|
-
export function useListProductVariants(productId, options) {
|
|
31
|
-
const { baseURL, getAuthToken } = useApiConfig();
|
|
32
|
-
return useQueryUnwrapped({
|
|
33
|
-
queryKey: queryKeys.admin.variants.byProduct(productId),
|
|
34
|
-
queryFn: async () => {
|
|
35
|
-
const token = await getAuthToken();
|
|
36
|
-
const clients = createAdminRpcClients(baseURL);
|
|
37
|
-
const res = await clients.variants.products[':productId'].variants.$get({ param: { productId } }, authHeaders(token));
|
|
38
|
-
if (!res.ok)
|
|
39
|
-
throw new Error(`Failed to fetch product variants: ${res.statusText}`);
|
|
40
|
-
return res.json();
|
|
41
|
-
},
|
|
42
|
-
...options,
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Hook to create a variant for a product using admin RPC
|
|
47
|
-
*/
|
|
48
|
-
export function useCreateVariant(productId, options) {
|
|
49
|
-
const { baseURL, getAuthToken } = useApiConfig();
|
|
50
|
-
const queryClient = useQueryClient();
|
|
51
|
-
return useMutation({
|
|
52
|
-
mutationFn: async (data) => {
|
|
53
|
-
const token = await getAuthToken();
|
|
54
|
-
const clients = createAdminRpcClients(baseURL);
|
|
55
|
-
const res = await clients.variants.products[':productId'].variants.$post({ json: data, param: { productId } }, authHeaders(token));
|
|
56
|
-
if (!res.ok)
|
|
57
|
-
throw new Error(`Failed to create variant: ${res.statusText}`);
|
|
58
|
-
return res.json();
|
|
59
|
-
},
|
|
60
|
-
onSuccess: () => {
|
|
61
|
-
queryClient.invalidateQueries({ queryKey: queryKeys.admin.variants.all });
|
|
62
|
-
queryClient.invalidateQueries({ queryKey: queryKeys.admin.products.detail(productId) });
|
|
63
|
-
},
|
|
64
|
-
...options,
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Hook to update a variant using admin RPC
|
|
69
|
-
*/
|
|
70
|
-
export function useUpdateVariant(variantId, options) {
|
|
71
|
-
const { baseURL, getAuthToken } = useApiConfig();
|
|
72
|
-
const queryClient = useQueryClient();
|
|
73
|
-
return useMutation({
|
|
74
|
-
mutationFn: async (data) => {
|
|
75
|
-
const token = await getAuthToken();
|
|
76
|
-
const clients = createAdminRpcClients(baseURL);
|
|
77
|
-
const res = await clients.variants[':id'].$patch({ json: data, param: { id: variantId } }, authHeaders(token));
|
|
78
|
-
if (!res.ok)
|
|
79
|
-
throw new Error(`Failed to update variant: ${res.statusText}`);
|
|
80
|
-
return res.json();
|
|
81
|
-
},
|
|
82
|
-
onSuccess: () => {
|
|
83
|
-
queryClient.invalidateQueries({ queryKey: queryKeys.admin.variants.detail(variantId) });
|
|
84
|
-
queryClient.invalidateQueries({ queryKey: queryKeys.admin.variants.all });
|
|
85
|
-
},
|
|
86
|
-
...options,
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Hook to get variant inventory across all warehouses using admin RPC
|
|
91
|
-
*/
|
|
92
|
-
export function useGetVariantInventory(variantId, options) {
|
|
93
|
-
const { baseURL, getAuthToken } = useApiConfig();
|
|
94
|
-
return useQueryUnwrapped({
|
|
95
|
-
queryKey: queryKeys.admin.variants.inventory(variantId),
|
|
96
|
-
queryFn: async () => {
|
|
97
|
-
const token = await getAuthToken();
|
|
98
|
-
const clients = createAdminRpcClients(baseURL);
|
|
99
|
-
const res = await clients.variants[':id'].inventory.$get({ param: { id: variantId } }, authHeaders(token));
|
|
100
|
-
if (!res.ok)
|
|
101
|
-
throw new Error(`Failed to fetch variant inventory: ${res.statusText}`);
|
|
102
|
-
return res.json();
|
|
103
|
-
},
|
|
104
|
-
...options,
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Hook to delete a variant using admin RPC
|
|
109
|
-
*/
|
|
110
|
-
export function useDeleteVariant(variantId, options) {
|
|
111
|
-
const { baseURL, getAuthToken } = useApiConfig();
|
|
112
|
-
const queryClient = useQueryClient();
|
|
113
|
-
return useMutation({
|
|
114
|
-
mutationFn: async () => {
|
|
115
|
-
const token = await getAuthToken();
|
|
116
|
-
const clients = createAdminRpcClients(baseURL);
|
|
117
|
-
const res = await clients.variants[':id'].$delete({ param: { id: variantId } }, authHeaders(token));
|
|
118
|
-
if (!res.ok)
|
|
119
|
-
throw new Error(`Failed to delete variant: ${res.statusText}`);
|
|
120
|
-
return res.json();
|
|
121
|
-
},
|
|
122
|
-
onSuccess: () => {
|
|
123
|
-
queryClient.invalidateQueries({ queryKey: queryKeys.admin.variants.all });
|
|
124
|
-
},
|
|
125
|
-
...options,
|
|
126
|
-
});
|
|
127
|
-
}
|