@instockng/api-client 1.0.5 → 1.0.6

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 (186) hide show
  1. package/dist/enum-types.d.ts +8 -0
  2. package/dist/enum-types.js +5 -0
  3. package/dist/fetchers/carts.js +5 -0
  4. package/dist/hooks/admin/abandoned-carts.js +12 -8
  5. package/dist/hooks/admin/brands.js +15 -10
  6. package/dist/hooks/admin/customers.js +3 -2
  7. package/dist/hooks/admin/delivery-zones.js +24 -16
  8. package/dist/hooks/admin/discount-codes.js +24 -16
  9. package/dist/hooks/admin/inventory.js +15 -10
  10. package/dist/hooks/admin/orders.js +18 -12
  11. package/dist/hooks/admin/products.js +15 -10
  12. package/dist/hooks/admin/stats.js +3 -2
  13. package/dist/hooks/admin/variants.js +18 -12
  14. package/dist/hooks/admin/warehouses.js +15 -10
  15. package/dist/hooks/useApiConfig.d.ts +2 -1
  16. package/dist/hooks/useApiConfig.js +2 -2
  17. package/dist/provider.d.ts +7 -4
  18. package/dist/provider.js +5 -3
  19. package/dist/types.d.ts +1 -0
  20. package/package.json +1 -1
  21. package/dist/apps/backend/src/generated/zod/index.d.ts +0 -1114
  22. package/dist/apps/backend/src/generated/zod/index.js +0 -670
  23. package/dist/apps/backend/src/http-app.d.ts +0 -40
  24. package/dist/apps/backend/src/http-app.js +0 -106
  25. package/dist/apps/backend/src/lib/brand-response.d.ts +0 -14
  26. package/dist/apps/backend/src/lib/brand-response.js +0 -8
  27. package/dist/apps/backend/src/lib/cart-helpers.d.ts +0 -280
  28. package/dist/apps/backend/src/lib/cart-helpers.js +0 -93
  29. package/dist/apps/backend/src/lib/cart-recovery.d.ts +0 -30
  30. package/dist/apps/backend/src/lib/cart-recovery.js +0 -147
  31. package/dist/apps/backend/src/lib/cart-response.d.ts +0 -121
  32. package/dist/apps/backend/src/lib/cart-response.js +0 -150
  33. package/dist/apps/backend/src/lib/clerk.d.ts +0 -18
  34. package/dist/apps/backend/src/lib/clerk.js +0 -167
  35. package/dist/apps/backend/src/lib/delivery-zone-response.d.ts +0 -62
  36. package/dist/apps/backend/src/lib/delivery-zone-response.js +0 -24
  37. package/dist/apps/backend/src/lib/discount-code-response.d.ts +0 -42
  38. package/dist/apps/backend/src/lib/discount-code-response.js +0 -19
  39. package/dist/apps/backend/src/lib/discount.d.ts +0 -20
  40. package/dist/apps/backend/src/lib/discount.js +0 -35
  41. package/dist/apps/backend/src/lib/inventory.d.ts +0 -26
  42. package/dist/apps/backend/src/lib/inventory.js +0 -160
  43. package/dist/apps/backend/src/lib/meta-capi.d.ts +0 -48
  44. package/dist/apps/backend/src/lib/meta-capi.js +0 -120
  45. package/dist/apps/backend/src/lib/openapi.d.ts +0 -36
  46. package/dist/apps/backend/src/lib/openapi.js +0 -69
  47. package/dist/apps/backend/src/lib/order-recovery.d.ts +0 -367
  48. package/dist/apps/backend/src/lib/order-recovery.js +0 -373
  49. package/dist/apps/backend/src/lib/order-response.d.ts +0 -136
  50. package/dist/apps/backend/src/lib/order-response.js +0 -61
  51. package/dist/apps/backend/src/lib/pricing.d.ts +0 -39
  52. package/dist/apps/backend/src/lib/pricing.js +0 -62
  53. package/dist/apps/backend/src/lib/prisma.d.ts +0 -9
  54. package/dist/apps/backend/src/lib/prisma.js +0 -30
  55. package/dist/apps/backend/src/lib/product-response.d.ts +0 -82
  56. package/dist/apps/backend/src/lib/product-response.js +0 -29
  57. package/dist/apps/backend/src/lib/utils.d.ts +0 -32
  58. package/dist/apps/backend/src/lib/utils.js +0 -63
  59. package/dist/apps/backend/src/middleware/clerk-auth.d.ts +0 -8
  60. package/dist/apps/backend/src/middleware/clerk-auth.js +0 -89
  61. package/dist/apps/backend/src/middleware/cors.d.ts +0 -8
  62. package/dist/apps/backend/src/middleware/cors.js +0 -11
  63. package/dist/apps/backend/src/notifications/producers/meta-capi-producer.d.ts +0 -55
  64. package/dist/apps/backend/src/notifications/producers/meta-capi-producer.js +0 -125
  65. package/dist/apps/backend/src/notifications/producers/order-notification.d.ts +0 -9
  66. package/dist/apps/backend/src/notifications/producers/order-notification.js +0 -18
  67. package/dist/apps/backend/src/notifications/producers/prospect-recovery-notification.d.ts +0 -10
  68. package/dist/apps/backend/src/notifications/producers/prospect-recovery-notification.js +0 -11
  69. package/dist/apps/backend/src/routes/admin/abandoned-carts.d.ts +0 -605
  70. package/dist/apps/backend/src/routes/admin/abandoned-carts.js +0 -194
  71. package/dist/apps/backend/src/routes/admin/brands.d.ts +0 -175
  72. package/dist/apps/backend/src/routes/admin/brands.js +0 -118
  73. package/dist/apps/backend/src/routes/admin/customers.d.ts +0 -306
  74. package/dist/apps/backend/src/routes/admin/customers.js +0 -39
  75. package/dist/apps/backend/src/routes/admin/delivery-zones.d.ts +0 -438
  76. package/dist/apps/backend/src/routes/admin/delivery-zones.js +0 -300
  77. package/dist/apps/backend/src/routes/admin/discount-codes.d.ts +0 -478
  78. package/dist/apps/backend/src/routes/admin/discount-codes.js +0 -418
  79. package/dist/apps/backend/src/routes/admin/inventory.d.ts +0 -273
  80. package/dist/apps/backend/src/routes/admin/inventory.js +0 -189
  81. package/dist/apps/backend/src/routes/admin/orders.d.ts +0 -1478
  82. package/dist/apps/backend/src/routes/admin/orders.js +0 -503
  83. package/dist/apps/backend/src/routes/admin/products.d.ts +0 -860
  84. package/dist/apps/backend/src/routes/admin/products.js +0 -107
  85. package/dist/apps/backend/src/routes/admin/stats.d.ts +0 -288
  86. package/dist/apps/backend/src/routes/admin/stats.js +0 -55
  87. package/dist/apps/backend/src/routes/admin/variants.d.ts +0 -239
  88. package/dist/apps/backend/src/routes/admin/variants.js +0 -173
  89. package/dist/apps/backend/src/routes/admin/warehouses.d.ts +0 -373
  90. package/dist/apps/backend/src/routes/admin/warehouses.js +0 -123
  91. package/dist/apps/backend/src/routes/public/brands.d.ts +0 -40
  92. package/dist/apps/backend/src/routes/public/brands.js +0 -38
  93. package/dist/apps/backend/src/routes/public/carts.d.ts +0 -2655
  94. package/dist/apps/backend/src/routes/public/carts.js +0 -631
  95. package/dist/apps/backend/src/routes/public/delivery-zones.d.ts +0 -35
  96. package/dist/apps/backend/src/routes/public/delivery-zones.js +0 -62
  97. package/dist/apps/backend/src/routes/public/orders.d.ts +0 -323
  98. package/dist/apps/backend/src/routes/public/orders.js +0 -160
  99. package/dist/apps/backend/src/routes/public/products.d.ts +0 -449
  100. package/dist/apps/backend/src/routes/public/products.js +0 -133
  101. package/dist/apps/backend/src/types/index.d.ts +0 -42
  102. package/dist/apps/backend/src/types/index.js +0 -2
  103. package/dist/apps/backend/src/validators/brand.d.ts +0 -17
  104. package/dist/apps/backend/src/validators/brand.js +0 -15
  105. package/dist/apps/backend/src/validators/delivery-zone.d.ts +0 -31
  106. package/dist/apps/backend/src/validators/delivery-zone.js +0 -51
  107. package/dist/apps/backend/src/validators/discount-code.d.ts +0 -74
  108. package/dist/apps/backend/src/validators/discount-code.js +0 -50
  109. package/dist/apps/backend/src/validators/inventory.d.ts +0 -20
  110. package/dist/apps/backend/src/validators/inventory.js +0 -15
  111. package/dist/apps/backend/src/validators/order.d.ts +0 -87
  112. package/dist/apps/backend/src/validators/order.js +0 -61
  113. package/dist/apps/backend/src/validators/product.d.ts +0 -18
  114. package/dist/apps/backend/src/validators/product.js +0 -19
  115. package/dist/apps/backend/src/validators/variant.d.ts +0 -19
  116. package/dist/apps/backend/src/validators/variant.js +0 -19
  117. package/dist/apps/backend/src/validators/warehouse.d.ts +0 -15
  118. package/dist/apps/backend/src/validators/warehouse.js +0 -15
  119. package/dist/packages/api-client/src/backend-types.d.ts +0 -10
  120. package/dist/packages/api-client/src/backend-types.js +0 -10
  121. package/dist/packages/api-client/src/client.d.ts +0 -20
  122. package/dist/packages/api-client/src/client.js +0 -40
  123. package/dist/packages/api-client/src/fetchers/brands.d.ts +0 -25
  124. package/dist/packages/api-client/src/fetchers/brands.js +0 -26
  125. package/dist/packages/api-client/src/fetchers/carts.d.ts +0 -2335
  126. package/dist/packages/api-client/src/fetchers/carts.js +0 -169
  127. package/dist/packages/api-client/src/fetchers/delivery-zones.d.ts +0 -28
  128. package/dist/packages/api-client/src/fetchers/delivery-zones.js +0 -26
  129. package/dist/packages/api-client/src/fetchers/index.d.ts +0 -22
  130. package/dist/packages/api-client/src/fetchers/index.js +0 -22
  131. package/dist/packages/api-client/src/fetchers/orders.d.ts +0 -283
  132. package/dist/packages/api-client/src/fetchers/orders.js +0 -44
  133. package/dist/packages/api-client/src/fetchers/products.d.ts +0 -386
  134. package/dist/packages/api-client/src/fetchers/products.js +0 -42
  135. package/dist/packages/api-client/src/hooks/admin/abandoned-carts.d.ts +0 -535
  136. package/dist/packages/api-client/src/hooks/admin/abandoned-carts.js +0 -83
  137. package/dist/packages/api-client/src/hooks/admin/brands.d.ts +0 -79
  138. package/dist/packages/api-client/src/hooks/admin/brands.js +0 -108
  139. package/dist/packages/api-client/src/hooks/admin/customers.d.ts +0 -278
  140. package/dist/packages/api-client/src/hooks/admin/customers.js +0 -26
  141. package/dist/packages/api-client/src/hooks/admin/delivery-zones.d.ts +0 -270
  142. package/dist/packages/api-client/src/hooks/admin/delivery-zones.js +0 -176
  143. package/dist/packages/api-client/src/hooks/admin/discount-codes.d.ts +0 -299
  144. package/dist/packages/api-client/src/hooks/admin/discount-codes.js +0 -165
  145. package/dist/packages/api-client/src/hooks/admin/index.d.ts +0 -16
  146. package/dist/packages/api-client/src/hooks/admin/index.js +0 -16
  147. package/dist/packages/api-client/src/hooks/admin/inventory.d.ts +0 -224
  148. package/dist/packages/api-client/src/hooks/admin/inventory.js +0 -107
  149. package/dist/packages/api-client/src/hooks/admin/orders.d.ts +0 -1380
  150. package/dist/packages/api-client/src/hooks/admin/orders.js +0 -175
  151. package/dist/packages/api-client/src/hooks/admin/products.d.ts +0 -374
  152. package/dist/packages/api-client/src/hooks/admin/products.js +0 -89
  153. package/dist/packages/api-client/src/hooks/admin/stats.d.ts +0 -277
  154. package/dist/packages/api-client/src/hooks/admin/stats.js +0 -25
  155. package/dist/packages/api-client/src/hooks/admin/variants.d.ts +0 -115
  156. package/dist/packages/api-client/src/hooks/admin/variants.js +0 -127
  157. package/dist/packages/api-client/src/hooks/admin/warehouses.d.ts +0 -277
  158. package/dist/packages/api-client/src/hooks/admin/warehouses.js +0 -108
  159. package/dist/packages/api-client/src/hooks/public/brands.d.ts +0 -33
  160. package/dist/packages/api-client/src/hooks/public/brands.js +0 -30
  161. package/dist/packages/api-client/src/hooks/public/carts.d.ts +0 -2405
  162. package/dist/packages/api-client/src/hooks/public/carts.js +0 -213
  163. package/dist/packages/api-client/src/hooks/public/delivery-zones.d.ts +0 -34
  164. package/dist/packages/api-client/src/hooks/public/delivery-zones.js +0 -28
  165. package/dist/packages/api-client/src/hooks/public/index.d.ts +0 -10
  166. package/dist/packages/api-client/src/hooks/public/index.js +0 -10
  167. package/dist/packages/api-client/src/hooks/public/orders.d.ts +0 -302
  168. package/dist/packages/api-client/src/hooks/public/orders.js +0 -50
  169. package/dist/packages/api-client/src/hooks/public/products.d.ts +0 -398
  170. package/dist/packages/api-client/src/hooks/public/products.js +0 -47
  171. package/dist/packages/api-client/src/hooks/use-query-unwrapped.d.ts +0 -20
  172. package/dist/packages/api-client/src/hooks/use-query-unwrapped.js +0 -22
  173. package/dist/packages/api-client/src/hooks/useApiConfig.d.ts +0 -12
  174. package/dist/packages/api-client/src/hooks/useApiConfig.js +0 -14
  175. package/dist/packages/api-client/src/index.d.ts +0 -20
  176. package/dist/packages/api-client/src/index.js +0 -25
  177. package/dist/packages/api-client/src/provider.d.ts +0 -36
  178. package/dist/packages/api-client/src/provider.js +0 -54
  179. package/dist/packages/api-client/src/rpc-client.d.ts +0 -9035
  180. package/dist/packages/api-client/src/rpc-client.js +0 -78
  181. package/dist/packages/api-client/src/rpc-types.d.ts +0 -76
  182. package/dist/packages/api-client/src/rpc-types.js +0 -7
  183. package/dist/packages/api-client/src/types.d.ts +0 -37
  184. package/dist/packages/api-client/src/types.js +0 -16
  185. package/dist/packages/api-client/src/utils/query-keys.d.ts +0 -106
  186. package/dist/packages/api-client/src/utils/query-keys.js +0 -108
