@instockng/api-client 1.0.11 → 1.0.12

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 (169) hide show
  1. package/package.json +2 -2
  2. package/dist/apps/backend/src/http-app.d.ts +0 -40
  3. package/dist/apps/backend/src/http-app.js +0 -134
  4. package/dist/apps/backend/src/lib/brand-response.d.ts +0 -16
  5. package/dist/apps/backend/src/lib/brand-response.js +0 -8
  6. package/dist/apps/backend/src/lib/cart-helpers.d.ts +0 -286
  7. package/dist/apps/backend/src/lib/cart-helpers.js +0 -121
  8. package/dist/apps/backend/src/lib/cart-recovery.d.ts +0 -30
  9. package/dist/apps/backend/src/lib/cart-recovery.js +0 -147
  10. package/dist/apps/backend/src/lib/cart-response.d.ts +0 -123
  11. package/dist/apps/backend/src/lib/cart-response.js +0 -150
  12. package/dist/apps/backend/src/lib/clerk.d.ts +0 -18
  13. package/dist/apps/backend/src/lib/clerk.js +0 -190
  14. package/dist/apps/backend/src/lib/delivery-zone-response.d.ts +0 -66
  15. package/dist/apps/backend/src/lib/delivery-zone-response.js +0 -24
  16. package/dist/apps/backend/src/lib/discount-code-response.d.ts +0 -44
  17. package/dist/apps/backend/src/lib/discount-code-response.js +0 -19
  18. package/dist/apps/backend/src/lib/discount.d.ts +0 -20
  19. package/dist/apps/backend/src/lib/discount.js +0 -35
  20. package/dist/apps/backend/src/lib/inventory.d.ts +0 -26
  21. package/dist/apps/backend/src/lib/inventory.js +0 -160
  22. package/dist/apps/backend/src/lib/meta-capi.d.ts +0 -53
  23. package/dist/apps/backend/src/lib/meta-capi.js +0 -151
  24. package/dist/apps/backend/src/lib/openapi.d.ts +0 -36
  25. package/dist/apps/backend/src/lib/openapi.js +0 -69
  26. package/dist/apps/backend/src/lib/order-recovery.d.ts +0 -465
  27. package/dist/apps/backend/src/lib/order-recovery.js +0 -378
  28. package/dist/apps/backend/src/lib/order-response.d.ts +0 -140
  29. package/dist/apps/backend/src/lib/order-response.js +0 -61
  30. package/dist/apps/backend/src/lib/pricing.d.ts +0 -39
  31. package/dist/apps/backend/src/lib/pricing.js +0 -62
  32. package/dist/apps/backend/src/lib/prisma.d.ts +0 -9
  33. package/dist/apps/backend/src/lib/prisma.js +0 -30
  34. package/dist/apps/backend/src/lib/product-response.d.ts +0 -84
  35. package/dist/apps/backend/src/lib/product-response.js +0 -29
  36. package/dist/apps/backend/src/lib/sentry.d.ts +0 -48
  37. package/dist/apps/backend/src/lib/sentry.js +0 -180
  38. package/dist/apps/backend/src/lib/utils.d.ts +0 -32
  39. package/dist/apps/backend/src/lib/utils.js +0 -63
  40. package/dist/apps/backend/src/middleware/clerk-auth.d.ts +0 -8
  41. package/dist/apps/backend/src/middleware/clerk-auth.js +0 -89
  42. package/dist/apps/backend/src/middleware/cors.d.ts +0 -8
  43. package/dist/apps/backend/src/middleware/cors.js +0 -11
  44. package/dist/apps/backend/src/notifications/producers/meta-capi-producer.d.ts +0 -62
  45. package/dist/apps/backend/src/notifications/producers/meta-capi-producer.js +0 -180
  46. package/dist/apps/backend/src/notifications/producers/order-notification.d.ts +0 -9
  47. package/dist/apps/backend/src/notifications/producers/order-notification.js +0 -18
  48. package/dist/apps/backend/src/notifications/producers/prospect-recovery-notification.d.ts +0 -10
  49. package/dist/apps/backend/src/notifications/producers/prospect-recovery-notification.js +0 -11
  50. package/dist/apps/backend/src/routes/admin/abandoned-carts.d.ts +0 -609
  51. package/dist/apps/backend/src/routes/admin/abandoned-carts.js +0 -194
  52. package/dist/apps/backend/src/routes/admin/brands.d.ts +0 -183
  53. package/dist/apps/backend/src/routes/admin/brands.js +0 -118
  54. package/dist/apps/backend/src/routes/admin/customers.d.ts +0 -310
  55. package/dist/apps/backend/src/routes/admin/customers.js +0 -39
  56. package/dist/apps/backend/src/routes/admin/delivery-zones.d.ts +0 -454
  57. package/dist/apps/backend/src/routes/admin/delivery-zones.js +0 -300
  58. package/dist/apps/backend/src/routes/admin/discount-codes.d.ts +0 -488
  59. package/dist/apps/backend/src/routes/admin/discount-codes.js +0 -418
  60. package/dist/apps/backend/src/routes/admin/inventory.d.ts +0 -273
  61. package/dist/apps/backend/src/routes/admin/inventory.js +0 -199
  62. package/dist/apps/backend/src/routes/admin/orders.d.ts +0 -1792
  63. package/dist/apps/backend/src/routes/admin/orders.js +0 -552
  64. package/dist/apps/backend/src/routes/admin/products.d.ts +0 -868
  65. package/dist/apps/backend/src/routes/admin/products.js +0 -126
  66. package/dist/apps/backend/src/routes/admin/stats.d.ts +0 -292
  67. package/dist/apps/backend/src/routes/admin/stats.js +0 -55
  68. package/dist/apps/backend/src/routes/admin/variants.d.ts +0 -239
  69. package/dist/apps/backend/src/routes/admin/variants.js +0 -197
  70. package/dist/apps/backend/src/routes/admin/warehouses.d.ts +0 -375
  71. package/dist/apps/backend/src/routes/admin/warehouses.js +0 -123
  72. package/dist/apps/backend/src/routes/public/brands.d.ts +0 -41
  73. package/dist/apps/backend/src/routes/public/brands.js +0 -39
  74. package/dist/apps/backend/src/routes/public/carts.d.ts +0 -2675
  75. package/dist/apps/backend/src/routes/public/carts.js +0 -778
  76. package/dist/apps/backend/src/routes/public/delivery-zones.d.ts +0 -37
  77. package/dist/apps/backend/src/routes/public/delivery-zones.js +0 -64
  78. package/dist/apps/backend/src/routes/public/orders.d.ts +0 -613
  79. package/dist/apps/backend/src/routes/public/orders.js +0 -184
  80. package/dist/apps/backend/src/routes/public/products.d.ts +0 -453
  81. package/dist/apps/backend/src/routes/public/products.js +0 -133
  82. package/dist/apps/backend/src/types/index.d.ts +0 -43
  83. package/dist/apps/backend/src/types/index.js +0 -2
  84. package/dist/apps/backend/src/validators/brand.d.ts +0 -21
  85. package/dist/apps/backend/src/validators/brand.js +0 -19
  86. package/dist/apps/backend/src/validators/delivery-zone.d.ts +0 -35
  87. package/dist/apps/backend/src/validators/delivery-zone.js +0 -55
  88. package/dist/apps/backend/src/validators/discount-code.d.ts +0 -74
  89. package/dist/apps/backend/src/validators/discount-code.js +0 -50
  90. package/dist/apps/backend/src/validators/inventory.d.ts +0 -20
  91. package/dist/apps/backend/src/validators/inventory.js +0 -15
  92. package/dist/apps/backend/src/validators/order.d.ts +0 -58
  93. package/dist/apps/backend/src/validators/order.js +0 -62
  94. package/dist/apps/backend/src/validators/product.d.ts +0 -18
  95. package/dist/apps/backend/src/validators/product.js +0 -19
  96. package/dist/apps/backend/src/validators/variant.d.ts +0 -19
  97. package/dist/apps/backend/src/validators/variant.js +0 -19
  98. package/dist/apps/backend/src/validators/warehouse.d.ts +0 -15
  99. package/dist/apps/backend/src/validators/warehouse.js +0 -15
  100. /package/dist/{packages/api-client/src/backend-types.d.ts → backend-types.d.ts} +0 -0
  101. /package/dist/{packages/api-client/src/backend-types.js → backend-types.js} +0 -0
  102. /package/dist/{packages/api-client/src/client.d.ts → client.d.ts} +0 -0
  103. /package/dist/{packages/api-client/src/client.js → client.js} +0 -0
  104. /package/dist/{packages/api-client/src/enum-types.d.ts → enum-types.d.ts} +0 -0
  105. /package/dist/{packages/api-client/src/enum-types.js → enum-types.js} +0 -0
  106. /package/dist/{packages/api-client/src/fetchers → fetchers}/brands.d.ts +0 -0
  107. /package/dist/{packages/api-client/src/fetchers → fetchers}/brands.js +0 -0
  108. /package/dist/{packages/api-client/src/fetchers → fetchers}/carts.d.ts +0 -0
  109. /package/dist/{packages/api-client/src/fetchers → fetchers}/carts.js +0 -0
  110. /package/dist/{packages/api-client/src/fetchers → fetchers}/delivery-zones.d.ts +0 -0
  111. /package/dist/{packages/api-client/src/fetchers → fetchers}/delivery-zones.js +0 -0
  112. /package/dist/{packages/api-client/src/fetchers → fetchers}/index.d.ts +0 -0
  113. /package/dist/{packages/api-client/src/fetchers → fetchers}/index.js +0 -0
  114. /package/dist/{packages/api-client/src/fetchers → fetchers}/orders.d.ts +0 -0
  115. /package/dist/{packages/api-client/src/fetchers → fetchers}/orders.js +0 -0
  116. /package/dist/{packages/api-client/src/fetchers → fetchers}/products.d.ts +0 -0
  117. /package/dist/{packages/api-client/src/fetchers → fetchers}/products.js +0 -0
  118. /package/dist/{packages/api-client/src/hooks → hooks}/admin/abandoned-carts.d.ts +0 -0
  119. /package/dist/{packages/api-client/src/hooks → hooks}/admin/abandoned-carts.js +0 -0
  120. /package/dist/{packages/api-client/src/hooks → hooks}/admin/brands.d.ts +0 -0
  121. /package/dist/{packages/api-client/src/hooks → hooks}/admin/brands.js +0 -0
  122. /package/dist/{packages/api-client/src/hooks → hooks}/admin/customers.d.ts +0 -0
  123. /package/dist/{packages/api-client/src/hooks → hooks}/admin/customers.js +0 -0
  124. /package/dist/{packages/api-client/src/hooks → hooks}/admin/delivery-zones.d.ts +0 -0
  125. /package/dist/{packages/api-client/src/hooks → hooks}/admin/delivery-zones.js +0 -0
  126. /package/dist/{packages/api-client/src/hooks → hooks}/admin/discount-codes.d.ts +0 -0
  127. /package/dist/{packages/api-client/src/hooks → hooks}/admin/discount-codes.js +0 -0
  128. /package/dist/{packages/api-client/src/hooks → hooks}/admin/index.d.ts +0 -0
  129. /package/dist/{packages/api-client/src/hooks → hooks}/admin/index.js +0 -0
  130. /package/dist/{packages/api-client/src/hooks → hooks}/admin/inventory.d.ts +0 -0
  131. /package/dist/{packages/api-client/src/hooks → hooks}/admin/inventory.js +0 -0
  132. /package/dist/{packages/api-client/src/hooks → hooks}/admin/orders.d.ts +0 -0
  133. /package/dist/{packages/api-client/src/hooks → hooks}/admin/orders.js +0 -0
  134. /package/dist/{packages/api-client/src/hooks → hooks}/admin/products.d.ts +0 -0
  135. /package/dist/{packages/api-client/src/hooks → hooks}/admin/products.js +0 -0
  136. /package/dist/{packages/api-client/src/hooks → hooks}/admin/stats.d.ts +0 -0
  137. /package/dist/{packages/api-client/src/hooks → hooks}/admin/stats.js +0 -0
  138. /package/dist/{packages/api-client/src/hooks → hooks}/admin/variants.d.ts +0 -0
  139. /package/dist/{packages/api-client/src/hooks → hooks}/admin/variants.js +0 -0
  140. /package/dist/{packages/api-client/src/hooks → hooks}/admin/warehouses.d.ts +0 -0
  141. /package/dist/{packages/api-client/src/hooks → hooks}/admin/warehouses.js +0 -0
  142. /package/dist/{packages/api-client/src/hooks → hooks}/public/brands.d.ts +0 -0
  143. /package/dist/{packages/api-client/src/hooks → hooks}/public/brands.js +0 -0
  144. /package/dist/{packages/api-client/src/hooks → hooks}/public/carts.d.ts +0 -0
  145. /package/dist/{packages/api-client/src/hooks → hooks}/public/carts.js +0 -0
  146. /package/dist/{packages/api-client/src/hooks → hooks}/public/delivery-zones.d.ts +0 -0
  147. /package/dist/{packages/api-client/src/hooks → hooks}/public/delivery-zones.js +0 -0
  148. /package/dist/{packages/api-client/src/hooks → hooks}/public/index.d.ts +0 -0
  149. /package/dist/{packages/api-client/src/hooks → hooks}/public/index.js +0 -0
  150. /package/dist/{packages/api-client/src/hooks → hooks}/public/orders.d.ts +0 -0
  151. /package/dist/{packages/api-client/src/hooks → hooks}/public/orders.js +0 -0
  152. /package/dist/{packages/api-client/src/hooks → hooks}/public/products.d.ts +0 -0
  153. /package/dist/{packages/api-client/src/hooks → hooks}/public/products.js +0 -0
  154. /package/dist/{packages/api-client/src/hooks → hooks}/use-query-unwrapped.d.ts +0 -0
  155. /package/dist/{packages/api-client/src/hooks → hooks}/use-query-unwrapped.js +0 -0
  156. /package/dist/{packages/api-client/src/hooks → hooks}/useApiConfig.d.ts +0 -0
  157. /package/dist/{packages/api-client/src/hooks → hooks}/useApiConfig.js +0 -0
  158. /package/dist/{packages/api-client/src/index.d.ts → index.d.ts} +0 -0
  159. /package/dist/{packages/api-client/src/index.js → index.js} +0 -0
  160. /package/dist/{packages/api-client/src/provider.d.ts → provider.d.ts} +0 -0
  161. /package/dist/{packages/api-client/src/provider.js → provider.js} +0 -0
  162. /package/dist/{packages/api-client/src/rpc-client.d.ts → rpc-client.d.ts} +0 -0
  163. /package/dist/{packages/api-client/src/rpc-client.js → rpc-client.js} +0 -0
  164. /package/dist/{packages/api-client/src/rpc-types.d.ts → rpc-types.d.ts} +0 -0
  165. /package/dist/{packages/api-client/src/rpc-types.js → rpc-types.js} +0 -0
  166. /package/dist/{packages/api-client/src/types.d.ts → types.d.ts} +0 -0
  167. /package/dist/{packages/api-client/src/types.js → types.js} +0 -0
  168. /package/dist/{packages/api-client/src/utils → utils}/query-keys.d.ts +0 -0
  169. /package/dist/{packages/api-client/src/utils → utils}/query-keys.js +0 -0
