@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,184 +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
- import { confirmProspectOrder } from '../../lib/order-recovery';
6
- import { formatOrderResponse } from '../../lib/order-response';
7
- import { enqueueOrderNotification } from '../../notifications/producers/order-notification';
8
- import { OrderStatus } from '@prisma/client';
9
- import { captureException } from '../../lib/sentry';
10
- const app = new Hono()
11
- // GET order by ID and token (for order tracking and confirmation)
12
- .get('/:id/:token', zValidator('param', z.object({
13
- id: z.uuid(),
14
- token: z.uuid(),
15
- })), async (c) => {
16
- try {
17
- const { id, token } = c.req.valid('param');
18
- const prisma = getPrismaClient(c.env.DATABASE_URL);
19
- const order = await prisma.order.findFirst({
20
- where: {
21
- id,
22
- userActionToken: token,
23
- deletedAt: null
24
- },
25
- include: {
26
- items: {
27
- include: {
28
- variant: {
29
- include: {
30
- product: true,
31
- },
32
- },
33
- warehouse: true,
34
- },
35
- },
36
- brand: true,
37
- deliveryZone: {
38
- include: {
39
- state: true,
40
- },
41
- },
42
- },
43
- });
44
- if (!order) {
45
- return c.json({ error: { code: 'ORDER_NOT_FOUND', message: 'Order not found or invalid token' } }, 404);
46
- }
47
- // Determine if order can be confirmed
48
- const canConfirm = order.status === OrderStatus.prospect;
49
- let confirmationMessage;
50
- if (order.status === OrderStatus.pending) {
51
- confirmationMessage = 'This order has already been confirmed and is being processed.';
52
- }
53
- else if (order.status === OrderStatus.cancelled) {
54
- confirmationMessage = 'This order has been cancelled. Please place a new order.';
55
- }
56
- else if (order.status === OrderStatus.shipped) {
57
- confirmationMessage = 'This order has been shipped.';
58
- }
59
- else if (order.status === OrderStatus.delivered) {
60
- confirmationMessage = 'This order has been delivered.';
61
- }
62
- else if (order.status === OrderStatus.prospect) {
63
- confirmationMessage = 'Please confirm your order to proceed with delivery.';
64
- }
65
- // Use formatOrderResponse to format the order data
66
- const formattedOrder = formatOrderResponse(order);
67
- return c.json({ ...formattedOrder, canConfirm, confirmationMessage }, 200);
68
- }
69
- catch (error) {
70
- captureException(error instanceof Error ? error : new Error(String(error)), {
71
- level: 'error',
72
- tags: {
73
- error_code: 'ORDER_FETCH_ERROR',
74
- endpoint: 'GET /orders/:id/:token',
75
- },
76
- extra: {
77
- orderId: c.req.param('id'),
78
- },
79
- honoContext: c,
80
- });
81
- return c.json({ error: { code: 'INTERNAL_ERROR', message: 'Failed to retrieve order' } }, 500);
82
- }
83
- })
84
- // POST confirm prospect order
85
- .post('/confirm', zValidator('json', z.object({
86
- orderId: z.uuid(),
87
- token: z.string(),
88
- })), async (c) => {
89
- try {
90
- const { orderId, token } = c.req.valid('json');
91
- const prisma = getPrismaClient(c.env.DATABASE_URL);
92
- // First verify the order exists and is in prospect status
93
- const order = await prisma.order.findFirst({
94
- where: {
95
- id: orderId,
96
- userActionToken: token,
97
- status: OrderStatus.prospect,
98
- deletedAt: null,
99
- },
100
- });
101
- if (!order) {
102
- // Check if order exists but in different status
103
- const existingOrder = await prisma.order.findFirst({
104
- where: {
105
- id: orderId,
106
- userActionToken: token,
107
- deletedAt: null,
108
- },
109
- });
110
- if (existingOrder) {
111
- if (existingOrder.status === OrderStatus.pending) {
112
- return c.json({
113
- error: {
114
- code: 'ALREADY_CONFIRMED',
115
- message: 'This order has already been confirmed'
116
- }
117
- }, 400);
118
- }
119
- else if (existingOrder.status === OrderStatus.cancelled) {
120
- return c.json({
121
- error: {
122
- code: 'ORDER_CANCELLED',
123
- message: 'This order has been cancelled'
124
- }
125
- }, 400);
126
- }
127
- else {
128
- return c.json({
129
- error: {
130
- code: 'INVALID_STATUS',
131
- message: `Order cannot be confirmed in ${existingOrder.status} status`
132
- }
133
- }, 400);
134
- }
135
- }
136
- return c.json({
137
- error: {
138
- code: 'ORDER_NOT_FOUND',
139
- message: 'Invalid order or token'
140
- }
141
- }, 404);
142
- }
143
- // Confirm the order using the recovery function
144
- const confirmedOrder = await confirmProspectOrder(prisma, orderId, token);
145
- // Queue confirmation notification
146
- try {
147
- await enqueueOrderNotification(c.env, 'order_confirmation', confirmedOrder.id);
148
- }
149
- catch (notificationError) {
150
- console.error('Failed to queue confirmation notification:', notificationError);
151
- // Don't fail the request if notification fails
152
- }
153
- return c.json(formatOrderResponse(confirmedOrder));
154
- }
155
- catch (error) {
156
- if (error.message === 'Invalid order or token') {
157
- return c.json({
158
- error: {
159
- code: 'INVALID_TOKEN',
160
- message: 'Invalid order or token'
161
- }
162
- }, 400);
163
- }
164
- // CRITICAL: Order confirmation failures affect customer experience
165
- captureException(error instanceof Error ? error : new Error(String(error)), {
166
- level: 'fatal', // High severity - customer waiting for order
167
- tags: {
168
- error_code: 'ORDER_CONFIRM_ERROR',
169
- endpoint: 'POST /orders/confirm',
170
- },
171
- extra: {
172
- orderId: c.req.valid('json').orderId,
173
- },
174
- honoContext: c,
175
- });
176
- return c.json({
177
- error: {
178
- code: 'INTERNAL_ERROR',
179
- message: 'Failed to confirm order'
180
- }
181
- }, 500);
182
- }
183
- });
184
- export default app;
@@ -1,453 +0,0 @@
1
- import { AppContext } from '../../types';
2
- declare const app: import("hono/hono-base").HonoBase<AppContext, {
3
- "/product/: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
- brand: {
26
- createdAt: string;
27
- updatedAt: string;
28
- deletedAt: string;
29
- id: string;
30
- name: string;
31
- slug: string;
32
- logoUrl: string | null;
33
- siteUrl: string;
34
- domain: string;
35
- metaPixelId: string | null;
36
- paystackPublicKey: string | null;
37
- paystackSecretKey: string | null;
38
- };
39
- variants: {
40
- createdAt: string;
41
- updatedAt: string;
42
- price: number;
43
- deletedAt: string;
44
- id: string;
45
- name: string | null;
46
- isActive: boolean;
47
- thumbnailUrl: string | null;
48
- productId: string;
49
- sku: string;
50
- trackInventory: boolean;
51
- lowStockThreshold: number | null;
52
- }[];
53
- id: string;
54
- name: string;
55
- slug: string;
56
- createdAt: string;
57
- updatedAt: string;
58
- deletedAt: string;
59
- brandId: string;
60
- isActive: boolean;
61
- description: string | null;
62
- thumbnailUrl: string | null;
63
- quantityDiscounts: string | number | boolean | {
64
- [x: string]: string | number | boolean | /*elided*/ any | {
65
- [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
66
- length: number;
67
- toString: never;
68
- toLocaleString: never;
69
- pop: never;
70
- push: never;
71
- concat: never;
72
- join: never;
73
- reverse: never;
74
- shift: never;
75
- slice: never;
76
- sort: never;
77
- splice: never;
78
- unshift: never;
79
- indexOf: never;
80
- lastIndexOf: never;
81
- every: never;
82
- some: never;
83
- forEach: never;
84
- map: never;
85
- filter: never;
86
- reduce: never;
87
- reduceRight: never;
88
- find: never;
89
- findIndex: never;
90
- fill: never;
91
- copyWithin: never;
92
- entries: never;
93
- keys: never;
94
- values: never;
95
- includes: never;
96
- flatMap: never;
97
- flat: never;
98
- [Symbol.iterator]: never;
99
- readonly [Symbol.unscopables]: {
100
- [x: number]: boolean;
101
- length?: boolean;
102
- toString?: boolean;
103
- toLocaleString?: boolean;
104
- pop?: boolean;
105
- push?: boolean;
106
- concat?: boolean;
107
- join?: boolean;
108
- reverse?: boolean;
109
- shift?: boolean;
110
- slice?: boolean;
111
- sort?: boolean;
112
- splice?: boolean;
113
- unshift?: boolean;
114
- indexOf?: boolean;
115
- lastIndexOf?: boolean;
116
- every?: boolean;
117
- some?: boolean;
118
- forEach?: boolean;
119
- map?: boolean;
120
- filter?: boolean;
121
- reduce?: boolean;
122
- reduceRight?: boolean;
123
- find?: boolean;
124
- findIndex?: boolean;
125
- fill?: boolean;
126
- copyWithin?: boolean;
127
- entries?: boolean;
128
- keys?: boolean;
129
- values?: boolean;
130
- includes?: boolean;
131
- flatMap?: boolean;
132
- flat?: boolean;
133
- };
134
- };
135
- } | {
136
- [x: number]: string | number | boolean | {
137
- [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
138
- } | /*elided*/ any;
139
- length: number;
140
- toString: never;
141
- toLocaleString: never;
142
- pop: never;
143
- push: never;
144
- concat: never;
145
- join: never;
146
- reverse: never;
147
- shift: never;
148
- slice: never;
149
- sort: never;
150
- splice: never;
151
- unshift: never;
152
- indexOf: never;
153
- lastIndexOf: never;
154
- every: never;
155
- some: never;
156
- forEach: never;
157
- map: never;
158
- filter: never;
159
- reduce: never;
160
- reduceRight: never;
161
- find: never;
162
- findIndex: never;
163
- fill: never;
164
- copyWithin: never;
165
- entries: never;
166
- keys: never;
167
- values: never;
168
- includes: never;
169
- flatMap: never;
170
- flat: never;
171
- [Symbol.iterator]: never;
172
- readonly [Symbol.unscopables]: {
173
- [x: number]: boolean;
174
- length?: boolean;
175
- toString?: boolean;
176
- toLocaleString?: boolean;
177
- pop?: boolean;
178
- push?: boolean;
179
- concat?: boolean;
180
- join?: boolean;
181
- reverse?: boolean;
182
- shift?: boolean;
183
- slice?: boolean;
184
- sort?: boolean;
185
- splice?: boolean;
186
- unshift?: boolean;
187
- indexOf?: boolean;
188
- lastIndexOf?: boolean;
189
- every?: boolean;
190
- some?: boolean;
191
- forEach?: boolean;
192
- map?: boolean;
193
- filter?: boolean;
194
- reduce?: boolean;
195
- reduceRight?: boolean;
196
- find?: boolean;
197
- findIndex?: boolean;
198
- fill?: boolean;
199
- copyWithin?: boolean;
200
- entries?: boolean;
201
- keys?: boolean;
202
- values?: boolean;
203
- includes?: boolean;
204
- flatMap?: boolean;
205
- flat?: boolean;
206
- };
207
- };
208
- };
209
- outputFormat: "json";
210
- status: 200;
211
- } | {
212
- input: {
213
- param: {
214
- slug: string;
215
- };
216
- };
217
- output: {
218
- error: {
219
- code: string;
220
- message: string;
221
- };
222
- };
223
- outputFormat: "json";
224
- status: 500;
225
- };
226
- };
227
- } & {
228
- "/:brandId": {
229
- $get: {
230
- input: {
231
- param: {
232
- brandId: string;
233
- };
234
- };
235
- output: {
236
- error: {
237
- code: string;
238
- message: string;
239
- };
240
- };
241
- outputFormat: "json";
242
- status: 404;
243
- } | {
244
- input: {
245
- param: {
246
- brandId: string;
247
- };
248
- };
249
- output: {
250
- brand: {
251
- createdAt: string;
252
- updatedAt: string;
253
- deletedAt: string;
254
- id: string;
255
- name: string;
256
- slug: string;
257
- logoUrl: string | null;
258
- siteUrl: string;
259
- domain: string;
260
- metaPixelId: string | null;
261
- paystackPublicKey: string | null;
262
- paystackSecretKey: string | null;
263
- };
264
- variants: {
265
- createdAt: string;
266
- updatedAt: string;
267
- price: number;
268
- deletedAt: string;
269
- id: string;
270
- name: string | null;
271
- isActive: boolean;
272
- thumbnailUrl: string | null;
273
- productId: string;
274
- sku: string;
275
- trackInventory: boolean;
276
- lowStockThreshold: number | null;
277
- }[];
278
- id: string;
279
- name: string;
280
- slug: string;
281
- createdAt: string;
282
- updatedAt: string;
283
- deletedAt: string;
284
- brandId: string;
285
- isActive: boolean;
286
- description: string | null;
287
- thumbnailUrl: string | null;
288
- quantityDiscounts: string | number | boolean | {
289
- [x: string]: string | number | boolean | /*elided*/ any | {
290
- [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
291
- length: number;
292
- toString: never;
293
- toLocaleString: never;
294
- pop: never;
295
- push: never;
296
- concat: never;
297
- join: never;
298
- reverse: never;
299
- shift: never;
300
- slice: never;
301
- sort: never;
302
- splice: never;
303
- unshift: never;
304
- indexOf: never;
305
- lastIndexOf: never;
306
- every: never;
307
- some: never;
308
- forEach: never;
309
- map: never;
310
- filter: never;
311
- reduce: never;
312
- reduceRight: never;
313
- find: never;
314
- findIndex: never;
315
- fill: never;
316
- copyWithin: never;
317
- entries: never;
318
- keys: never;
319
- values: never;
320
- includes: never;
321
- flatMap: never;
322
- flat: never;
323
- [Symbol.iterator]: never;
324
- readonly [Symbol.unscopables]: {
325
- [x: number]: boolean;
326
- length?: boolean;
327
- toString?: boolean;
328
- toLocaleString?: boolean;
329
- pop?: boolean;
330
- push?: boolean;
331
- concat?: boolean;
332
- join?: boolean;
333
- reverse?: boolean;
334
- shift?: boolean;
335
- slice?: boolean;
336
- sort?: boolean;
337
- splice?: boolean;
338
- unshift?: boolean;
339
- indexOf?: boolean;
340
- lastIndexOf?: boolean;
341
- every?: boolean;
342
- some?: boolean;
343
- forEach?: boolean;
344
- map?: boolean;
345
- filter?: boolean;
346
- reduce?: boolean;
347
- reduceRight?: boolean;
348
- find?: boolean;
349
- findIndex?: boolean;
350
- fill?: boolean;
351
- copyWithin?: boolean;
352
- entries?: boolean;
353
- keys?: boolean;
354
- values?: boolean;
355
- includes?: boolean;
356
- flatMap?: boolean;
357
- flat?: boolean;
358
- };
359
- };
360
- } | {
361
- [x: number]: string | number | boolean | {
362
- [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
363
- } | /*elided*/ any;
364
- length: number;
365
- toString: never;
366
- toLocaleString: never;
367
- pop: never;
368
- push: never;
369
- concat: never;
370
- join: never;
371
- reverse: never;
372
- shift: never;
373
- slice: never;
374
- sort: never;
375
- splice: never;
376
- unshift: never;
377
- indexOf: never;
378
- lastIndexOf: never;
379
- every: never;
380
- some: never;
381
- forEach: never;
382
- map: never;
383
- filter: never;
384
- reduce: never;
385
- reduceRight: never;
386
- find: never;
387
- findIndex: never;
388
- fill: never;
389
- copyWithin: never;
390
- entries: never;
391
- keys: never;
392
- values: never;
393
- includes: never;
394
- flatMap: never;
395
- flat: never;
396
- [Symbol.iterator]: never;
397
- readonly [Symbol.unscopables]: {
398
- [x: number]: boolean;
399
- length?: boolean;
400
- toString?: boolean;
401
- toLocaleString?: boolean;
402
- pop?: boolean;
403
- push?: boolean;
404
- concat?: boolean;
405
- join?: boolean;
406
- reverse?: boolean;
407
- shift?: boolean;
408
- slice?: boolean;
409
- sort?: boolean;
410
- splice?: boolean;
411
- unshift?: boolean;
412
- indexOf?: boolean;
413
- lastIndexOf?: boolean;
414
- every?: boolean;
415
- some?: boolean;
416
- forEach?: boolean;
417
- map?: boolean;
418
- filter?: boolean;
419
- reduce?: boolean;
420
- reduceRight?: boolean;
421
- find?: boolean;
422
- findIndex?: boolean;
423
- fill?: boolean;
424
- copyWithin?: boolean;
425
- entries?: boolean;
426
- keys?: boolean;
427
- values?: boolean;
428
- includes?: boolean;
429
- flatMap?: boolean;
430
- flat?: boolean;
431
- };
432
- };
433
- }[];
434
- outputFormat: "json";
435
- status: 200;
436
- } | {
437
- input: {
438
- param: {
439
- brandId: string;
440
- };
441
- };
442
- output: {
443
- error: {
444
- code: string;
445
- message: string;
446
- };
447
- };
448
- outputFormat: "json";
449
- status: 500;
450
- };
451
- };
452
- }, "/">;
453
- export default app;