@porulle/core 0.1.0 → 0.5.0
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/auth/middleware.d.ts.map +1 -1
- package/dist/auth/middleware.js +17 -1
- package/dist/config/define-config.d.ts.map +1 -1
- package/dist/config/define-config.js +6 -0
- package/dist/config/types.d.ts +12 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/hooks/checkout.d.ts +3 -3
- package/dist/hooks/checkout.js +4 -4
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/interfaces/rest/audit-middleware.d.ts +46 -0
- package/dist/interfaces/rest/audit-middleware.d.ts.map +1 -0
- package/dist/interfaces/rest/audit-middleware.js +82 -0
- package/dist/interfaces/rest/parse-json.d.ts +39 -0
- package/dist/interfaces/rest/parse-json.d.ts.map +1 -0
- package/dist/interfaces/rest/parse-json.js +45 -0
- package/dist/interfaces/rest/routes/catalog.d.ts.map +1 -1
- package/dist/interfaces/rest/routes/catalog.js +17 -2
- package/dist/interfaces/rest/routes/customers.d.ts.map +1 -1
- package/dist/interfaces/rest/routes/customers.js +59 -4
- package/dist/interfaces/rest/routes/inventory.d.ts.map +1 -1
- package/dist/interfaces/rest/routes/inventory.js +4 -2
- package/dist/interfaces/rest/routes/media.d.ts.map +1 -1
- package/dist/interfaces/rest/routes/media.js +6 -0
- package/dist/interfaces/rest/routes/orders.d.ts.map +1 -1
- package/dist/interfaces/rest/routes/orders.js +23 -1
- package/dist/interfaces/rest/routes/promotions.d.ts.map +1 -1
- package/dist/interfaces/rest/routes/promotions.js +21 -1
- package/dist/interfaces/rest/schemas/carts.d.ts +175 -0
- package/dist/interfaces/rest/schemas/carts.d.ts.map +1 -1
- package/dist/interfaces/rest/schemas/catalog.d.ts +1410 -0
- package/dist/interfaces/rest/schemas/catalog.d.ts.map +1 -1
- package/dist/interfaces/rest/schemas/catalog.js +28 -1
- package/dist/interfaces/rest/schemas/checkout.d.ts +35 -0
- package/dist/interfaces/rest/schemas/checkout.d.ts.map +1 -1
- package/dist/interfaces/rest/schemas/customer-portal.d.ts +280 -0
- package/dist/interfaces/rest/schemas/customer-portal.d.ts.map +1 -1
- package/dist/interfaces/rest/schemas/customers.d.ts +863 -0
- package/dist/interfaces/rest/schemas/customers.d.ts.map +1 -1
- package/dist/interfaces/rest/schemas/customers.js +88 -0
- package/dist/interfaces/rest/schemas/inventory.d.ts +182 -1
- package/dist/interfaces/rest/schemas/inventory.d.ts.map +1 -1
- package/dist/interfaces/rest/schemas/media.d.ts +105 -0
- package/dist/interfaces/rest/schemas/media.d.ts.map +1 -1
- package/dist/interfaces/rest/schemas/orders.d.ts +136 -0
- package/dist/interfaces/rest/schemas/orders.d.ts.map +1 -1
- package/dist/interfaces/rest/schemas/orders.js +20 -0
- package/dist/interfaces/rest/schemas/pricing.d.ts +70 -0
- package/dist/interfaces/rest/schemas/pricing.d.ts.map +1 -1
- package/dist/interfaces/rest/schemas/promotions.d.ts +298 -0
- package/dist/interfaces/rest/schemas/promotions.d.ts.map +1 -1
- package/dist/interfaces/rest/schemas/promotions.js +25 -1
- package/dist/interfaces/rest/schemas/shared.d.ts +47 -0
- package/dist/interfaces/rest/schemas/shared.d.ts.map +1 -1
- package/dist/interfaces/rest/schemas/shared.js +8 -0
- package/dist/interfaces/rest/schemas/webhooks.d.ts +70 -0
- package/dist/interfaces/rest/schemas/webhooks.d.ts.map +1 -1
- package/dist/kernel/database/adapter.d.ts +6 -0
- package/dist/kernel/database/adapter.d.ts.map +1 -1
- package/dist/kernel/database/adapter.js +62 -1
- package/dist/kernel/database/migrate.d.ts +22 -2
- package/dist/kernel/database/migrate.d.ts.map +1 -1
- package/dist/kernel/database/migrate.js +42 -2
- package/dist/modules/analytics/hooks.d.ts +5 -5
- package/dist/modules/analytics/hooks.js +5 -5
- package/dist/modules/analytics/repository/index.d.ts.map +1 -1
- package/dist/modules/catalog/category-service.d.ts +6 -1
- package/dist/modules/catalog/category-service.d.ts.map +1 -1
- package/dist/modules/catalog/category-service.js +35 -5
- package/dist/modules/catalog/schema.d.ts +17 -0
- package/dist/modules/catalog/schema.d.ts.map +1 -1
- package/dist/modules/catalog/schema.js +2 -0
- package/dist/modules/catalog/service.d.ts +11 -2
- package/dist/modules/catalog/service.d.ts.map +1 -1
- package/dist/modules/catalog/service.js +8 -2
- package/dist/modules/customers/repository/index.d.ts +8 -1
- package/dist/modules/customers/repository/index.d.ts.map +1 -1
- package/dist/modules/customers/repository/index.js +42 -2
- package/dist/modules/customers/schema.d.ts +162 -0
- package/dist/modules/customers/schema.d.ts.map +1 -1
- package/dist/modules/customers/schema.js +18 -0
- package/dist/modules/customers/service.d.ts +32 -2
- package/dist/modules/customers/service.d.ts.map +1 -1
- package/dist/modules/customers/service.js +119 -3
- package/dist/modules/inventory/schemas.d.ts +7 -1
- package/dist/modules/inventory/schemas.d.ts.map +1 -1
- package/dist/modules/inventory/schemas.js +6 -1
- package/dist/modules/inventory/service.d.ts +18 -0
- package/dist/modules/inventory/service.d.ts.map +1 -1
- package/dist/modules/inventory/service.js +58 -21
- package/dist/modules/media/noop-adapter.d.ts +11 -0
- package/dist/modules/media/noop-adapter.d.ts.map +1 -0
- package/dist/modules/media/noop-adapter.js +31 -0
- package/dist/modules/orders/repository/index.d.ts +19 -0
- package/dist/modules/orders/repository/index.d.ts.map +1 -1
- package/dist/modules/orders/repository/index.js +42 -1
- package/dist/modules/orders/service.d.ts +31 -0
- package/dist/modules/orders/service.d.ts.map +1 -1
- package/dist/modules/orders/service.js +52 -2
- package/dist/modules/payments/repository/index.d.ts.map +1 -1
- package/dist/modules/promotions/schemas.d.ts +46 -0
- package/dist/modules/promotions/schemas.d.ts.map +1 -1
- package/dist/modules/promotions/schemas.js +19 -8
- package/dist/modules/promotions/service.d.ts +8 -2
- package/dist/modules/promotions/service.d.ts.map +1 -1
- package/dist/modules/promotions/service.js +74 -9
- package/dist/modules/search/repository/index.d.ts.map +1 -1
- package/dist/modules/shipping/repository/index.d.ts.map +1 -1
- package/dist/modules/tax/repository/index.d.ts.map +1 -1
- package/dist/runtime/client-ip.d.ts +31 -0
- package/dist/runtime/client-ip.d.ts.map +1 -0
- package/dist/runtime/client-ip.js +31 -0
- package/dist/runtime/server.d.ts +4 -0
- package/dist/runtime/server.d.ts.map +1 -1
- package/dist/runtime/server.js +35 -19
- package/dist/test-utils/create-plugin-test-app.d.ts.map +1 -1
- package/dist/test-utils/create-plugin-test-app.js +4 -1
- package/dist/test-utils/test-actors.d.ts +3 -2
- package/dist/test-utils/test-actors.d.ts.map +1 -1
- package/dist/test-utils/test-actors.js +3 -2
- package/package.json +4 -4
- package/src/auth/middleware.ts +18 -1
- package/src/config/define-config.ts +7 -0
- package/src/config/types.ts +12 -0
- package/src/hooks/checkout.ts +4 -4
- package/src/index.ts +18 -1
- package/src/interfaces/rest/audit-middleware.ts +110 -0
- package/src/interfaces/rest/parse-json.ts +81 -0
- package/src/interfaces/rest/routes/catalog.ts +21 -1
- package/src/interfaces/rest/routes/customers.ts +64 -3
- package/src/interfaces/rest/routes/inventory.ts +4 -2
- package/src/interfaces/rest/routes/media.ts +7 -0
- package/src/interfaces/rest/routes/orders.ts +21 -1
- package/src/interfaces/rest/routes/promotions.ts +22 -1
- package/src/interfaces/rest/schemas/catalog.ts +30 -1
- package/src/interfaces/rest/schemas/customers.ts +99 -0
- package/src/interfaces/rest/schemas/orders.ts +21 -0
- package/src/interfaces/rest/schemas/promotions.ts +32 -1
- package/src/interfaces/rest/schemas/shared.ts +9 -0
- package/src/kernel/database/adapter.ts +64 -1
- package/src/kernel/database/migrate.ts +50 -2
- package/src/modules/analytics/hooks.ts +5 -5
- package/src/modules/analytics/repository/index.ts +0 -1
- package/src/modules/catalog/category-service.ts +26 -5
- package/src/modules/catalog/schema.ts +2 -0
- package/src/modules/catalog/service.ts +25 -3
- package/src/modules/customers/repository/index.ts +55 -1
- package/src/modules/customers/schema.ts +19 -0
- package/src/modules/customers/service.ts +137 -2
- package/src/modules/inventory/schemas.ts +6 -1
- package/src/modules/inventory/service.ts +84 -29
- package/src/modules/media/noop-adapter.ts +36 -0
- package/src/modules/orders/repository/index.ts +63 -1
- package/src/modules/orders/service.ts +86 -3
- package/src/modules/payments/repository/index.ts +0 -1
- package/src/modules/promotions/schemas.ts +21 -4
- package/src/modules/promotions/service.ts +90 -18
- package/src/modules/search/repository/index.ts +0 -1
- package/src/modules/shipping/repository/index.ts +0 -1
- package/src/modules/tax/repository/index.ts +0 -1
- package/src/runtime/client-ip.ts +49 -0
- package/src/runtime/server.ts +39 -18
- package/src/test-utils/create-plugin-test-app.ts +3 -1
- package/src/test-utils/test-actors.ts +3 -2
|
@@ -1,6 +1,36 @@
|
|
|
1
1
|
import { z } from "@hono/zod-openapi";
|
|
2
2
|
import { CreatePromotionBodySchema } from "../../../modules/promotions/schemas.js";
|
|
3
3
|
export { CreatePromotionBodySchema };
|
|
4
|
+
export declare const UpdatePromotionBodySchema: z.ZodObject<{
|
|
5
|
+
name: z.ZodOptional<z.ZodString>;
|
|
6
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
7
|
+
percentage_off_order: "percentage_off_order";
|
|
8
|
+
fixed_off_order: "fixed_off_order";
|
|
9
|
+
percentage_off_item: "percentage_off_item";
|
|
10
|
+
fixed_off_item: "fixed_off_item";
|
|
11
|
+
free_shipping: "free_shipping";
|
|
12
|
+
buy_x_get_y: "buy_x_get_y";
|
|
13
|
+
}>>;
|
|
14
|
+
value: z.ZodOptional<z.ZodNumber>;
|
|
15
|
+
code: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
16
|
+
buyQuantity: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
17
|
+
getQuantity: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
18
|
+
isAutomatic: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
|
|
19
|
+
isActive: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
|
|
20
|
+
priority: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
21
|
+
conditions: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
22
|
+
minimumOrderValue: z.ZodOptional<z.ZodNumber>;
|
|
23
|
+
minimumQuantity: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
entityTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
25
|
+
categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
26
|
+
customerGroups: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
27
|
+
}, z.core.$strip>>>;
|
|
28
|
+
usageLimitTotal: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
29
|
+
usageLimitPerCustomer: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
30
|
+
validFrom: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
|
|
31
|
+
validUntil: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
|
|
32
|
+
metadata: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
33
|
+
}, z.core.$strip>;
|
|
4
34
|
export declare const ValidatePromotionBodySchema: z.ZodObject<{
|
|
5
35
|
code: z.ZodString;
|
|
6
36
|
currency: z.ZodString;
|
|
@@ -101,6 +131,13 @@ export declare const createPromotionRoute: {
|
|
|
101
131
|
error: z.ZodObject<{
|
|
102
132
|
code: z.ZodString;
|
|
103
133
|
message: z.ZodString;
|
|
134
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
135
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
136
|
+
path: z.ZodString;
|
|
137
|
+
message: z.ZodString;
|
|
138
|
+
code: z.ZodString;
|
|
139
|
+
}, z.core.$strip>>>;
|
|
140
|
+
}, z.core.$strip>>;
|
|
104
141
|
}, z.core.$strip>;
|
|
105
142
|
}, z.core.$strip>;
|
|
106
143
|
};
|
|
@@ -114,6 +151,13 @@ export declare const createPromotionRoute: {
|
|
|
114
151
|
error: z.ZodObject<{
|
|
115
152
|
code: z.ZodString;
|
|
116
153
|
message: z.ZodString;
|
|
154
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
155
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
156
|
+
path: z.ZodString;
|
|
157
|
+
message: z.ZodString;
|
|
158
|
+
code: z.ZodString;
|
|
159
|
+
}, z.core.$strip>>>;
|
|
160
|
+
}, z.core.$strip>>;
|
|
117
161
|
}, z.core.$strip>;
|
|
118
162
|
}, z.core.$strip>;
|
|
119
163
|
};
|
|
@@ -127,6 +171,13 @@ export declare const createPromotionRoute: {
|
|
|
127
171
|
error: z.ZodObject<{
|
|
128
172
|
code: z.ZodString;
|
|
129
173
|
message: z.ZodString;
|
|
174
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
175
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
176
|
+
path: z.ZodString;
|
|
177
|
+
message: z.ZodString;
|
|
178
|
+
code: z.ZodString;
|
|
179
|
+
}, z.core.$strip>>>;
|
|
180
|
+
}, z.core.$strip>>;
|
|
130
181
|
}, z.core.$strip>;
|
|
131
182
|
}, z.core.$strip>;
|
|
132
183
|
};
|
|
@@ -140,6 +191,13 @@ export declare const createPromotionRoute: {
|
|
|
140
191
|
error: z.ZodObject<{
|
|
141
192
|
code: z.ZodString;
|
|
142
193
|
message: z.ZodString;
|
|
194
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
195
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
196
|
+
path: z.ZodString;
|
|
197
|
+
message: z.ZodString;
|
|
198
|
+
code: z.ZodString;
|
|
199
|
+
}, z.core.$strip>>>;
|
|
200
|
+
}, z.core.$strip>>;
|
|
143
201
|
}, z.core.$strip>;
|
|
144
202
|
}, z.core.$strip>;
|
|
145
203
|
};
|
|
@@ -153,6 +211,13 @@ export declare const createPromotionRoute: {
|
|
|
153
211
|
error: z.ZodObject<{
|
|
154
212
|
code: z.ZodString;
|
|
155
213
|
message: z.ZodString;
|
|
214
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
215
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
216
|
+
path: z.ZodString;
|
|
217
|
+
message: z.ZodString;
|
|
218
|
+
code: z.ZodString;
|
|
219
|
+
}, z.core.$strip>>>;
|
|
220
|
+
}, z.core.$strip>>;
|
|
156
221
|
}, z.core.$strip>;
|
|
157
222
|
}, z.core.$strip>;
|
|
158
223
|
};
|
|
@@ -209,6 +274,13 @@ export declare const validatePromotionRoute: {
|
|
|
209
274
|
error: z.ZodObject<{
|
|
210
275
|
code: z.ZodString;
|
|
211
276
|
message: z.ZodString;
|
|
277
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
278
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
279
|
+
path: z.ZodString;
|
|
280
|
+
message: z.ZodString;
|
|
281
|
+
code: z.ZodString;
|
|
282
|
+
}, z.core.$strip>>>;
|
|
283
|
+
}, z.core.$strip>>;
|
|
212
284
|
}, z.core.$strip>;
|
|
213
285
|
}, z.core.$strip>;
|
|
214
286
|
};
|
|
@@ -222,6 +294,13 @@ export declare const validatePromotionRoute: {
|
|
|
222
294
|
error: z.ZodObject<{
|
|
223
295
|
code: z.ZodString;
|
|
224
296
|
message: z.ZodString;
|
|
297
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
298
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
299
|
+
path: z.ZodString;
|
|
300
|
+
message: z.ZodString;
|
|
301
|
+
code: z.ZodString;
|
|
302
|
+
}, z.core.$strip>>>;
|
|
303
|
+
}, z.core.$strip>>;
|
|
225
304
|
}, z.core.$strip>;
|
|
226
305
|
}, z.core.$strip>;
|
|
227
306
|
};
|
|
@@ -235,6 +314,13 @@ export declare const validatePromotionRoute: {
|
|
|
235
314
|
error: z.ZodObject<{
|
|
236
315
|
code: z.ZodString;
|
|
237
316
|
message: z.ZodString;
|
|
317
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
318
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
319
|
+
path: z.ZodString;
|
|
320
|
+
message: z.ZodString;
|
|
321
|
+
code: z.ZodString;
|
|
322
|
+
}, z.core.$strip>>>;
|
|
323
|
+
}, z.core.$strip>>;
|
|
238
324
|
}, z.core.$strip>;
|
|
239
325
|
}, z.core.$strip>;
|
|
240
326
|
};
|
|
@@ -248,6 +334,13 @@ export declare const validatePromotionRoute: {
|
|
|
248
334
|
error: z.ZodObject<{
|
|
249
335
|
code: z.ZodString;
|
|
250
336
|
message: z.ZodString;
|
|
337
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
338
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
339
|
+
path: z.ZodString;
|
|
340
|
+
message: z.ZodString;
|
|
341
|
+
code: z.ZodString;
|
|
342
|
+
}, z.core.$strip>>>;
|
|
343
|
+
}, z.core.$strip>>;
|
|
251
344
|
}, z.core.$strip>;
|
|
252
345
|
}, z.core.$strip>;
|
|
253
346
|
};
|
|
@@ -261,6 +354,13 @@ export declare const validatePromotionRoute: {
|
|
|
261
354
|
error: z.ZodObject<{
|
|
262
355
|
code: z.ZodString;
|
|
263
356
|
message: z.ZodString;
|
|
357
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
358
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
359
|
+
path: z.ZodString;
|
|
360
|
+
message: z.ZodString;
|
|
361
|
+
code: z.ZodString;
|
|
362
|
+
}, z.core.$strip>>>;
|
|
363
|
+
}, z.core.$strip>>;
|
|
264
364
|
}, z.core.$strip>;
|
|
265
365
|
}, z.core.$strip>;
|
|
266
366
|
};
|
|
@@ -281,6 +381,169 @@ export declare const validatePromotionRoute: {
|
|
|
281
381
|
} & {
|
|
282
382
|
getRoutingPath(): "/validate";
|
|
283
383
|
};
|
|
384
|
+
export declare const updatePromotionRoute: {
|
|
385
|
+
method: "patch";
|
|
386
|
+
path: "/{id}";
|
|
387
|
+
tags: string[];
|
|
388
|
+
summary: string;
|
|
389
|
+
description: string;
|
|
390
|
+
request: {
|
|
391
|
+
params: z.ZodObject<{
|
|
392
|
+
id: z.ZodUUID;
|
|
393
|
+
}, z.core.$strip>;
|
|
394
|
+
body: {
|
|
395
|
+
content: {
|
|
396
|
+
"application/json": {
|
|
397
|
+
schema: z.ZodObject<{
|
|
398
|
+
name: z.ZodOptional<z.ZodString>;
|
|
399
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
400
|
+
percentage_off_order: "percentage_off_order";
|
|
401
|
+
fixed_off_order: "fixed_off_order";
|
|
402
|
+
percentage_off_item: "percentage_off_item";
|
|
403
|
+
fixed_off_item: "fixed_off_item";
|
|
404
|
+
free_shipping: "free_shipping";
|
|
405
|
+
buy_x_get_y: "buy_x_get_y";
|
|
406
|
+
}>>;
|
|
407
|
+
value: z.ZodOptional<z.ZodNumber>;
|
|
408
|
+
code: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
409
|
+
buyQuantity: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
410
|
+
getQuantity: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
411
|
+
isAutomatic: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
|
|
412
|
+
isActive: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
|
|
413
|
+
priority: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
414
|
+
conditions: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
415
|
+
minimumOrderValue: z.ZodOptional<z.ZodNumber>;
|
|
416
|
+
minimumQuantity: z.ZodOptional<z.ZodNumber>;
|
|
417
|
+
entityTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
418
|
+
categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
419
|
+
customerGroups: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
420
|
+
}, z.core.$strip>>>;
|
|
421
|
+
usageLimitTotal: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
422
|
+
usageLimitPerCustomer: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
423
|
+
validFrom: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
|
|
424
|
+
validUntil: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
|
|
425
|
+
metadata: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
426
|
+
}, z.core.$strip>;
|
|
427
|
+
};
|
|
428
|
+
};
|
|
429
|
+
required: true;
|
|
430
|
+
};
|
|
431
|
+
};
|
|
432
|
+
responses: {
|
|
433
|
+
400: {
|
|
434
|
+
readonly content: {
|
|
435
|
+
readonly "application/json": {
|
|
436
|
+
readonly schema: z.ZodObject<{
|
|
437
|
+
error: z.ZodObject<{
|
|
438
|
+
code: z.ZodString;
|
|
439
|
+
message: z.ZodString;
|
|
440
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
441
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
442
|
+
path: z.ZodString;
|
|
443
|
+
message: z.ZodString;
|
|
444
|
+
code: z.ZodString;
|
|
445
|
+
}, z.core.$strip>>>;
|
|
446
|
+
}, z.core.$strip>>;
|
|
447
|
+
}, z.core.$strip>;
|
|
448
|
+
}, z.core.$strip>;
|
|
449
|
+
};
|
|
450
|
+
};
|
|
451
|
+
readonly description: "Business logic error.";
|
|
452
|
+
};
|
|
453
|
+
401: {
|
|
454
|
+
readonly content: {
|
|
455
|
+
readonly "application/json": {
|
|
456
|
+
readonly schema: z.ZodObject<{
|
|
457
|
+
error: z.ZodObject<{
|
|
458
|
+
code: z.ZodString;
|
|
459
|
+
message: z.ZodString;
|
|
460
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
461
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
462
|
+
path: z.ZodString;
|
|
463
|
+
message: z.ZodString;
|
|
464
|
+
code: z.ZodString;
|
|
465
|
+
}, z.core.$strip>>>;
|
|
466
|
+
}, z.core.$strip>>;
|
|
467
|
+
}, z.core.$strip>;
|
|
468
|
+
}, z.core.$strip>;
|
|
469
|
+
};
|
|
470
|
+
};
|
|
471
|
+
readonly description: "Authentication required.";
|
|
472
|
+
};
|
|
473
|
+
403: {
|
|
474
|
+
readonly content: {
|
|
475
|
+
readonly "application/json": {
|
|
476
|
+
readonly schema: z.ZodObject<{
|
|
477
|
+
error: z.ZodObject<{
|
|
478
|
+
code: z.ZodString;
|
|
479
|
+
message: z.ZodString;
|
|
480
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
481
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
482
|
+
path: z.ZodString;
|
|
483
|
+
message: z.ZodString;
|
|
484
|
+
code: z.ZodString;
|
|
485
|
+
}, z.core.$strip>>>;
|
|
486
|
+
}, z.core.$strip>>;
|
|
487
|
+
}, z.core.$strip>;
|
|
488
|
+
}, z.core.$strip>;
|
|
489
|
+
};
|
|
490
|
+
};
|
|
491
|
+
readonly description: "Insufficient permissions.";
|
|
492
|
+
};
|
|
493
|
+
404: {
|
|
494
|
+
readonly content: {
|
|
495
|
+
readonly "application/json": {
|
|
496
|
+
readonly schema: z.ZodObject<{
|
|
497
|
+
error: z.ZodObject<{
|
|
498
|
+
code: z.ZodString;
|
|
499
|
+
message: z.ZodString;
|
|
500
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
501
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
502
|
+
path: z.ZodString;
|
|
503
|
+
message: z.ZodString;
|
|
504
|
+
code: z.ZodString;
|
|
505
|
+
}, z.core.$strip>>>;
|
|
506
|
+
}, z.core.$strip>>;
|
|
507
|
+
}, z.core.$strip>;
|
|
508
|
+
}, z.core.$strip>;
|
|
509
|
+
};
|
|
510
|
+
};
|
|
511
|
+
readonly description: "Resource not found.";
|
|
512
|
+
};
|
|
513
|
+
422: {
|
|
514
|
+
readonly content: {
|
|
515
|
+
readonly "application/json": {
|
|
516
|
+
readonly schema: z.ZodObject<{
|
|
517
|
+
error: z.ZodObject<{
|
|
518
|
+
code: z.ZodString;
|
|
519
|
+
message: z.ZodString;
|
|
520
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
521
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
522
|
+
path: z.ZodString;
|
|
523
|
+
message: z.ZodString;
|
|
524
|
+
code: z.ZodString;
|
|
525
|
+
}, z.core.$strip>>>;
|
|
526
|
+
}, z.core.$strip>>;
|
|
527
|
+
}, z.core.$strip>;
|
|
528
|
+
}, z.core.$strip>;
|
|
529
|
+
};
|
|
530
|
+
};
|
|
531
|
+
readonly description: "Validation error.";
|
|
532
|
+
};
|
|
533
|
+
200: {
|
|
534
|
+
content: {
|
|
535
|
+
"application/json": {
|
|
536
|
+
schema: z.ZodObject<{
|
|
537
|
+
data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
538
|
+
}, z.core.$strip>;
|
|
539
|
+
};
|
|
540
|
+
};
|
|
541
|
+
description: string;
|
|
542
|
+
};
|
|
543
|
+
};
|
|
544
|
+
} & {
|
|
545
|
+
getRoutingPath(): "/:id";
|
|
546
|
+
};
|
|
284
547
|
export declare const deactivatePromotionRoute: {
|
|
285
548
|
method: "post";
|
|
286
549
|
path: "/{id}/deactivate";
|
|
@@ -299,6 +562,13 @@ export declare const deactivatePromotionRoute: {
|
|
|
299
562
|
error: z.ZodObject<{
|
|
300
563
|
code: z.ZodString;
|
|
301
564
|
message: z.ZodString;
|
|
565
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
566
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
567
|
+
path: z.ZodString;
|
|
568
|
+
message: z.ZodString;
|
|
569
|
+
code: z.ZodString;
|
|
570
|
+
}, z.core.$strip>>>;
|
|
571
|
+
}, z.core.$strip>>;
|
|
302
572
|
}, z.core.$strip>;
|
|
303
573
|
}, z.core.$strip>;
|
|
304
574
|
};
|
|
@@ -312,6 +582,13 @@ export declare const deactivatePromotionRoute: {
|
|
|
312
582
|
error: z.ZodObject<{
|
|
313
583
|
code: z.ZodString;
|
|
314
584
|
message: z.ZodString;
|
|
585
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
586
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
587
|
+
path: z.ZodString;
|
|
588
|
+
message: z.ZodString;
|
|
589
|
+
code: z.ZodString;
|
|
590
|
+
}, z.core.$strip>>>;
|
|
591
|
+
}, z.core.$strip>>;
|
|
315
592
|
}, z.core.$strip>;
|
|
316
593
|
}, z.core.$strip>;
|
|
317
594
|
};
|
|
@@ -325,6 +602,13 @@ export declare const deactivatePromotionRoute: {
|
|
|
325
602
|
error: z.ZodObject<{
|
|
326
603
|
code: z.ZodString;
|
|
327
604
|
message: z.ZodString;
|
|
605
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
606
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
607
|
+
path: z.ZodString;
|
|
608
|
+
message: z.ZodString;
|
|
609
|
+
code: z.ZodString;
|
|
610
|
+
}, z.core.$strip>>>;
|
|
611
|
+
}, z.core.$strip>>;
|
|
328
612
|
}, z.core.$strip>;
|
|
329
613
|
}, z.core.$strip>;
|
|
330
614
|
};
|
|
@@ -338,6 +622,13 @@ export declare const deactivatePromotionRoute: {
|
|
|
338
622
|
error: z.ZodObject<{
|
|
339
623
|
code: z.ZodString;
|
|
340
624
|
message: z.ZodString;
|
|
625
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
626
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
627
|
+
path: z.ZodString;
|
|
628
|
+
message: z.ZodString;
|
|
629
|
+
code: z.ZodString;
|
|
630
|
+
}, z.core.$strip>>>;
|
|
631
|
+
}, z.core.$strip>>;
|
|
341
632
|
}, z.core.$strip>;
|
|
342
633
|
}, z.core.$strip>;
|
|
343
634
|
};
|
|
@@ -351,6 +642,13 @@ export declare const deactivatePromotionRoute: {
|
|
|
351
642
|
error: z.ZodObject<{
|
|
352
643
|
code: z.ZodString;
|
|
353
644
|
message: z.ZodString;
|
|
645
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
646
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
647
|
+
path: z.ZodString;
|
|
648
|
+
message: z.ZodString;
|
|
649
|
+
code: z.ZodString;
|
|
650
|
+
}, z.core.$strip>>>;
|
|
651
|
+
}, z.core.$strip>>;
|
|
354
652
|
}, z.core.$strip>;
|
|
355
653
|
}, z.core.$strip>;
|
|
356
654
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promotions.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/rest/schemas/promotions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAe,MAAM,mBAAmB,CAAC;AAKnD,OAAO,
|
|
1
|
+
{"version":3,"file":"promotions.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/rest/schemas/promotions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAe,MAAM,mBAAmB,CAAC;AAKnD,OAAO,EACL,yBAAyB,EAE1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAErC,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAErC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;iBAaF,CAAC;AAIvC,eAAO,MAAM,uBAAuB;;iBAEL,CAAC;AAUhC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiB9B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoB/B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBjC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsB/B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAenC,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { z, createRoute } from "@hono/zod-openapi";
|
|
2
2
|
import { errorResponses } from "./shared.js";
|
|
3
3
|
// ─── Request Schemas ────────────────────────────────────────────────────────
|
|
4
|
-
import { CreatePromotionBodySchema } from "../../../modules/promotions/schemas.js";
|
|
4
|
+
import { CreatePromotionBodySchema, UpdatePromotionBodySchema as UpdatePromotionBodySchemaBase, } from "../../../modules/promotions/schemas.js";
|
|
5
5
|
export { CreatePromotionBodySchema };
|
|
6
|
+
export const UpdatePromotionBodySchema = UpdatePromotionBodySchemaBase.openapi("UpdatePromotionRequest");
|
|
6
7
|
export const ValidatePromotionBodySchema = z.object({
|
|
7
8
|
code: z.string().openapi({ example: "SUMMER10" }),
|
|
8
9
|
currency: z.string().length(3).openapi({ example: "USD" }),
|
|
@@ -86,6 +87,29 @@ export const validatePromotionRoute = createRoute({
|
|
|
86
87
|
...errorResponses,
|
|
87
88
|
},
|
|
88
89
|
});
|
|
90
|
+
export const updatePromotionRoute = createRoute({
|
|
91
|
+
method: "patch",
|
|
92
|
+
path: "/{id}",
|
|
93
|
+
tags: ["Promotions"],
|
|
94
|
+
summary: "Edit a promotion",
|
|
95
|
+
description: "Update any subset of a promotion's fields (name, code, type, value, validity dates, scope, metadata, isActive). Validated the same way create is.",
|
|
96
|
+
request: {
|
|
97
|
+
params: PromotionIdParam,
|
|
98
|
+
body: {
|
|
99
|
+
content: {
|
|
100
|
+
"application/json": { schema: UpdatePromotionBodySchema },
|
|
101
|
+
},
|
|
102
|
+
required: true,
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
responses: {
|
|
106
|
+
200: {
|
|
107
|
+
content: { "application/json": { schema: PromotionResponseSchema } },
|
|
108
|
+
description: "Promotion updated.",
|
|
109
|
+
},
|
|
110
|
+
...errorResponses,
|
|
111
|
+
},
|
|
112
|
+
});
|
|
89
113
|
export const deactivatePromotionRoute = createRoute({
|
|
90
114
|
method: "post",
|
|
91
115
|
path: "/{id}/deactivate",
|
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
import { z } from "@hono/zod-openapi";
|
|
2
|
+
export declare const ValidationIssueSchema: z.ZodObject<{
|
|
3
|
+
path: z.ZodString;
|
|
4
|
+
message: z.ZodString;
|
|
5
|
+
code: z.ZodString;
|
|
6
|
+
}, z.core.$strip>;
|
|
2
7
|
export declare const ErrorSchema: z.ZodObject<{
|
|
3
8
|
error: z.ZodObject<{
|
|
4
9
|
code: z.ZodString;
|
|
5
10
|
message: z.ZodString;
|
|
11
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
12
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13
|
+
path: z.ZodString;
|
|
14
|
+
message: z.ZodString;
|
|
15
|
+
code: z.ZodString;
|
|
16
|
+
}, z.core.$strip>>>;
|
|
17
|
+
}, z.core.$strip>>;
|
|
6
18
|
}, z.core.$strip>;
|
|
7
19
|
}, z.core.$strip>;
|
|
8
20
|
export declare const PaginationQuerySchema: z.ZodObject<{
|
|
@@ -33,6 +45,13 @@ export declare const errorResponses: {
|
|
|
33
45
|
error: z.ZodObject<{
|
|
34
46
|
code: z.ZodString;
|
|
35
47
|
message: z.ZodString;
|
|
48
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
49
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
50
|
+
path: z.ZodString;
|
|
51
|
+
message: z.ZodString;
|
|
52
|
+
code: z.ZodString;
|
|
53
|
+
}, z.core.$strip>>>;
|
|
54
|
+
}, z.core.$strip>>;
|
|
36
55
|
}, z.core.$strip>;
|
|
37
56
|
}, z.core.$strip>;
|
|
38
57
|
};
|
|
@@ -46,6 +65,13 @@ export declare const errorResponses: {
|
|
|
46
65
|
error: z.ZodObject<{
|
|
47
66
|
code: z.ZodString;
|
|
48
67
|
message: z.ZodString;
|
|
68
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
69
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
70
|
+
path: z.ZodString;
|
|
71
|
+
message: z.ZodString;
|
|
72
|
+
code: z.ZodString;
|
|
73
|
+
}, z.core.$strip>>>;
|
|
74
|
+
}, z.core.$strip>>;
|
|
49
75
|
}, z.core.$strip>;
|
|
50
76
|
}, z.core.$strip>;
|
|
51
77
|
};
|
|
@@ -59,6 +85,13 @@ export declare const errorResponses: {
|
|
|
59
85
|
error: z.ZodObject<{
|
|
60
86
|
code: z.ZodString;
|
|
61
87
|
message: z.ZodString;
|
|
88
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
89
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
90
|
+
path: z.ZodString;
|
|
91
|
+
message: z.ZodString;
|
|
92
|
+
code: z.ZodString;
|
|
93
|
+
}, z.core.$strip>>>;
|
|
94
|
+
}, z.core.$strip>>;
|
|
62
95
|
}, z.core.$strip>;
|
|
63
96
|
}, z.core.$strip>;
|
|
64
97
|
};
|
|
@@ -72,6 +105,13 @@ export declare const errorResponses: {
|
|
|
72
105
|
error: z.ZodObject<{
|
|
73
106
|
code: z.ZodString;
|
|
74
107
|
message: z.ZodString;
|
|
108
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
109
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
110
|
+
path: z.ZodString;
|
|
111
|
+
message: z.ZodString;
|
|
112
|
+
code: z.ZodString;
|
|
113
|
+
}, z.core.$strip>>>;
|
|
114
|
+
}, z.core.$strip>>;
|
|
75
115
|
}, z.core.$strip>;
|
|
76
116
|
}, z.core.$strip>;
|
|
77
117
|
};
|
|
@@ -85,6 +125,13 @@ export declare const errorResponses: {
|
|
|
85
125
|
error: z.ZodObject<{
|
|
86
126
|
code: z.ZodString;
|
|
87
127
|
message: z.ZodString;
|
|
128
|
+
details: z.ZodOptional<z.ZodObject<{
|
|
129
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
130
|
+
path: z.ZodString;
|
|
131
|
+
message: z.ZodString;
|
|
132
|
+
code: z.ZodString;
|
|
133
|
+
}, z.core.$strip>>>;
|
|
134
|
+
}, z.core.$strip>>;
|
|
88
135
|
}, z.core.$strip>;
|
|
89
136
|
}, z.core.$strip>;
|
|
90
137
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/rest/schemas/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAItC,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/rest/schemas/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAItC,eAAO,MAAM,qBAAqB;;;;iBAIL,CAAC;AAE9B,eAAO,MAAM,WAAW;;;;;;;;;;;;iBAQL,CAAC;AAIpB,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;iBAIL,CAAC;AAI7B,eAAO,MAAM,eAAe;;iBAE1B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;iBAE9B,CAAC;AAIH,eAAO,MAAM,qBAAqB;;;;iBAEL,CAAC;AAE9B,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBjB,CAAC"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import { z } from "@hono/zod-openapi";
|
|
2
2
|
// ─── Error Response ──────────────────────────────────────────────────────────
|
|
3
|
+
export const ValidationIssueSchema = z.object({
|
|
4
|
+
path: z.string().openapi({ example: "cartId" }),
|
|
5
|
+
message: z.string().openapi({ example: "Invalid uuid" }),
|
|
6
|
+
code: z.string().openapi({ example: "invalid_string" }),
|
|
7
|
+
}).openapi("ValidationIssue");
|
|
3
8
|
export const ErrorSchema = z.object({
|
|
4
9
|
error: z.object({
|
|
5
10
|
code: z.string().openapi({ example: "VALIDATION_FAILED" }),
|
|
6
11
|
message: z.string().openapi({ example: "cartId: Invalid uuid" }),
|
|
12
|
+
details: z.object({
|
|
13
|
+
issues: z.array(ValidationIssueSchema).optional(),
|
|
14
|
+
}).optional(),
|
|
7
15
|
}),
|
|
8
16
|
}).openapi("Error");
|
|
9
17
|
// ─── Pagination ──────────────────────────────────────────────────────────────
|