@@ -1,175 +0,0 @@
1
- /**
2
- * Type-safe admin RPC hooks for order management
3
- *
4
- * These hooks use Hono RPC client with types directly from the backend,
5
- * providing end-to-end type safety without code generation.
6
- */
7
- import { useMutation, useQueryClient } from '@tanstack/react-query';
8
- import { useQueryUnwrapped } from '../use-query-unwrapped';
9
- import { createAdminRpcClients, authHeaders } from '../../rpc-client';
10
- import { queryKeys } from '../../utils/query-keys';
11
- import { useApiConfig } from '../useApiConfig';
12
- /**
13
- * Hook to list all orders with pagination using admin RPC
14
- *
15
- * @param options - React Query options
16
- *
17
- * @example
18
- * ```tsx
19
- * const { data: orders, isLoading } = useListOrders();
20
- * ```
21
- */
22
- export function useListOrders(options) {
23
- const { baseURL, getAuthToken } = useApiConfig();
24
- return useQueryUnwrapped({
25
- queryKey: queryKeys.admin.orders.list(),
26
- queryFn: async () => {
27
- const token = await getAuthToken();
28
- const clients = createAdminRpcClients(baseURL);
29
- const res = await clients.orders.index.$get({}, authHeaders(token));
30
- if (!res.ok) {
31
- throw new Error(`Failed to fetch orders: ${res.statusText}`);
32
- }
33
- return res.json();
34
- },
35
- ...options,
36
- });
37
- }
38
- /**
39
- * Hook to get order by ID using admin RPC
40
- *
41
- * @param orderId - Order UUID
42
- * @param options - React Query options
43
- *
44
- * @example
45
- * ```tsx
46
- * const { data: order } = useGetOrder('order-123');
47
- * ```
48
- */
49
- export function useGetOrder(orderId, options) {
50
- const { baseURL, getAuthToken } = useApiConfig();
51
- return useQueryUnwrapped({
52
- queryKey: queryKeys.admin.orders.detail(orderId),
53
- queryFn: async () => {
54
- const token = await getAuthToken();
55
- const clients = createAdminRpcClients(baseURL);
56
- const res = await clients.orders[':id'].$get({ param: { id: orderId } }, authHeaders(token));
57
- if (!res.ok) {
58
- throw new Error(`Failed to fetch order: ${res.statusText}`);
59
- }
60
- return res.json();
61
- },
62
- ...options,
63
- });
64
- }
65
- /**
66
- * Hook to create a new order using admin RPC
67
- *
68
- * @param options - React Query mutation options
69
- *
70
- * @example
71
- * ```tsx
72
- * const createOrder = useCreateOrder();
73
- * createOrder.mutate({
74
- * brandSlug: 'my-brand',
75
- * items: [{ sku: 'SKU-001', quantity: 2 }],
76
- * // ... other order fields
77
- * });
78
- * ```
79
- */
80
- export function useCreateOrder(options) {
81
- const { baseURL, getAuthToken } = useApiConfig();
82
- const queryClient = useQueryClient();
83
- return useMutation({
84
- mutationFn: async (data) => {
85
- const token = await getAuthToken();
86
- const clients = createAdminRpcClients(baseURL);
87
- const res = await clients.orders.index.$post({ json: data }, authHeaders(token));
88
- if (!res.ok) {
89
- throw new Error(`Failed to create order: ${res.statusText}`);
90
- }
91
- return res.json();
92
- },
93
- onSuccess: () => {
94
- queryClient.invalidateQueries({ queryKey: queryKeys.admin.orders.all });
95
- },
96
- ...options,
97
- });
98
- }
99
- /**
100
- * Hook to update an order using admin RPC
101
- *
102
- * @param orderId - Order UUID
103
- * @param options - React Query mutation options
104
- */
105
- export function useUpdateOrder(orderId, options) {
106
- const { baseURL, getAuthToken } = useApiConfig();
107
- const queryClient = useQueryClient();
108
- return useMutation({
109
- mutationFn: async (data) => {
110
- const token = await getAuthToken();
111
- const clients = createAdminRpcClients(baseURL);
112
- const res = await clients.orders[':id'].$patch({ param: { id: orderId }, json: data }, authHeaders(token));
113
- if (!res.ok) {
114
- throw new Error(`Failed to update order: ${res.statusText}`);
115
- }
116
- return res.json();
117
- },
118
- onSuccess: () => {
119
- queryClient.invalidateQueries({ queryKey: queryKeys.admin.orders.detail(orderId) });
120
- queryClient.invalidateQueries({ queryKey: queryKeys.admin.orders.all });
121
- },
122
- ...options,
123
- });
124
- }
125
- /**
126
- * Hook to update order status using admin RPC
127
- *
128
- * @param orderId - Order UUID
129
- * @param options - React Query mutation options
130
- */
131
- export function useUpdateOrderStatus(orderId, options) {
132
- const { baseURL, getAuthToken } = useApiConfig();
133
- const queryClient = useQueryClient();
134
- return useMutation({
135
- mutationFn: async (data) => {
136
- const token = await getAuthToken();
137
- const clients = createAdminRpcClients(baseURL);
138
- const res = await clients.orders[':id'].status.$patch({ param: { id: orderId }, json: data }, authHeaders(token));
139
- if (!res.ok) {
140
- throw new Error(`Failed to update order status: ${res.statusText}`);
141
- }
142
- return res.json();
143
- },
144
- onSuccess: () => {
145
- queryClient.invalidateQueries({ queryKey: queryKeys.admin.orders.detail(orderId) });
146
- queryClient.invalidateQueries({ queryKey: queryKeys.admin.orders.all });
147
- },
148
- ...options,
149
- });
150
- }
151
- /**
152
- * Hook to delete an order using admin RPC
153
- *
154
- * @param orderId - Order UUID
155
- * @param options - React Query mutation options
156
- */
157
- export function useDeleteOrder(orderId, options) {
158
- const { baseURL, getAuthToken } = useApiConfig();
159
- const queryClient = useQueryClient();
160
- return useMutation({
161
- mutationFn: async () => {
162
- const token = await getAuthToken();
163
- const clients = createAdminRpcClients(baseURL);
164
- const res = await clients.orders[':id'].$delete({ param: { id: orderId } }, authHeaders(token));
165
- if (!res.ok) {
166
- throw new Error(`Failed to delete order: ${res.statusText}`);
167
- }
168
- return res.json();
169
- },
170
- onSuccess: () => {
171
- queryClient.invalidateQueries({ queryKey: queryKeys.admin.orders.all });
172
- },
173
- ...options,
174
- });
175
- }
@@ -1,374 +0,0 @@
1
- /**
2
- * Type-safe admin RPC hooks for product management
3
- */
4
- import { UseQueryOptions, UseMutationOptions } from '@tanstack/react-query';
5
- import { createAdminRpcClients } from '../../rpc-client';
6
- export declare function useListProducts(brandId?: string, options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['products']['index']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
7
- brand: {
8
- createdAt: string;
9
- updatedAt: string;
10
- deletedAt: string;
11
- name: string;
12
- id: string;
13
- slug: string;
14
- logoUrl: string | null;
15
- siteUrl: string;
16
- domain: string;
17
- metaPixelId: string | null;
18
- };
19
- variants: {
20
- createdAt: string;
21
- updatedAt: string;
22
- price: number;
23
- deletedAt: string;
24
- name: string | null;
25
- id: string;
26
- isActive: boolean;
27
- thumbnailUrl: string | null;
28
- productId: string;
29
- sku: string;
30
- trackInventory: boolean;
31
- lowStockThreshold: number | null;
32
- }[];
33
- name: string;
34
- id: string;
35
- slug: string;
36
- createdAt: string;
37
- updatedAt: string;
38
- deletedAt: string;
39
- brandId: string;
40
- isActive: boolean;
41
- description: string | null;
42
- thumbnailUrl: string | null;
43
- quantityDiscounts: string | number | boolean | {
44
- [x: string]: string | number | boolean | /*elided*/ any | {
45
- [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
46
- length: number;
47
- toString: never;
48
- toLocaleString: never;
49
- pop: never;
50
- push: never;
51
- concat: never;
52
- join: never;
53
- reverse: never;
54
- shift: never;
55
- slice: never;
56
- sort: never;
57
- splice: never;
58
- unshift: never;
59
- indexOf: never;
60
- lastIndexOf: never;
61
- every: never;
62
- some: never;
63
- forEach: never;
64
- map: never;
65
- filter: never;
66
- reduce: never;
67
- reduceRight: never;
68
- find: never;
69
- findIndex: never;
70
- fill: never;
71
- copyWithin: never;
72
- entries: never;
73
- keys: never;
74
- values: never;
75
- includes: never;
76
- flatMap: never;
77
- flat: never;
78
- [Symbol.iterator]: never;
79
- readonly [Symbol.unscopables]: {
80
- [x: number]: boolean;
81
- length?: boolean;
82
- toString?: boolean;
83
- toLocaleString?: boolean;
84
- pop?: boolean;
85
- push?: boolean;
86
- concat?: boolean;
87
- join?: boolean;
88
- reverse?: boolean;
89
- shift?: boolean;
90
- slice?: boolean;
91
- sort?: boolean;
92
- splice?: boolean;
93
- unshift?: boolean;
94
- indexOf?: boolean;
95
- lastIndexOf?: boolean;
96
- every?: boolean;
97
- some?: boolean;
98
- forEach?: boolean;
99
- map?: boolean;
100
- filter?: boolean;
101
- reduce?: boolean;
102
- reduceRight?: boolean;
103
- find?: boolean;
104
- findIndex?: boolean;
105
- fill?: boolean;
106
- copyWithin?: boolean;
107
- entries?: boolean;
108
- keys?: boolean;
109
- values?: boolean;
110
- includes?: boolean;
111
- flatMap?: boolean;
112
- flat?: boolean;
113
- };
114
- };
115
- } | {
116
- [x: number]: string | number | boolean | {
117
- [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
118
- } | /*elided*/ any;
119
- length: number;
120
- toString: never;
121
- toLocaleString: never;
122
- pop: never;
123
- push: never;
124
- concat: never;
125
- join: never;
126
- reverse: never;
127
- shift: never;
128
- slice: never;
129
- sort: never;
130
- splice: never;
131
- unshift: never;
132
- indexOf: never;
133
- lastIndexOf: never;
134
- every: never;
135
- some: never;
136
- forEach: never;
137
- map: never;
138
- filter: never;
139
- reduce: never;
140
- reduceRight: never;
141
- find: never;
142
- findIndex: never;
143
- fill: never;
144
- copyWithin: never;
145
- entries: never;
146
- keys: never;
147
- values: never;
148
- includes: never;
149
- flatMap: never;
150
- flat: never;
151
- [Symbol.iterator]: never;
152
- readonly [Symbol.unscopables]: {
153
- [x: number]: boolean;
154
- length?: boolean;
155
- toString?: boolean;
156
- toLocaleString?: boolean;
157
- pop?: boolean;
158
- push?: boolean;
159
- concat?: boolean;
160
- join?: boolean;
161
- reverse?: boolean;
162
- shift?: boolean;
163
- slice?: boolean;
164
- sort?: boolean;
165
- splice?: boolean;
166
- unshift?: boolean;
167
- indexOf?: boolean;
168
- lastIndexOf?: boolean;
169
- every?: boolean;
170
- some?: boolean;
171
- forEach?: boolean;
172
- map?: boolean;
173
- filter?: boolean;
174
- reduce?: boolean;
175
- reduceRight?: boolean;
176
- find?: boolean;
177
- findIndex?: boolean;
178
- fill?: boolean;
179
- copyWithin?: boolean;
180
- entries?: boolean;
181
- keys?: boolean;
182
- values?: boolean;
183
- includes?: boolean;
184
- flatMap?: boolean;
185
- flat?: boolean;
186
- };
187
- };
188
- }[], Error>;
189
- export declare function useGetProduct(productId: string, options?: Omit<UseQueryOptions<Awaited<ReturnType<Awaited<ReturnType<ReturnType<typeof createAdminRpcClients>['products'][':id']['$get']>>['json']>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
190
- brand: {
191
- createdAt: string;
192
- updatedAt: string;
193
- deletedAt: string;
194
- name: string;
195
- id: string;
196
- slug: string;
197
- logoUrl: string | null;
198
- siteUrl: string;
199
- domain: string;
200
- metaPixelId: string | null;
201
- };
202
- variants: {
203
- createdAt: string;
204
- updatedAt: string;
205
- price: number;
206
- deletedAt: string;
207
- name: string | null;
208
- id: string;
209
- isActive: boolean;
210
- thumbnailUrl: string | null;
211
- productId: string;
212
- sku: string;
213
- trackInventory: boolean;
214
- lowStockThreshold: number | null;
215
- }[];
216
- name: string;
217
- id: string;
218
- slug: string;
219
- createdAt: string;
220
- updatedAt: string;
221
- deletedAt: string;
222
- brandId: string;
223
- isActive: boolean;
224
- description: string | null;
225
- thumbnailUrl: string | null;
226
- quantityDiscounts: string | number | boolean | {
227
- [x: string]: string | number | boolean | /*elided*/ any | {
228
- [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
229
- length: number;
230
- toString: never;
231
- toLocaleString: never;
232
- pop: never;
233
- push: never;
234
- concat: never;
235
- join: never;
236
- reverse: never;
237
- shift: never;
238
- slice: never;
239
- sort: never;
240
- splice: never;
241
- unshift: never;
242
- indexOf: never;
243
- lastIndexOf: never;
244
- every: never;
245
- some: never;
246
- forEach: never;
247
- map: never;
248
- filter: never;
249
- reduce: never;
250
- reduceRight: never;
251
- find: never;
252
- findIndex: never;
253
- fill: never;
254
- copyWithin: never;
255
- entries: never;
256
- keys: never;
257
- values: never;
258
- includes: never;
259
- flatMap: never;
260
- flat: never;
261
- [Symbol.iterator]: never;
262
- readonly [Symbol.unscopables]: {
263
- [x: number]: boolean;
264
- length?: boolean;
265
- toString?: boolean;
266
- toLocaleString?: boolean;
267
- pop?: boolean;
268
- push?: boolean;
269
- concat?: boolean;
270
- join?: boolean;
271
- reverse?: boolean;
272
- shift?: boolean;
273
- slice?: boolean;
274
- sort?: boolean;
275
- splice?: boolean;
276
- unshift?: boolean;
277
- indexOf?: boolean;
278
- lastIndexOf?: boolean;
279
- every?: boolean;
280
- some?: boolean;
281
- forEach?: boolean;
282
- map?: boolean;
283
- filter?: boolean;
284
- reduce?: boolean;
285
- reduceRight?: boolean;
286
- find?: boolean;
287
- findIndex?: boolean;
288
- fill?: boolean;
289
- copyWithin?: boolean;
290
- entries?: boolean;
291
- keys?: boolean;
292
- values?: boolean;
293
- includes?: boolean;
294
- flatMap?: boolean;
295
- flat?: boolean;
296
- };
297
- };
298
- } | {
299
- [x: number]: string | number | boolean | {
300
- [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
301
- } | /*elided*/ any;
302
- length: number;
303
- toString: never;
304
- toLocaleString: never;
305
- pop: never;
306
- push: never;
307
- concat: never;
308
- join: never;
309
- reverse: never;
310
- shift: never;
311
- slice: never;
312
- sort: never;
313
- splice: never;
314
- unshift: never;
315
- indexOf: never;
316
- lastIndexOf: never;
317
- every: never;
318
- some: never;
319
- forEach: never;
320
- map: never;
321
- filter: never;
322
- reduce: never;
323
- reduceRight: never;
324
- find: never;
325
- findIndex: never;
326
- fill: never;
327
- copyWithin: never;
328
- entries: never;
329
- keys: never;
330
- values: never;
331
- includes: never;
332
- flatMap: never;
333
- flat: never;
334
- [Symbol.iterator]: never;
335
- readonly [Symbol.unscopables]: {
336
- [x: number]: boolean;
337
- length?: boolean;
338
- toString?: boolean;
339
- toLocaleString?: boolean;
340
- pop?: boolean;
341
- push?: boolean;
342
- concat?: boolean;
343
- join?: boolean;
344
- reverse?: boolean;
345
- shift?: boolean;
346
- slice?: boolean;
347
- sort?: boolean;
348
- splice?: boolean;
349
- unshift?: boolean;
350
- indexOf?: boolean;
351
- lastIndexOf?: boolean;
352
- every?: boolean;
353
- some?: boolean;
354
- forEach?: boolean;
355
- map?: boolean;
356
- filter?: boolean;
357
- reduce?: boolean;
358
- reduceRight?: boolean;
359
- find?: boolean;
360
- findIndex?: boolean;
361
- fill?: boolean;
362
- copyWithin?: boolean;
363
- entries?: boolean;
364
- keys?: boolean;
365
- values?: boolean;
366
- includes?: boolean;
367
- flatMap?: boolean;
368
- flat?: boolean;
369
- };
370
- };
371
- }, Error>;
372
- export declare function useCreateProduct(options?: UseMutationOptions<any, Error, any>): import("@tanstack/react-query").UseMutationResult<any, Error, any, unknown>;
373
- export declare function useUpdateProduct(productId: string, options?: UseMutationOptions<any, Error, any>): import("@tanstack/react-query").UseMutationResult<any, Error, any, unknown>;
374
- export declare function useDeleteProduct(productId: string, options?: UseMutationOptions<any, Error, void>): import("@tanstack/react-query").UseMutationResult<any, Error, void, unknown>;
@@ -1,89 +0,0 @@
1
- /**
2
- * Type-safe admin RPC hooks for product 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
- export function useListProducts(brandId, options) {
10
- const { baseURL, getAuthToken } = useApiConfig();
11
- return useQueryUnwrapped({
12
- queryKey: queryKeys.admin.products.list(brandId),
13
- queryFn: async () => {
14
- const token = await getAuthToken();
15
- const clients = createAdminRpcClients(baseURL);
16
- const res = await clients.products.index.$get(brandId ? { query: { brandId } } : {}, authHeaders(token));
17
- if (!res.ok)
18
- throw new Error(`Failed to fetch products: ${res.statusText}`);
19
- return res.json();
20
- },
21
- ...options,
22
- });
23
- }
24
- export function useGetProduct(productId, options) {
25
- const { baseURL, getAuthToken } = useApiConfig();
26
- return useQueryUnwrapped({
27
- queryKey: queryKeys.admin.products.detail(productId),
28
- queryFn: async () => {
29
- const token = await getAuthToken();
30
- const clients = createAdminRpcClients(baseURL);
31
- const res = await clients.products[':id'].$get({ param: { id: productId } }, authHeaders(token));
32
- if (!res.ok)
33
- throw new Error(`Failed to fetch product: ${res.statusText}`);
34
- return res.json();
35
- },
36
- ...options,
37
- });
38
- }
39
- export function useCreateProduct(options) {
40
- const { baseURL, getAuthToken } = useApiConfig();
41
- const queryClient = useQueryClient();
42
- return useMutation({
43
- mutationFn: async (data) => {
44
- const token = await getAuthToken();
45
- const clients = createAdminRpcClients(baseURL);
46
- const res = await clients.products.index.$post({ json: data }, authHeaders(token));
47
- if (!res.ok)
48
- throw new Error(`Failed to create product: ${res.statusText}`);
49
- return res.json();
50
- },
51
- onSuccess: () => queryClient.invalidateQueries({ queryKey: queryKeys.admin.products.all }),
52
- ...options,
53
- });
54
- }
55
- export function useUpdateProduct(productId, options) {
56
- const { baseURL, getAuthToken } = useApiConfig();
57
- const queryClient = useQueryClient();
58
- return useMutation({
59
- mutationFn: async (data) => {
60
- const token = await getAuthToken();
61
- const clients = createAdminRpcClients(baseURL);
62
- const res = await clients.products[':id'].$patch({ param: { id: productId }, json: data }, authHeaders(token));
63
- if (!res.ok)
64
- throw new Error(`Failed to update product: ${res.statusText}`);
65
- return res.json();
66
- },
67
- onSuccess: () => {
68
- queryClient.invalidateQueries({ queryKey: queryKeys.admin.products.detail(productId) });
69
- queryClient.invalidateQueries({ queryKey: queryKeys.admin.products.all });
70
- },
71
- ...options,
72
- });
73
- }
74
- export function useDeleteProduct(productId, options) {
75
- const { baseURL, getAuthToken } = useApiConfig();
76
- const queryClient = useQueryClient();
77
- return useMutation({
78
- mutationFn: async () => {
79
- const token = await getAuthToken();
80
- const clients = createAdminRpcClients(baseURL);
81
- const res = await clients.products[':id'].$delete({ param: { id: productId } }, authHeaders(token));
82
- if (!res.ok)
83
- throw new Error(`Failed to delete product: ${res.statusText}`);
84
- return res.json();
85
- },
86
- onSuccess: () => queryClient.invalidateQueries({ queryKey: queryKeys.admin.products.all }),
87
- ...options,
88
- });
89
- }