@shophost/rest-api 2.0.51 → 2.0.53
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/package.json +1 -1
- package/schema.prisma +4 -0
- package/src/bootstrap.js +1 -1
- package/src/bootstrap.js.map +1 -1
- package/src/{app-services.d.ts → container.d.ts} +7 -5
- package/src/container.js +1 -0
- package/src/container.js.map +1 -0
- package/src/core/db/__generated__/client/internal/class.js +33 -29
- package/src/core/db/__generated__/client/internal/class.js.map +1 -1
- package/src/core/db/__generated__/client/internal/prismaNamespace.d.ts +4 -0
- package/src/core/db/__generated__/client/internal/prismaNamespace.js +1 -1
- package/src/core/db/__generated__/client/internal/prismaNamespace.js.map +1 -1
- package/src/core/db/__generated__/client/internal/prismaNamespaceBrowser.d.ts +4 -0
- package/src/core/db/__generated__/client/internal/prismaNamespaceBrowser.js +1 -1
- package/src/core/db/__generated__/client/internal/prismaNamespaceBrowser.js.map +1 -1
- package/src/core/db/__generated__/client/models/Order.d.ts +178 -1
- package/src/core/db/__generated__/client/models/Product.d.ts +75 -1
- package/src/core/utils/zod.util.js +1 -1
- package/src/core/utils/zod.util.js.map +1 -1
- package/src/features/cart/cart.route.d.ts +29 -0
- package/src/features/cart/cart.route.js +1 -1
- package/src/features/cart/cart.route.js.map +1 -1
- package/src/features/cart/cart.schema.d.ts +399 -0
- package/src/features/cart/cart.schema.js +1 -1
- package/src/features/cart/cart.schema.js.map +1 -1
- package/src/features/cart/cart.service.d.ts +30 -3
- package/src/features/cart/cart.service.js +1 -1
- package/src/features/cart/cart.service.js.map +1 -1
- package/src/features/inventory/inventory.service.d.ts +24 -0
- package/src/features/inventory/inventory.service.js +1 -0
- package/src/features/inventory/inventory.service.js.map +1 -0
- package/src/features/order/order.handler.js +1 -1
- package/src/features/order/order.handler.js.map +1 -1
- package/src/features/order/order.route.d.ts +314 -0
- package/src/features/order/order.route.js +1 -1
- package/src/features/order/order.route.js.map +1 -1
- package/src/features/order/order.schema.d.ts +33 -0
- package/src/features/order/order.schema.js +1 -1
- package/src/features/order/order.schema.js.map +1 -1
- package/src/features/order/order.service.d.ts +55 -1
- package/src/features/order/order.service.js +1 -1
- package/src/features/order/order.service.js.map +1 -1
- package/src/features/payment/payment.service.d.ts +4 -1
- package/src/features/payment/payment.service.js +1 -1
- package/src/features/payment/payment.service.js.map +1 -1
- package/src/features/payment/stripe.service.d.ts +2 -2
- package/src/features/payment/stripe.service.js +1 -1
- package/src/features/payment/stripe.service.js.map +1 -1
- package/src/features/product/product.route.d.ts +10 -0
- package/src/features/product/product.schema.d.ts +4 -0
- package/src/features/product/product.schema.js +1 -1
- package/src/features/product/product.schema.js.map +1 -1
- package/src/features/product/product.service.d.ts +8 -0
- package/src/features/product/product.service.js +1 -1
- package/src/features/product/product.service.js.map +1 -1
- package/src/schemas/number.schema.d.ts +1 -0
- package/src/schemas/number.schema.js +1 -1
- package/src/schemas/number.schema.js.map +1 -1
- package/src/app-services.js +0 -1
- package/src/app-services.js.map +0 -1
|
@@ -10,6 +10,7 @@ export declare const CartProductsMappingSchema: z.ZodRecord<z.ZodString, z.ZodOb
|
|
|
10
10
|
sku: z.ZodOptional<z.ZodString>;
|
|
11
11
|
basePrice: z.ZodCoercedNumber<unknown>;
|
|
12
12
|
discountedBasePrice: z.ZodPipe<z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>, z.ZodTransform<string | number | null, string | number | null | undefined>>, z.ZodNullable<z.ZodNumber>>;
|
|
13
|
+
availableQuantity: z.ZodPipe<z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>, z.ZodTransform<string | number | null, string | number | null | undefined>>, z.ZodNullable<z.ZodNumber>>;
|
|
13
14
|
images: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
14
15
|
id: z.ZodString;
|
|
15
16
|
url: z.ZodString;
|
|
@@ -175,6 +176,404 @@ export declare const CartSchema: z.ZodObject<{
|
|
|
175
176
|
}, z.core.$strip>>;
|
|
176
177
|
shippingMethodId: z.ZodOptional<z.ZodString>;
|
|
177
178
|
}, z.core.$strip>;
|
|
179
|
+
export declare const CartAdjustmentReasonSchema: z.ZodEnum<{
|
|
180
|
+
invalid_product: "invalid_product";
|
|
181
|
+
out_of_stock: "out_of_stock";
|
|
182
|
+
insufficient_stock: "insufficient_stock";
|
|
183
|
+
}>;
|
|
184
|
+
export declare const CartAdjustmentSchema: z.ZodObject<{
|
|
185
|
+
productId: z.ZodString;
|
|
186
|
+
modifierGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
187
|
+
id: z.ZodString;
|
|
188
|
+
modifiers: z.ZodArray<z.ZodObject<{
|
|
189
|
+
id: z.ZodString;
|
|
190
|
+
quantity: z.ZodDefault<z.ZodNumber>;
|
|
191
|
+
}, z.core.$strip>>;
|
|
192
|
+
}, z.core.$strip>>>;
|
|
193
|
+
reason: z.ZodEnum<{
|
|
194
|
+
invalid_product: "invalid_product";
|
|
195
|
+
out_of_stock: "out_of_stock";
|
|
196
|
+
insufficient_stock: "insufficient_stock";
|
|
197
|
+
}>;
|
|
198
|
+
requestedQuantity: z.ZodNumber;
|
|
199
|
+
resolvedQuantity: z.ZodNumber;
|
|
200
|
+
}, z.core.$strip>;
|
|
201
|
+
export declare const CartDataSchema: z.ZodObject<{
|
|
202
|
+
invalidProductIds: z.ZodArray<z.ZodString>;
|
|
203
|
+
normalizedItems: z.ZodArray<z.ZodObject<{
|
|
204
|
+
productId: z.ZodString;
|
|
205
|
+
quantity: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
206
|
+
modifierGroups: z.ZodArray<z.ZodObject<{
|
|
207
|
+
id: z.ZodString;
|
|
208
|
+
modifiers: z.ZodArray<z.ZodObject<{
|
|
209
|
+
id: z.ZodString;
|
|
210
|
+
quantity: z.ZodDefault<z.ZodNumber>;
|
|
211
|
+
}, z.core.$strip>>;
|
|
212
|
+
}, z.core.$strip>>;
|
|
213
|
+
}, z.core.$strip>>;
|
|
214
|
+
adjustments: z.ZodArray<z.ZodObject<{
|
|
215
|
+
productId: z.ZodString;
|
|
216
|
+
modifierGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
217
|
+
id: z.ZodString;
|
|
218
|
+
modifiers: z.ZodArray<z.ZodObject<{
|
|
219
|
+
id: z.ZodString;
|
|
220
|
+
quantity: z.ZodDefault<z.ZodNumber>;
|
|
221
|
+
}, z.core.$strip>>;
|
|
222
|
+
}, z.core.$strip>>>;
|
|
223
|
+
reason: z.ZodEnum<{
|
|
224
|
+
invalid_product: "invalid_product";
|
|
225
|
+
out_of_stock: "out_of_stock";
|
|
226
|
+
insufficient_stock: "insufficient_stock";
|
|
227
|
+
}>;
|
|
228
|
+
requestedQuantity: z.ZodNumber;
|
|
229
|
+
resolvedQuantity: z.ZodNumber;
|
|
230
|
+
}, z.core.$strip>>;
|
|
231
|
+
products: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
232
|
+
description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
233
|
+
title: z.ZodDefault<z.ZodString>;
|
|
234
|
+
currency: z.ZodString;
|
|
235
|
+
id: z.ZodString;
|
|
236
|
+
createdAt: z.ZodDate;
|
|
237
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
238
|
+
publishedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
239
|
+
sku: z.ZodOptional<z.ZodString>;
|
|
240
|
+
basePrice: z.ZodCoercedNumber<unknown>;
|
|
241
|
+
discountedBasePrice: z.ZodPipe<z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>, z.ZodTransform<string | number | null, string | number | null | undefined>>, z.ZodNullable<z.ZodNumber>>;
|
|
242
|
+
availableQuantity: z.ZodPipe<z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>, z.ZodTransform<string | number | null, string | number | null | undefined>>, z.ZodNullable<z.ZodNumber>>;
|
|
243
|
+
images: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
244
|
+
id: z.ZodString;
|
|
245
|
+
url: z.ZodString;
|
|
246
|
+
mimeType: z.ZodString;
|
|
247
|
+
size: z.ZodNumber;
|
|
248
|
+
filename: z.ZodString;
|
|
249
|
+
}, z.core.$strip>>>;
|
|
250
|
+
modifierGroups: z.ZodArray<z.ZodObject<{
|
|
251
|
+
title: z.ZodNullable<z.ZodDefault<z.ZodString>>;
|
|
252
|
+
id: z.ZodString;
|
|
253
|
+
defaultLocale: z.ZodOptional<z.ZodEnum<{
|
|
254
|
+
id: "id";
|
|
255
|
+
af: "af";
|
|
256
|
+
sq: "sq";
|
|
257
|
+
ar_dz: "ar_dz";
|
|
258
|
+
ar_bh: "ar_bh";
|
|
259
|
+
ar_eg: "ar_eg";
|
|
260
|
+
ar_iq: "ar_iq";
|
|
261
|
+
ar_jo: "ar_jo";
|
|
262
|
+
ar_kw: "ar_kw";
|
|
263
|
+
ar_lb: "ar_lb";
|
|
264
|
+
ar_ly: "ar_ly";
|
|
265
|
+
ar_ma: "ar_ma";
|
|
266
|
+
ar_om: "ar_om";
|
|
267
|
+
ar_qa: "ar_qa";
|
|
268
|
+
ar_sa: "ar_sa";
|
|
269
|
+
ar_sy: "ar_sy";
|
|
270
|
+
ar_tn: "ar_tn";
|
|
271
|
+
ar_ae: "ar_ae";
|
|
272
|
+
ar_ye: "ar_ye";
|
|
273
|
+
eu: "eu";
|
|
274
|
+
be: "be";
|
|
275
|
+
bg: "bg";
|
|
276
|
+
ca: "ca";
|
|
277
|
+
zh_hk: "zh_hk";
|
|
278
|
+
zh_cn: "zh_cn";
|
|
279
|
+
zh_sg: "zh_sg";
|
|
280
|
+
zh_tw: "zh_tw";
|
|
281
|
+
hr: "hr";
|
|
282
|
+
cs: "cs";
|
|
283
|
+
da: "da";
|
|
284
|
+
nl_be: "nl_be";
|
|
285
|
+
nl: "nl";
|
|
286
|
+
en: "en";
|
|
287
|
+
en_au: "en_au";
|
|
288
|
+
en_bz: "en_bz";
|
|
289
|
+
en_ca: "en_ca";
|
|
290
|
+
en_ie: "en_ie";
|
|
291
|
+
en_jm: "en_jm";
|
|
292
|
+
en_nz: "en_nz";
|
|
293
|
+
en_za: "en_za";
|
|
294
|
+
en_tt: "en_tt";
|
|
295
|
+
en_gb: "en_gb";
|
|
296
|
+
en_us: "en_us";
|
|
297
|
+
et: "et";
|
|
298
|
+
fo: "fo";
|
|
299
|
+
fa: "fa";
|
|
300
|
+
fi: "fi";
|
|
301
|
+
fr_be: "fr_be";
|
|
302
|
+
fr_ca: "fr_ca";
|
|
303
|
+
fr_lu: "fr_lu";
|
|
304
|
+
fr: "fr";
|
|
305
|
+
fr_ch: "fr_ch";
|
|
306
|
+
gd: "gd";
|
|
307
|
+
de_at: "de_at";
|
|
308
|
+
de_li: "de_li";
|
|
309
|
+
de_lu: "de_lu";
|
|
310
|
+
de: "de";
|
|
311
|
+
de_ch: "de_ch";
|
|
312
|
+
el: "el";
|
|
313
|
+
he: "he";
|
|
314
|
+
hi: "hi";
|
|
315
|
+
hu: "hu";
|
|
316
|
+
is: "is";
|
|
317
|
+
ga: "ga";
|
|
318
|
+
it: "it";
|
|
319
|
+
it_ch: "it_ch";
|
|
320
|
+
ja: "ja";
|
|
321
|
+
ko: "ko";
|
|
322
|
+
ku: "ku";
|
|
323
|
+
lv: "lv";
|
|
324
|
+
lt: "lt";
|
|
325
|
+
mk: "mk";
|
|
326
|
+
ml: "ml";
|
|
327
|
+
ms: "ms";
|
|
328
|
+
mt: "mt";
|
|
329
|
+
no: "no";
|
|
330
|
+
nb: "nb";
|
|
331
|
+
nn: "nn";
|
|
332
|
+
pl: "pl";
|
|
333
|
+
pt_br: "pt_br";
|
|
334
|
+
pt: "pt";
|
|
335
|
+
pa: "pa";
|
|
336
|
+
rm: "rm";
|
|
337
|
+
ro: "ro";
|
|
338
|
+
ro_md: "ro_md";
|
|
339
|
+
ru: "ru";
|
|
340
|
+
ru_md: "ru_md";
|
|
341
|
+
sr: "sr";
|
|
342
|
+
sk: "sk";
|
|
343
|
+
sl: "sl";
|
|
344
|
+
sb: "sb";
|
|
345
|
+
es_ar: "es_ar";
|
|
346
|
+
es_bo: "es_bo";
|
|
347
|
+
es_cl: "es_cl";
|
|
348
|
+
es_co: "es_co";
|
|
349
|
+
es_cr: "es_cr";
|
|
350
|
+
es_do: "es_do";
|
|
351
|
+
es_ec: "es_ec";
|
|
352
|
+
es_sv: "es_sv";
|
|
353
|
+
es_gt: "es_gt";
|
|
354
|
+
es_hn: "es_hn";
|
|
355
|
+
es_mx: "es_mx";
|
|
356
|
+
es: "es";
|
|
357
|
+
sv: "sv";
|
|
358
|
+
sv_fi: "sv_fi";
|
|
359
|
+
th: "th";
|
|
360
|
+
tr: "tr";
|
|
361
|
+
uk: "uk";
|
|
362
|
+
ur: "ur";
|
|
363
|
+
vi: "vi";
|
|
364
|
+
cy: "cy";
|
|
365
|
+
ji: "ji";
|
|
366
|
+
zu: "zu";
|
|
367
|
+
}>>;
|
|
368
|
+
selectMin: z.ZodCoercedNumber<unknown>;
|
|
369
|
+
selectMax: z.ZodCoercedNumber<unknown>;
|
|
370
|
+
modifiers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
371
|
+
id: z.ZodOptional<z.ZodString>;
|
|
372
|
+
title: z.ZodString;
|
|
373
|
+
sku: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
374
|
+
price: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
375
|
+
}, z.core.$strip>>>;
|
|
376
|
+
}, z.core.$strip>>;
|
|
377
|
+
categories: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
378
|
+
id: z.ZodString;
|
|
379
|
+
}, z.core.$strip>>>;
|
|
380
|
+
manufacturerId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
381
|
+
metadata: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
|
|
382
|
+
}, z.core.$strip>>;
|
|
383
|
+
shipping: z.ZodOptional<z.ZodNumber>;
|
|
384
|
+
subtotal: z.ZodNumber;
|
|
385
|
+
total: z.ZodNumber;
|
|
386
|
+
}, z.core.$strip>;
|
|
387
|
+
export declare const CartConflictSchema: z.ZodObject<{
|
|
388
|
+
invalidProductIds: z.ZodArray<z.ZodString>;
|
|
389
|
+
normalizedItems: z.ZodArray<z.ZodObject<{
|
|
390
|
+
productId: z.ZodString;
|
|
391
|
+
quantity: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
392
|
+
modifierGroups: z.ZodArray<z.ZodObject<{
|
|
393
|
+
id: z.ZodString;
|
|
394
|
+
modifiers: z.ZodArray<z.ZodObject<{
|
|
395
|
+
id: z.ZodString;
|
|
396
|
+
quantity: z.ZodDefault<z.ZodNumber>;
|
|
397
|
+
}, z.core.$strip>>;
|
|
398
|
+
}, z.core.$strip>>;
|
|
399
|
+
}, z.core.$strip>>;
|
|
400
|
+
adjustments: z.ZodArray<z.ZodObject<{
|
|
401
|
+
productId: z.ZodString;
|
|
402
|
+
modifierGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
403
|
+
id: z.ZodString;
|
|
404
|
+
modifiers: z.ZodArray<z.ZodObject<{
|
|
405
|
+
id: z.ZodString;
|
|
406
|
+
quantity: z.ZodDefault<z.ZodNumber>;
|
|
407
|
+
}, z.core.$strip>>;
|
|
408
|
+
}, z.core.$strip>>>;
|
|
409
|
+
reason: z.ZodEnum<{
|
|
410
|
+
invalid_product: "invalid_product";
|
|
411
|
+
out_of_stock: "out_of_stock";
|
|
412
|
+
insufficient_stock: "insufficient_stock";
|
|
413
|
+
}>;
|
|
414
|
+
requestedQuantity: z.ZodNumber;
|
|
415
|
+
resolvedQuantity: z.ZodNumber;
|
|
416
|
+
}, z.core.$strip>>;
|
|
417
|
+
products: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
418
|
+
description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
419
|
+
title: z.ZodDefault<z.ZodString>;
|
|
420
|
+
currency: z.ZodString;
|
|
421
|
+
id: z.ZodString;
|
|
422
|
+
createdAt: z.ZodDate;
|
|
423
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
424
|
+
publishedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
425
|
+
sku: z.ZodOptional<z.ZodString>;
|
|
426
|
+
basePrice: z.ZodCoercedNumber<unknown>;
|
|
427
|
+
discountedBasePrice: z.ZodPipe<z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>, z.ZodTransform<string | number | null, string | number | null | undefined>>, z.ZodNullable<z.ZodNumber>>;
|
|
428
|
+
availableQuantity: z.ZodPipe<z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodNull]>>, z.ZodTransform<string | number | null, string | number | null | undefined>>, z.ZodNullable<z.ZodNumber>>;
|
|
429
|
+
images: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
430
|
+
id: z.ZodString;
|
|
431
|
+
url: z.ZodString;
|
|
432
|
+
mimeType: z.ZodString;
|
|
433
|
+
size: z.ZodNumber;
|
|
434
|
+
filename: z.ZodString;
|
|
435
|
+
}, z.core.$strip>>>;
|
|
436
|
+
modifierGroups: z.ZodArray<z.ZodObject<{
|
|
437
|
+
title: z.ZodNullable<z.ZodDefault<z.ZodString>>;
|
|
438
|
+
id: z.ZodString;
|
|
439
|
+
defaultLocale: z.ZodOptional<z.ZodEnum<{
|
|
440
|
+
id: "id";
|
|
441
|
+
af: "af";
|
|
442
|
+
sq: "sq";
|
|
443
|
+
ar_dz: "ar_dz";
|
|
444
|
+
ar_bh: "ar_bh";
|
|
445
|
+
ar_eg: "ar_eg";
|
|
446
|
+
ar_iq: "ar_iq";
|
|
447
|
+
ar_jo: "ar_jo";
|
|
448
|
+
ar_kw: "ar_kw";
|
|
449
|
+
ar_lb: "ar_lb";
|
|
450
|
+
ar_ly: "ar_ly";
|
|
451
|
+
ar_ma: "ar_ma";
|
|
452
|
+
ar_om: "ar_om";
|
|
453
|
+
ar_qa: "ar_qa";
|
|
454
|
+
ar_sa: "ar_sa";
|
|
455
|
+
ar_sy: "ar_sy";
|
|
456
|
+
ar_tn: "ar_tn";
|
|
457
|
+
ar_ae: "ar_ae";
|
|
458
|
+
ar_ye: "ar_ye";
|
|
459
|
+
eu: "eu";
|
|
460
|
+
be: "be";
|
|
461
|
+
bg: "bg";
|
|
462
|
+
ca: "ca";
|
|
463
|
+
zh_hk: "zh_hk";
|
|
464
|
+
zh_cn: "zh_cn";
|
|
465
|
+
zh_sg: "zh_sg";
|
|
466
|
+
zh_tw: "zh_tw";
|
|
467
|
+
hr: "hr";
|
|
468
|
+
cs: "cs";
|
|
469
|
+
da: "da";
|
|
470
|
+
nl_be: "nl_be";
|
|
471
|
+
nl: "nl";
|
|
472
|
+
en: "en";
|
|
473
|
+
en_au: "en_au";
|
|
474
|
+
en_bz: "en_bz";
|
|
475
|
+
en_ca: "en_ca";
|
|
476
|
+
en_ie: "en_ie";
|
|
477
|
+
en_jm: "en_jm";
|
|
478
|
+
en_nz: "en_nz";
|
|
479
|
+
en_za: "en_za";
|
|
480
|
+
en_tt: "en_tt";
|
|
481
|
+
en_gb: "en_gb";
|
|
482
|
+
en_us: "en_us";
|
|
483
|
+
et: "et";
|
|
484
|
+
fo: "fo";
|
|
485
|
+
fa: "fa";
|
|
486
|
+
fi: "fi";
|
|
487
|
+
fr_be: "fr_be";
|
|
488
|
+
fr_ca: "fr_ca";
|
|
489
|
+
fr_lu: "fr_lu";
|
|
490
|
+
fr: "fr";
|
|
491
|
+
fr_ch: "fr_ch";
|
|
492
|
+
gd: "gd";
|
|
493
|
+
de_at: "de_at";
|
|
494
|
+
de_li: "de_li";
|
|
495
|
+
de_lu: "de_lu";
|
|
496
|
+
de: "de";
|
|
497
|
+
de_ch: "de_ch";
|
|
498
|
+
el: "el";
|
|
499
|
+
he: "he";
|
|
500
|
+
hi: "hi";
|
|
501
|
+
hu: "hu";
|
|
502
|
+
is: "is";
|
|
503
|
+
ga: "ga";
|
|
504
|
+
it: "it";
|
|
505
|
+
it_ch: "it_ch";
|
|
506
|
+
ja: "ja";
|
|
507
|
+
ko: "ko";
|
|
508
|
+
ku: "ku";
|
|
509
|
+
lv: "lv";
|
|
510
|
+
lt: "lt";
|
|
511
|
+
mk: "mk";
|
|
512
|
+
ml: "ml";
|
|
513
|
+
ms: "ms";
|
|
514
|
+
mt: "mt";
|
|
515
|
+
no: "no";
|
|
516
|
+
nb: "nb";
|
|
517
|
+
nn: "nn";
|
|
518
|
+
pl: "pl";
|
|
519
|
+
pt_br: "pt_br";
|
|
520
|
+
pt: "pt";
|
|
521
|
+
pa: "pa";
|
|
522
|
+
rm: "rm";
|
|
523
|
+
ro: "ro";
|
|
524
|
+
ro_md: "ro_md";
|
|
525
|
+
ru: "ru";
|
|
526
|
+
ru_md: "ru_md";
|
|
527
|
+
sr: "sr";
|
|
528
|
+
sk: "sk";
|
|
529
|
+
sl: "sl";
|
|
530
|
+
sb: "sb";
|
|
531
|
+
es_ar: "es_ar";
|
|
532
|
+
es_bo: "es_bo";
|
|
533
|
+
es_cl: "es_cl";
|
|
534
|
+
es_co: "es_co";
|
|
535
|
+
es_cr: "es_cr";
|
|
536
|
+
es_do: "es_do";
|
|
537
|
+
es_ec: "es_ec";
|
|
538
|
+
es_sv: "es_sv";
|
|
539
|
+
es_gt: "es_gt";
|
|
540
|
+
es_hn: "es_hn";
|
|
541
|
+
es_mx: "es_mx";
|
|
542
|
+
es: "es";
|
|
543
|
+
sv: "sv";
|
|
544
|
+
sv_fi: "sv_fi";
|
|
545
|
+
th: "th";
|
|
546
|
+
tr: "tr";
|
|
547
|
+
uk: "uk";
|
|
548
|
+
ur: "ur";
|
|
549
|
+
vi: "vi";
|
|
550
|
+
cy: "cy";
|
|
551
|
+
ji: "ji";
|
|
552
|
+
zu: "zu";
|
|
553
|
+
}>>;
|
|
554
|
+
selectMin: z.ZodCoercedNumber<unknown>;
|
|
555
|
+
selectMax: z.ZodCoercedNumber<unknown>;
|
|
556
|
+
modifiers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
557
|
+
id: z.ZodOptional<z.ZodString>;
|
|
558
|
+
title: z.ZodString;
|
|
559
|
+
sku: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
560
|
+
price: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
561
|
+
}, z.core.$strip>>>;
|
|
562
|
+
}, z.core.$strip>>;
|
|
563
|
+
categories: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
564
|
+
id: z.ZodString;
|
|
565
|
+
}, z.core.$strip>>>;
|
|
566
|
+
manufacturerId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
567
|
+
metadata: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
|
|
568
|
+
}, z.core.$strip>>;
|
|
569
|
+
shipping: z.ZodOptional<z.ZodNumber>;
|
|
570
|
+
subtotal: z.ZodNumber;
|
|
571
|
+
total: z.ZodNumber;
|
|
572
|
+
message: z.ZodString;
|
|
573
|
+
}, z.core.$strip>;
|
|
178
574
|
export type CartProducts = z.infer<typeof CartProductsMappingSchema>;
|
|
179
575
|
export type CartItem = z.infer<typeof CartItemSchema>;
|
|
180
576
|
export type Cart = z.infer<typeof CartSchema>;
|
|
577
|
+
export type CartAdjustmentReason = z.infer<typeof CartAdjustmentReasonSchema>;
|
|
578
|
+
export type CartAdjustment = z.infer<typeof CartAdjustmentSchema>;
|
|
579
|
+
export type CartData = z.infer<typeof CartDataSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z as
|
|
1
|
+
import{z as t}from"@hono/zod-openapi";import{LocalizedProductSchema as e}from"../product/product.schema";export const CartProductsMappingSchema=t.record(t.string().openapi({example:"clf9876543210abcdef",description:"ID of the product in the cart"}),e),CartItemSchema=t.object({productId:t.string().cuid().openapi({example:"clf9876543210abcdef",description:"ID of the product in the cart"}),quantity:t.number().default(1).optional().openapi({example:2,description:"Quantity of this item in the cart"}),modifierGroups:t.array(t.object({id:t.string().cuid().openapi({example:"clg1234567890abcdef",description:"ID of the modifier group"}),modifiers:t.array(t.object({id:t.string().cuid().openapi({example:"clh9876543210abcdef",description:"ID of the selected modifier"}),quantity:t.number().default(1).openapi({example:1,description:"Quantity of this modifier"})}))}))}).openapi("CartItem"),CartSchema=t.object({items:t.array(CartItemSchema),shippingMethodId:t.string().cuid().optional()}),CartAdjustmentReasonSchema=t.enum(["invalid_product","out_of_stock","insufficient_stock"]).openapi("CartAdjustmentReason"),CartAdjustmentSchema=t.object({productId:t.string().cuid().openapi({example:"clf9876543210abcdef",description:"ID of the affected product"}),modifierGroups:CartItemSchema.shape.modifierGroups.optional(),reason:CartAdjustmentReasonSchema,requestedQuantity:t.number().int().min(0).openapi({example:3,description:"Quantity requested by the customer"}),resolvedQuantity:t.number().int().min(0).openapi({example:1,description:"Quantity accepted after stock normalization"})}).openapi("CartAdjustment"),CartDataSchema=t.object({invalidProductIds:t.array(t.string()),normalizedItems:t.array(CartItemSchema),adjustments:t.array(CartAdjustmentSchema),products:CartProductsMappingSchema,shipping:t.number().optional(),subtotal:t.number(),total:t.number()}),CartConflictSchema=CartDataSchema.extend({message:t.string()}).openapi("CartConflict");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cart.schema.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/cart/cart.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAC/C,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,OAAO,EAAE,qBAAqB;IAC9B,WAAW,EAAE,+BAA+B;CAC7C,CAAC,EACF,sBAAsB,CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC;QACnC,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,+BAA+B;KAC7C,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QACjD,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,mCAAmC;KACjD,CAAC;IACF,cAAc,EAAE,CAAC,CAAC,KAAK,CACrB,CAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,qBAAqB;YAC9B,WAAW,EAAE,0BAA0B;SACxC,CAAC;QACF,SAAS,EAAE,CAAC,CAAC,KAAK,CAChB,CAAC,CAAC,MAAM,CAAC;YACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC;gBAC5B,OAAO,EAAE,qBAAqB;gBAC9B,WAAW,EAAE,6BAA6B;aAC3C,CAAC;YACF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACtC,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,2BAA2B;aACzC,CAAC;SACH,CAAC,CACH;KACF,CAAC,CACH;CACF,CAAC;KACD,OAAO,CAAC,UAAU,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;IAC9B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"cart.schema.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/cart/cart.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { z } from "@hono/zod-openapi";
|
|
2
2
|
import { PrismaClientType } from "../../core/lib/prisma";
|
|
3
3
|
import { CartSchema } from "../../schemas";
|
|
4
|
+
import { InventoryService } from "../inventory/inventory.service";
|
|
4
5
|
declare class CartService {
|
|
5
6
|
private readonly prisma;
|
|
6
|
-
|
|
7
|
+
private readonly inventoryService;
|
|
8
|
+
constructor(prisma: PrismaClientType, inventoryService: InventoryService);
|
|
7
9
|
/**
|
|
8
10
|
* Calculate price breakdown for cart items
|
|
9
11
|
*/
|
|
@@ -16,6 +18,30 @@ declare class CartService {
|
|
|
16
18
|
locale?: string;
|
|
17
19
|
}): Promise<{
|
|
18
20
|
invalidProductIds: string[];
|
|
21
|
+
normalizedItems: {
|
|
22
|
+
productId: string;
|
|
23
|
+
modifierGroups: {
|
|
24
|
+
id: string;
|
|
25
|
+
modifiers: {
|
|
26
|
+
id: string;
|
|
27
|
+
quantity: number;
|
|
28
|
+
}[];
|
|
29
|
+
}[];
|
|
30
|
+
quantity?: number | undefined;
|
|
31
|
+
}[];
|
|
32
|
+
adjustments: {
|
|
33
|
+
productId: string;
|
|
34
|
+
reason: "invalid_product" | "out_of_stock" | "insufficient_stock";
|
|
35
|
+
requestedQuantity: number;
|
|
36
|
+
resolvedQuantity: number;
|
|
37
|
+
modifierGroups?: {
|
|
38
|
+
id: string;
|
|
39
|
+
modifiers: {
|
|
40
|
+
id: string;
|
|
41
|
+
quantity: number;
|
|
42
|
+
}[];
|
|
43
|
+
}[] | undefined;
|
|
44
|
+
}[];
|
|
19
45
|
products: Record<string, {
|
|
20
46
|
description: string | null;
|
|
21
47
|
title: string;
|
|
@@ -24,6 +50,7 @@ declare class CartService {
|
|
|
24
50
|
createdAt: Date;
|
|
25
51
|
basePrice: number;
|
|
26
52
|
discountedBasePrice: number | null;
|
|
53
|
+
availableQuantity: number | null;
|
|
27
54
|
modifierGroups: {
|
|
28
55
|
title: string | null;
|
|
29
56
|
id: string;
|
|
@@ -53,9 +80,9 @@ declare class CartService {
|
|
|
53
80
|
manufacturerId?: string | null | undefined;
|
|
54
81
|
metadata?: Record<string, string> | null | undefined;
|
|
55
82
|
}>;
|
|
56
|
-
total: number;
|
|
57
83
|
subtotal: number;
|
|
58
|
-
|
|
84
|
+
total: number;
|
|
85
|
+
shipping?: number | undefined;
|
|
59
86
|
}>;
|
|
60
87
|
}
|
|
61
88
|
export { CartService };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as
|
|
1
|
+
import{__awaiter as v}from"tslib";import{flattenTranslationData as g}from"../../core/utils/zod.util";import{CartDataSchema as w,LocalizedProductSchema as y}from"../../schemas";class I{constructor(o,e){this.prisma=o,this.inventoryService=e}calculatePriceBreakdown(o,e,l){return v(this,void 0,void 0,function*(){var r,a;const i=l?yield this.prisma.shippingMethod.findUnique({where:{id:l},include:{shippingZones:!0}}):null,n=o.reduce((d,m)=>{var c,u;const p=e.find(f=>f.id===m.productId);if(!p)return d;const h=(u=(c=p.discountedBasePrice)!==null&&c!==void 0?c:p.basePrice)!==null&&u!==void 0?u:0;return d+h*(m.quantity||1)},0),s=(r=i?.shippingZones[0])===null||r===void 0?void 0:r.price;return{total:n+(s??0),subtotal:n,shipping:(a=i?.shippingZones[0])===null||a===void 0?void 0:a.price}})}getCartData(o,e,l){return v(this,void 0,void 0,function*(){const{locale:r}=l,a=new Set(e.items.map(t=>t.productId)),i=yield this.prisma.product.findMany({where:{id:{in:Array.from(a)},organizationId:o,deletedAt:null,publishedAt:{not:null}},include:{translations:!0,images:!0,categories:{include:{translations:{where:{locale:r}}}},modifierGroups:{include:{translations:{where:{locale:r}},modifiers:!0}}}}),n=this.inventoryService.normalizeCartItems(e.items,i.map(t=>({id:t.id,availableQuantity:t.availableQuantity}))),s=yield this.calculatePriceBreakdown(n.normalizedItems,i,e.shippingMethodId);return w.parse(Object.assign(Object.assign({},s),{adjustments:n.adjustments,invalidProductIds:n.invalidProductIds,normalizedItems:n.normalizedItems,products:i.reduce((t,d)=>(t[d.id]=y.parse(g(d)),t),{})}))})}}export{I as CartService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cart.service.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/cart/cart.service.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"cart.service.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/cart/cart.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { PrismaClientType } from "../../core/lib/prisma";
|
|
2
|
+
import { CartAdjustment, CartItem } from "../cart/cart.schema";
|
|
3
|
+
import { InventoryConflictItem } from "../order/order.schema";
|
|
4
|
+
type InventoryProduct = {
|
|
5
|
+
availableQuantity: number | null;
|
|
6
|
+
id: string;
|
|
7
|
+
};
|
|
8
|
+
declare class InventoryService {
|
|
9
|
+
private readonly prisma;
|
|
10
|
+
constructor(prisma: PrismaClientType);
|
|
11
|
+
normalizeCartItems(items: CartItem[], products: InventoryProduct[]): {
|
|
12
|
+
adjustments: CartAdjustment[];
|
|
13
|
+
invalidProductIds: string[];
|
|
14
|
+
normalizedItems: CartItem[];
|
|
15
|
+
};
|
|
16
|
+
hasCartConflict(items: CartItem[], normalizedItems: CartItem[]): boolean;
|
|
17
|
+
private aggregateOrderItems;
|
|
18
|
+
private buildConflictItems;
|
|
19
|
+
processPaidOrderInventory(orderId: string): Promise<{
|
|
20
|
+
conflictItems?: InventoryConflictItem[];
|
|
21
|
+
status: "already_processed" | "conflict" | "deducted";
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
24
|
+
export { InventoryService };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{__awaiter as v}from"tslib";import{Prisma as m}from"../../core/db";import{CartItemSchema as g}from"../cart/cart.schema";class I extends Error{}class w{constructor(r){this.prisma=r}normalizeCartItems(r,d){var o,t,i;const n=new Map(d.map(e=>[e.id,e])),a=new Set,s=[],l=[],f=new Map;for(const e of r){const u=n.get(e.productId),c=e.quantity||1;if(!u){a.add(e.productId),l.push({productId:e.productId,modifierGroups:e.modifierGroups,reason:"invalid_product",requestedQuantity:c,resolvedQuantity:0});continue}if(u.availableQuantity===null||u.availableQuantity===void 0){s.push(Object.assign(Object.assign({},e),{modifierGroups:(o=e.modifierGroups)!==null&&o!==void 0?o:[],quantity:c}));continue}const p=(t=f.get(u.id))!==null&&t!==void 0?t:u.availableQuantity,y=Math.min(c,p);if(f.set(u.id,Math.max(p-y,0)),y<=0){l.push({productId:e.productId,modifierGroups:e.modifierGroups,reason:"out_of_stock",requestedQuantity:c,resolvedQuantity:0});continue}y!==c&&l.push({productId:e.productId,modifierGroups:e.modifierGroups,reason:"insufficient_stock",requestedQuantity:c,resolvedQuantity:y}),s.push(Object.assign(Object.assign({},e),{modifierGroups:(i=e.modifierGroups)!==null&&i!==void 0?i:[],quantity:y}))}return{adjustments:l,invalidProductIds:Array.from(a),normalizedItems:s}}hasCartConflict(r,d){return JSON.stringify(r)!==JSON.stringify(d)}aggregateOrderItems(r){var d;const o=new Map;for(const t of r){const i=g.safeParse(t.rawData);if(!i.success)throw new Error("Order item raw data is invalid");const n=i.data,a=o.get(n.productId),s=((d=t.translations[0])===null||d===void 0?void 0:d.title)||"Product";if(a){a.requestedQuantity+=n.quantity||1;continue}o.set(n.productId,{productId:n.productId,requestedQuantity:n.quantity||1,title:s})}return o}buildConflictItems(r,d){const o=new Map(d.map(t=>[t.id,t]));return Array.from(r.values()).flatMap(t=>{var i;const n=o.get(t.productId),a=Math.max((i=n?.availableQuantity)!==null&&i!==void 0?i:0,0);return a>=t.requestedQuantity?[]:[{productId:t.productId,title:t.title,requestedQuantity:t.requestedQuantity,availableQuantity:a}]})}processPaidOrderInventory(r){return v(this,void 0,void 0,function*(){var d;const o=yield this.prisma.order.findUnique({where:{id:r},include:{items:{include:{translations:!0}}}});if(!o)throw new Error("Order not found");if(o.inventoryDeductedAt)return{status:"already_processed"};if(o.inventoryConflictAt)return{conflictItems:(d=o.inventoryConflictItems)!==null&&d!==void 0?d:[],status:"conflict"};const t=this.aggregateOrderItems(o.items);if(t.size===0)return yield this.prisma.order.update({where:{id:r},data:{inventoryConflictAt:null,inventoryConflictItems:m.DbNull,inventoryDeductedAt:new Date}}),{status:"deducted"};try{return yield this.prisma.$transaction(i=>v(this,void 0,void 0,function*(){var n,a;const s=yield i.order.findUnique({where:{id:r},select:{id:!0,inventoryConflictAt:!0,inventoryConflictItems:!0,inventoryDeductedAt:!0,organizationId:!0}});if(!s)throw new Error("Order not found");if(s.inventoryDeductedAt)return{status:"already_processed"};if(s.inventoryConflictAt)return{conflictItems:(n=s.inventoryConflictItems)!==null&&n!==void 0?n:[],status:"conflict"};const f=(yield i.product.findMany({where:{id:{in:Array.from(t.keys())},organizationId:s.organizationId},select:{availableQuantity:!0,id:!0}})).filter(u=>u.availableQuantity!==null),e=this.buildConflictItems(t,f);if(e.length>0)return yield i.order.update({where:{id:r},data:{inventoryConflictAt:new Date,inventoryConflictItems:e}}),{conflictItems:e,status:"conflict"};for(const u of f){const c=(a=t.get(u.id))===null||a===void 0?void 0:a.requestedQuantity;if(!c)continue;if((yield i.product.updateMany({where:{id:u.id,organizationId:s.organizationId,availableQuantity:{gte:c}},data:{availableQuantity:{decrement:c}}})).count!==1)throw new I}return yield i.order.update({where:{id:r},data:{inventoryConflictAt:null,inventoryConflictItems:m.DbNull,inventoryDeductedAt:new Date}}),{status:"deducted"}}))}catch(i){if(!(i instanceof I))throw i;const n=yield this.prisma.product.findMany({where:{id:{in:Array.from(t.keys())},organizationId:o.organizationId},select:{availableQuantity:!0,id:!0}}),a=this.buildConflictItems(t,n);return yield this.prisma.order.update({where:{id:r},data:{inventoryConflictAt:new Date,inventoryConflictItems:a}}),{conflictItems:a,status:"conflict"}}})}}export{w as InventoryService};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory.service.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/inventory/inventory.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as
|
|
1
|
+
import{__awaiter as s}from"tslib";import{createApiRouter as l}from"../../core/hono/hono";import{orderRoute as u}from"./order.route";import{OrderInventoryConflictError as v}from"./order.service";export const registerOrderHandlers=i=>{const n=l();return n.openapi(u.createOrder,r=>s(void 0,void 0,void 0,function*(){const e=r.get("auth"),t=r.req.valid("param"),o=r.req.valid("json"),a=yield e.getCurrentUser();try{const{order:d,redirectUrl:p}=yield i.createOrder(t.organizationId,a,o);return r.json({order:d,redirectUrl:p},201)}catch(d){if(d instanceof v)return r.json(d.payload,409);throw d}})),n.openapi(u.getMyOrders,r=>s(void 0,void 0,void 0,function*(){const e=r.get("auth"),t=r.req.valid("param"),o=r.req.valid("query"),a=yield e.getCurrentUser(),d=yield i.getMyOrders(a.id,t.organizationId,o);return r.json(d,200)})),n.openapi(u.getOrder,r=>s(void 0,void 0,void 0,function*(){const e=r.get("auth"),t=r.req.valid("param"),o=yield e.getCurrentUser(),a=yield i.getOrder(o,t.organizationId,t.id);return r.json(a,200)})),n.openapi(u.getOrders,r=>s(void 0,void 0,void 0,function*(){const e=r.get("auth"),t=r.req.valid("param"),o=r.req.valid("query");yield e.isGranted("read");const a=yield i.getOrders(t.organizationId,o);return r.json(a,200)})),n.openapi(u.updateStatus,r=>s(void 0,void 0,void 0,function*(){const e=r.get("auth"),t=r.req.valid("param");yield e.isGranted("update");const o=yield i.updateStatus(t.organizationId,t.id,t.operation);return r.json(o,200)})),n.openapi(u.deleteOrder,r=>s(void 0,void 0,void 0,function*(){const e=r.get("auth"),t=r.req.valid("param"),o=yield e.isGranted("delete");return yield i.deleteOrder(t.organizationId,t.id,o.id),r.body(null,204)})),n};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.handler.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/order/order.handler.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"order.handler.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/order/order.handler.ts"],"names":[],"mappings":"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"}
|