@@ -1,375 +0,0 @@
1
- import { AppContext } from '../../types';
2
- declare const app: import("hono/hono-base").HonoBase<AppContext, {
3
- "/": {
4
- $get: {
5
- input: {};
6
- output: {
7
- id: string;
8
- name: string;
9
- createdAt: string;
10
- updatedAt: string;
11
- deletedAt: string;
12
- isActive: boolean;
13
- address: string | null;
14
- city: string | null;
15
- state: string | null;
16
- }[];
17
- outputFormat: "json";
18
- status: import("hono/utils/http-status").ContentfulStatusCode;
19
- } | {
20
- input: {};
21
- output: {
22
- error: {
23
- code: string;
24
- message: string;
25
- };
26
- };
27
- outputFormat: "json";
28
- status: 500;
29
- };
30
- };
31
- } & {
32
- "/": {
33
- $post: {
34
- input: {};
35
- output: {
36
- id: string;
37
- name: string;
38
- createdAt: string;
39
- updatedAt: string;
40
- deletedAt: string;
41
- isActive: boolean;
42
- address: string | null;
43
- city: string | null;
44
- state: string | null;
45
- };
46
- outputFormat: "json";
47
- status: 201;
48
- } | {
49
- input: {};
50
- output: {
51
- error: {
52
- code: string;
53
- message: string;
54
- };
55
- };
56
- outputFormat: "json";
57
- status: 500;
58
- };
59
- };
60
- } & {
61
- "/:id": {
62
- $patch: {
63
- input: {
64
- param: {
65
- id: string;
66
- };
67
- };
68
- output: {
69
- id: string;
70
- name: string;
71
- createdAt: string;
72
- updatedAt: string;
73
- deletedAt: string;
74
- isActive: boolean;
75
- address: string | null;
76
- city: string | null;
77
- state: string | null;
78
- };
79
- outputFormat: "json";
80
- status: import("hono/utils/http-status").ContentfulStatusCode;
81
- } | {
82
- input: {
83
- param: {
84
- id: string;
85
- };
86
- };
87
- output: {
88
- error: {
89
- code: string;
90
- message: string;
91
- };
92
- };
93
- outputFormat: "json";
94
- status: 500;
95
- };
96
- };
97
- } & {
98
- "/:id/inventory": {
99
- $get: {
100
- input: {
101
- param: {
102
- id: string;
103
- };
104
- };
105
- output: {
106
- error: {
107
- code: string;
108
- message: string;
109
- };
110
- };
111
- outputFormat: "json";
112
- status: 404;
113
- } | {
114
- input: {
115
- param: {
116
- id: string;
117
- };
118
- };
119
- output: {
120
- warehouse: {
121
- inventories: {
122
- variant: {
123
- product: {
124
- brand: {
125
- id: string;
126
- name: string;
127
- slug: string;
128
- logoUrl: string | null;
129
- siteUrl: string;
130
- domain: string;
131
- metaPixelId: string | null;
132
- paystackPublicKey: string | null;
133
- paystackSecretKey: string | null;
134
- createdAt: string;
135
- updatedAt: string;
136
- deletedAt: string;
137
- };
138
- id: string;
139
- name: string;
140
- slug: string;
141
- createdAt: string;
142
- updatedAt: string;
143
- deletedAt: string;
144
- brandId: string;
145
- isActive: boolean;
146
- description: string | null;
147
- thumbnailUrl: string | null;
148
- quantityDiscounts: string | number | boolean | {
149
- [x: string]: string | number | boolean | /*elided*/ any | {
150
- [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
151
- length: number;
152
- toString: never;
153
- toLocaleString: never;
154
- pop: never;
155
- push: never;
156
- concat: never;
157
- join: never;
158
- reverse: never;
159
- shift: never;
160
- slice: never;
161
- sort: never;
162
- splice: never;
163
- unshift: never;
164
- indexOf: never;
165
- lastIndexOf: never;
166
- every: never;
167
- some: never;
168
- forEach: never;
169
- map: never;
170
- filter: never;
171
- reduce: never;
172
- reduceRight: never;
173
- find: never;
174
- findIndex: never;
175
- fill: never;
176
- copyWithin: never;
177
- entries: never;
178
- keys: never;
179
- values: never;
180
- includes: never;
181
- flatMap: never;
182
- flat: never;
183
- [Symbol.iterator]: never;
184
- readonly [Symbol.unscopables]: {
185
- [x: number]: boolean;
186
- length?: boolean;
187
- toString?: boolean;
188
- toLocaleString?: boolean;
189
- pop?: boolean;
190
- push?: boolean;
191
- concat?: boolean;
192
- join?: boolean;
193
- reverse?: boolean;
194
- shift?: boolean;
195
- slice?: boolean;
196
- sort?: boolean;
197
- splice?: boolean;
198
- unshift?: boolean;
199
- indexOf?: boolean;
200
- lastIndexOf?: boolean;
201
- every?: boolean;
202
- some?: boolean;
203
- forEach?: boolean;
204
- map?: boolean;
205
- filter?: boolean;
206
- reduce?: boolean;
207
- reduceRight?: boolean;
208
- find?: boolean;
209
- findIndex?: boolean;
210
- fill?: boolean;
211
- copyWithin?: boolean;
212
- entries?: boolean;
213
- keys?: boolean;
214
- values?: boolean;
215
- includes?: boolean;
216
- flatMap?: boolean;
217
- flat?: boolean;
218
- };
219
- };
220
- } | {
221
- [x: number]: string | number | boolean | {
222
- [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
223
- } | /*elided*/ any;
224
- length: number;
225
- toString: never;
226
- toLocaleString: never;
227
- pop: never;
228
- push: never;
229
- concat: never;
230
- join: never;
231
- reverse: never;
232
- shift: never;
233
- slice: never;
234
- sort: never;
235
- splice: never;
236
- unshift: never;
237
- indexOf: never;
238
- lastIndexOf: never;
239
- every: never;
240
- some: never;
241
- forEach: never;
242
- map: never;
243
- filter: never;
244
- reduce: never;
245
- reduceRight: never;
246
- find: never;
247
- findIndex: never;
248
- fill: never;
249
- copyWithin: never;
250
- entries: never;
251
- keys: never;
252
- values: never;
253
- includes: never;
254
- flatMap: never;
255
- flat: never;
256
- [Symbol.iterator]: never;
257
- readonly [Symbol.unscopables]: {
258
- [x: number]: boolean;
259
- length?: boolean;
260
- toString?: boolean;
261
- toLocaleString?: boolean;
262
- pop?: boolean;
263
- push?: boolean;
264
- concat?: boolean;
265
- join?: boolean;
266
- reverse?: boolean;
267
- shift?: boolean;
268
- slice?: boolean;
269
- sort?: boolean;
270
- splice?: boolean;
271
- unshift?: boolean;
272
- indexOf?: boolean;
273
- lastIndexOf?: boolean;
274
- every?: boolean;
275
- some?: boolean;
276
- forEach?: boolean;
277
- map?: boolean;
278
- filter?: boolean;
279
- reduce?: boolean;
280
- reduceRight?: boolean;
281
- find?: boolean;
282
- findIndex?: boolean;
283
- fill?: boolean;
284
- copyWithin?: boolean;
285
- entries?: boolean;
286
- keys?: boolean;
287
- values?: boolean;
288
- includes?: boolean;
289
- flatMap?: boolean;
290
- flat?: boolean;
291
- };
292
- };
293
- };
294
- id: string;
295
- name: string | null;
296
- createdAt: string;
297
- updatedAt: string;
298
- deletedAt: string;
299
- isActive: boolean;
300
- thumbnailUrl: string | null;
301
- productId: string;
302
- sku: string;
303
- price: string;
304
- trackInventory: boolean;
305
- lowStockThreshold: number | null;
306
- };
307
- id: string;
308
- updatedAt: string;
309
- variantId: string;
310
- warehouseId: string;
311
- inventoryCount: number;
312
- }[];
313
- id: string;
314
- name: string;
315
- createdAt: string;
316
- updatedAt: string;
317
- deletedAt: string;
318
- isActive: boolean;
319
- address: string | null;
320
- city: string | null;
321
- state: string | null;
322
- };
323
- inventory: {
324
- variantId: string;
325
- sku: string;
326
- productName: string;
327
- name: string;
328
- brandName: string;
329
- inventoryCount: number;
330
- lowStockThreshold: number;
331
- isLowStock: boolean;
332
- }[];
333
- };
334
- outputFormat: "json";
335
- status: import("hono/utils/http-status").ContentfulStatusCode;
336
- } | {
337
- input: {
338
- param: {
339
- id: string;
340
- };
341
- };
342
- output: {
343
- error: {
344
- code: string;
345
- message: string;
346
- };
347
- };
348
- outputFormat: "json";
349
- status: 500;
350
- };
351
- };
352
- } & {
353
- "/:id": {
354
- $delete: {
355
- input: {
356
- param: {
357
- id: string;
358
- };
359
- };
360
- output: {};
361
- outputFormat: string;
362
- status: import("hono/utils/http-status").StatusCode;
363
- } | {
364
- input: {
365
- param: {
366
- id: string;
367
- };
368
- };
369
- output: {};
370
- outputFormat: string;
371
- status: import("hono/utils/http-status").StatusCode;
372
- };
373
- };
374
- }, "/">;
375
- export default app;
@@ -1,123 +0,0 @@
1
- import { Hono } from 'hono';
2
- import { zValidator } from '@hono/zod-validator';
3
- import { z } from 'zod';
4
- import { createWarehouseSchema, updateWarehouseSchema } from '../../validators/warehouse';
5
- import { getPrismaClient } from '../../lib/prisma';
6
- const app = new Hono()
7
- // List all warehouses (shared across brands)
8
- .get('/', async (c) => {
9
- try {
10
- const prisma = getPrismaClient(c.env.DATABASE_URL);
11
- const warehouses = await prisma.warehouse.findMany({
12
- where: { deletedAt: null },
13
- orderBy: { name: 'asc' },
14
- });
15
- return c.json(warehouses);
16
- }
17
- catch (error) {
18
- return c.json({
19
- error: { code: 'INTERNAL_ERROR', message: 'Failed to retrieve warehouses' },
20
- }, 500);
21
- }
22
- })
23
- // Create warehouse
24
- .post('/', zValidator('json', createWarehouseSchema), async (c) => {
25
- try {
26
- const input = c.req.valid('json');
27
- const prisma = getPrismaClient(c.env.DATABASE_URL);
28
- const warehouse = await prisma.warehouse.create({
29
- data: input,
30
- });
31
- return c.json(warehouse, 201);
32
- }
33
- catch (error) {
34
- return c.json({
35
- error: { code: 'INTERNAL_ERROR', message: 'Failed to create warehouse' },
36
- }, 500);
37
- }
38
- })
39
- // Update warehouse
40
- .patch('/:id', zValidator('param', z.object({ id: z.uuid() })), zValidator('json', updateWarehouseSchema), async (c) => {
41
- try {
42
- const { id } = c.req.valid('param');
43
- const input = c.req.valid('json');
44
- const prisma = getPrismaClient(c.env.DATABASE_URL);
45
- const warehouse = await prisma.warehouse.update({
46
- where: { id },
47
- data: input,
48
- });
49
- return c.json(warehouse);
50
- }
51
- catch (error) {
52
- return c.json({
53
- error: { code: 'INTERNAL_ERROR', message: 'Failed to update warehouse' },
54
- }, 500);
55
- }
56
- })
57
- // Get warehouse inventory
58
- .get('/:id/inventory', zValidator('param', z.object({ id: z.uuid() })), async (c) => {
59
- try {
60
- const id = c.req.param('id');
61
- const prisma = getPrismaClient(c.env.DATABASE_URL);
62
- const warehouse = await prisma.warehouse.findFirst({
63
- where: { id, deletedAt: null },
64
- include: {
65
- inventories: {
66
- include: {
67
- variant: {
68
- include: {
69
- product: {
70
- include: {
71
- brand: true, // Include brand through product
72
- },
73
- },
74
- },
75
- },
76
- },
77
- },
78
- },
79
- });
80
- if (!warehouse) {
81
- return c.json({
82
- error: { code: 'WAREHOUSE_NOT_FOUND', message: 'Warehouse not found' },
83
- }, 404);
84
- }
85
- return c.json({
86
- warehouse,
87
- inventory: warehouse.inventories.map((inv) => ({
88
- variantId: inv.variantId,
89
- sku: inv.variant.sku,
90
- productName: inv.variant.product.name,
91
- name: inv.variant.name,
92
- brandName: inv.variant.product.brand.name, // Brand from product
93
- inventoryCount: inv.inventoryCount,
94
- lowStockThreshold: inv.variant.lowStockThreshold,
95
- isLowStock: inv.variant.lowStockThreshold
96
- ? inv.inventoryCount < inv.variant.lowStockThreshold
97
- : false,
98
- })),
99
- });
100
- }
101
- catch (error) {
102
- return c.json({
103
- error: { code: 'INTERNAL_ERROR', message: 'Failed to retrieve warehouse inventory' },
104
- }, 500);
105
- }
106
- })
107
- // Soft delete warehouse
108
- .delete('/:id', zValidator('param', z.object({ id: z.uuid() })), async (c) => {
109
- try {
110
- const { id } = c.req.valid('param');
111
- const prisma = getPrismaClient(c.env.DATABASE_URL);
112
- await prisma.warehouse.delete({
113
- where: { id },
114
- });
115
- return c.status(204);
116
- }
117
- catch (error) {
118
- return c.json({
119
- error: { code: 'INTERNAL_ERROR', message: 'Failed to delete warehouse' },
120
- }, 500);
121
- }
122
- });
123
- export default app;
@@ -1,41 +0,0 @@
1
- import type { AppContext } from '../../types';
2
- declare const app: import("hono/hono-base").HonoBase<AppContext, {
3
- "/:slug": {
4
- $get: {
5
- input: {
6
- param: {
7
- slug: string;
8
- };
9
- };
10
- output: {
11
- error: {
12
- code: string;
13
- message: string;
14
- };
15
- };
16
- outputFormat: "json";
17
- status: 404;
18
- } | {
19
- input: {
20
- param: {
21
- slug: string;
22
- };
23
- };
24
- output: {
25
- id: string;
26
- name: string;
27
- slug: string;
28
- logoUrl: string;
29
- siteUrl: string;
30
- domain: string;
31
- metaPixelId: string;
32
- paystackPublicKey: string;
33
- createdAt: string;
34
- updatedAt: string;
35
- };
36
- outputFormat: "json";
37
- status: 200;
38
- };
39
- };
40
- }, "/">;
41
- export default app;
@@ -1,39 +0,0 @@
1
- import { Hono } from 'hono';
2
- import { zValidator } from '@hono/zod-validator';
3
- import { z } from 'zod';
4
- import { getPrismaClient } from '../../lib/prisma';
5
- const app = new Hono()
6
- .get('/:slug', zValidator('param', z.object({
7
- slug: z.string(),
8
- })), async (c) => {
9
- const { slug } = c.req.valid('param');
10
- const prisma = getPrismaClient(c.env.DATABASE_URL);
11
- const brand = await prisma.brand.findFirst({
12
- where: {
13
- slug,
14
- deletedAt: null,
15
- },
16
- select: {
17
- id: true,
18
- name: true,
19
- slug: true,
20
- logoUrl: true,
21
- siteUrl: true,
22
- domain: true,
23
- metaPixelId: true,
24
- paystackPublicKey: true,
25
- createdAt: true,
26
- updatedAt: true,
27
- },
28
- });
29
- if (!brand) {
30
- return c.json({
31
- error: {
32
- code: 'BRAND_NOT_FOUND',
33
- message: 'Brand not found',
34
- },
35
- }, 404);
36
- }
37
- return c.json(brand, 200);
38
- });
39
- export default app;