aivilife-contracts 5.2.0 → 5.4.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/catalog/index.d.mts +27 -25
- package/dist/catalog/index.d.ts +27 -25
- package/dist/catalog/index.js +3 -1
- package/dist/catalog/index.js.map +1 -1
- package/dist/catalog/index.mjs +3 -1
- package/dist/catalog/index.mjs.map +1 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +94 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +88 -3
- package/dist/index.mjs.map +1 -1
- package/dist/order/index.d.mts +144 -3
- package/dist/order/index.d.ts +144 -3
- package/dist/order/index.js +90 -1
- package/dist/order/index.js.map +1 -1
- package/dist/order/index.mjs +84 -2
- package/dist/order/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/order/index.js
CHANGED
|
@@ -45,6 +45,12 @@ var OrderStockAvailability = /* @__PURE__ */ ((OrderStockAvailability2) => {
|
|
|
45
45
|
OrderStockAvailability2["INSUFFICIENT_STOCK"] = "INSUFFICIENT_STOCK";
|
|
46
46
|
return OrderStockAvailability2;
|
|
47
47
|
})(OrderStockAvailability || {});
|
|
48
|
+
var OrderReservationStatus = /* @__PURE__ */ ((OrderReservationStatus2) => {
|
|
49
|
+
OrderReservationStatus2["ACTIVE"] = "ACTIVE";
|
|
50
|
+
OrderReservationStatus2["RELEASED"] = "RELEASED";
|
|
51
|
+
OrderReservationStatus2["FULFILLED"] = "FULFILLED";
|
|
52
|
+
return OrderReservationStatus2;
|
|
53
|
+
})(OrderReservationStatus || {});
|
|
48
54
|
var OrderEventType = /* @__PURE__ */ ((OrderEventType2) => {
|
|
49
55
|
OrderEventType2["CREATED"] = "CREATED";
|
|
50
56
|
OrderEventType2["WALLET_DEBITED"] = "WALLET_DEBITED";
|
|
@@ -53,6 +59,10 @@ var OrderEventType = /* @__PURE__ */ ((OrderEventType2) => {
|
|
|
53
59
|
OrderEventType2["PAYMENT_REJECTED"] = "PAYMENT_REJECTED";
|
|
54
60
|
OrderEventType2["CANCELLED_TIMEOUT"] = "CANCELLED_TIMEOUT";
|
|
55
61
|
OrderEventType2["WALLET_REFUNDED"] = "WALLET_REFUNDED";
|
|
62
|
+
OrderEventType2["READY_FOR_PICKUP"] = "READY_FOR_PICKUP";
|
|
63
|
+
OrderEventType2["PICKUP_CODE_FAILED"] = "PICKUP_CODE_FAILED";
|
|
64
|
+
OrderEventType2["COMPLETED"] = "COMPLETED";
|
|
65
|
+
OrderEventType2["CASHBACK_CREDITED"] = "CASHBACK_CREDITED";
|
|
56
66
|
return OrderEventType2;
|
|
57
67
|
})(OrderEventType || {});
|
|
58
68
|
var OrderNotificationType = /* @__PURE__ */ ((OrderNotificationType2) => {
|
|
@@ -61,6 +71,8 @@ var OrderNotificationType = /* @__PURE__ */ ((OrderNotificationType2) => {
|
|
|
61
71
|
OrderNotificationType2["PAYMENT_APPROVED"] = "PAYMENT_APPROVED";
|
|
62
72
|
OrderNotificationType2["PAYMENT_REJECTED"] = "PAYMENT_REJECTED";
|
|
63
73
|
OrderNotificationType2["ORDER_CANCELLED"] = "ORDER_CANCELLED";
|
|
74
|
+
OrderNotificationType2["ORDER_READY_FOR_PICKUP"] = "ORDER_READY_FOR_PICKUP";
|
|
75
|
+
OrderNotificationType2["ORDER_COMPLETED"] = "ORDER_COMPLETED";
|
|
64
76
|
return OrderNotificationType2;
|
|
65
77
|
})(OrderNotificationType || {});
|
|
66
78
|
|
|
@@ -562,6 +574,12 @@ var CreateOrderRequestSchema = zod.z.object({
|
|
|
562
574
|
}
|
|
563
575
|
});
|
|
564
576
|
var OrderPublicIdParamSchema = zod.z.object({ publicId: PublicIdSchema3 });
|
|
577
|
+
var MarkOrderReadyRequestSchema = zod.z.object({
|
|
578
|
+
version: zod.z.number().int().positive()
|
|
579
|
+
});
|
|
580
|
+
var CompleteOrderPickupRequestSchema = zod.z.object({
|
|
581
|
+
code: zod.z.string().regex(/^\d{6}$/)
|
|
582
|
+
});
|
|
565
583
|
var OrderReceiptParamSchema = zod.z.object({
|
|
566
584
|
publicId: PublicIdSchema3,
|
|
567
585
|
receiptPublicId: PublicIdSchema3
|
|
@@ -615,6 +633,7 @@ var OrderEventSchema = zod.z.object({
|
|
|
615
633
|
});
|
|
616
634
|
var OrderSchema = zod.z.object({
|
|
617
635
|
publicId: PublicIdSchema3,
|
|
636
|
+
version: zod.z.number().int().positive(),
|
|
618
637
|
number: OrderNumberSchema,
|
|
619
638
|
status: zod.z.enum(OrderStatus),
|
|
620
639
|
paymentStatus: zod.z.enum(OrderPaymentStatus),
|
|
@@ -631,18 +650,29 @@ var OrderSchema = zod.z.object({
|
|
|
631
650
|
cashDueUsd: MoneySchema,
|
|
632
651
|
reserveExpiresAt: DateTimeSchema2.nullable(),
|
|
633
652
|
paidAt: DateTimeSchema2.nullable(),
|
|
653
|
+
readyForPickupAt: DateTimeSchema2.nullable(),
|
|
654
|
+
completedAt: DateTimeSchema2.nullable(),
|
|
634
655
|
cancelledAt: DateTimeSchema2.nullable(),
|
|
635
656
|
cancellationReason: zod.z.string().nullable(),
|
|
636
657
|
warehouse: OrderWarehouseSchema,
|
|
637
658
|
items: zod.z.array(OrderItemSchema).min(1),
|
|
638
659
|
receipts: zod.z.array(OrderReceiptSchema),
|
|
639
660
|
events: zod.z.array(OrderEventSchema),
|
|
661
|
+
pickupCode: zod.z.string().regex(/^\d{6}$/).nullable(),
|
|
662
|
+
cashbackCredit: zod.z.object({
|
|
663
|
+
amountPv: MoneySchema,
|
|
664
|
+
balanceBeforePv: MoneySchema,
|
|
665
|
+
balanceAfterPv: MoneySchema,
|
|
666
|
+
creditedAt: DateTimeSchema2
|
|
667
|
+
}).nullable(),
|
|
640
668
|
createdAt: DateTimeSchema2,
|
|
641
669
|
updatedAt: DateTimeSchema2
|
|
642
670
|
});
|
|
643
671
|
var OrderListItemSchema = OrderSchema.omit({
|
|
644
672
|
receipts: true,
|
|
645
|
-
events: true
|
|
673
|
+
events: true,
|
|
674
|
+
pickupCode: true,
|
|
675
|
+
cashbackCredit: true
|
|
646
676
|
});
|
|
647
677
|
var OrderListQuerySchema = BaseListQuerySchema.extend({
|
|
648
678
|
status: zod.z.enum(OrderStatus).optional(),
|
|
@@ -657,6 +687,57 @@ var OrderListResponseSchema = zod.z.object({
|
|
|
657
687
|
pageCount: zod.z.number().int().nonnegative()
|
|
658
688
|
})
|
|
659
689
|
});
|
|
690
|
+
var WarehouseOrderReservationListQuerySchema = BaseListQuerySchema.extend({
|
|
691
|
+
warehousePublicId: PublicIdSchema3,
|
|
692
|
+
reservationStatus: zod.z.enum(OrderReservationStatus).optional()
|
|
693
|
+
});
|
|
694
|
+
var WarehousePickupOrderListQuerySchema = BaseListQuerySchema.extend({
|
|
695
|
+
warehousePublicId: PublicIdSchema3,
|
|
696
|
+
status: zod.z.enum(["PROCESSING" /* PROCESSING */, "READY_FOR_PICKUP" /* READY_FOR_PICKUP */]).optional()
|
|
697
|
+
});
|
|
698
|
+
var WarehouseOrderReservationSchema = zod.z.object({
|
|
699
|
+
publicId: PublicIdSchema3,
|
|
700
|
+
status: zod.z.enum(OrderReservationStatus),
|
|
701
|
+
quantity: zod.z.number().int().positive(),
|
|
702
|
+
createdAt: DateTimeSchema2,
|
|
703
|
+
releasedAt: DateTimeSchema2.nullable(),
|
|
704
|
+
fulfilledAt: DateTimeSchema2.nullable(),
|
|
705
|
+
reserveExpiresAt: DateTimeSchema2.nullable(),
|
|
706
|
+
releaseReason: zod.z.string().nullable(),
|
|
707
|
+
order: zod.z.object({
|
|
708
|
+
publicId: PublicIdSchema3,
|
|
709
|
+
number: OrderNumberSchema,
|
|
710
|
+
status: zod.z.enum(OrderStatus),
|
|
711
|
+
paymentStatus: zod.z.enum(OrderPaymentStatus)
|
|
712
|
+
}),
|
|
713
|
+
item: zod.z.object({
|
|
714
|
+
publicId: PublicIdSchema3,
|
|
715
|
+
productPublicId: PublicIdSchema3,
|
|
716
|
+
variantPublicId: PublicIdSchema3,
|
|
717
|
+
productName: zod.z.string(),
|
|
718
|
+
sku: zod.z.string(),
|
|
719
|
+
coverContentUrl: zod.z.string().nullable()
|
|
720
|
+
}),
|
|
721
|
+
batch: zod.z.object({
|
|
722
|
+
publicId: PublicIdSchema3,
|
|
723
|
+
batchNumber: zod.z.string().nullable(),
|
|
724
|
+
expiresAt: zod.z.iso.date()
|
|
725
|
+
})
|
|
726
|
+
});
|
|
727
|
+
var WarehouseOrderReservationListResponseSchema = zod.z.object({
|
|
728
|
+
items: zod.z.array(WarehouseOrderReservationSchema),
|
|
729
|
+
meta: zod.z.object({
|
|
730
|
+
page: zod.z.number().int().positive(),
|
|
731
|
+
limit: zod.z.number().int().positive(),
|
|
732
|
+
total: zod.z.number().int().nonnegative(),
|
|
733
|
+
pageCount: zod.z.number().int().nonnegative()
|
|
734
|
+
}),
|
|
735
|
+
summary: zod.z.object({
|
|
736
|
+
activeQuantity: zod.z.number().int().nonnegative(),
|
|
737
|
+
activeReservations: zod.z.number().int().nonnegative(),
|
|
738
|
+
releasedReservations: zod.z.number().int().nonnegative()
|
|
739
|
+
})
|
|
740
|
+
});
|
|
660
741
|
var ReviewOrderReceiptRequestSchema = zod.z.object({
|
|
661
742
|
decision: zod.z.enum(OrderReceiptDecision),
|
|
662
743
|
version: zod.z.number().int().positive(),
|
|
@@ -682,6 +763,7 @@ var OrderNotificationSchema = zod.z.object({
|
|
|
682
763
|
orderPublicId: PublicIdSchema3,
|
|
683
764
|
orderNumber: OrderNumberSchema,
|
|
684
765
|
type: zod.z.enum(OrderNotificationType),
|
|
766
|
+
pickupCode: zod.z.string().regex(/^\d{6}$/).nullable(),
|
|
685
767
|
isRead: zod.z.boolean(),
|
|
686
768
|
createdAt: DateTimeSchema2
|
|
687
769
|
});
|
|
@@ -693,7 +775,9 @@ exports.CheckoutWarehouseAvailabilitySchema = CheckoutWarehouseAvailabilitySchem
|
|
|
693
775
|
exports.CheckoutWarehouseListSchema = CheckoutWarehouseListSchema;
|
|
694
776
|
exports.CheckoutWarehouseQuerySchema = CheckoutWarehouseQuerySchema;
|
|
695
777
|
exports.CheckoutWarehouseSchema = CheckoutWarehouseSchema;
|
|
778
|
+
exports.CompleteOrderPickupRequestSchema = CompleteOrderPickupRequestSchema;
|
|
696
779
|
exports.CreateOrderRequestSchema = CreateOrderRequestSchema;
|
|
780
|
+
exports.MarkOrderReadyRequestSchema = MarkOrderReadyRequestSchema;
|
|
697
781
|
exports.OrderDeliveryMethod = OrderDeliveryMethod;
|
|
698
782
|
exports.OrderEventSchema = OrderEventSchema;
|
|
699
783
|
exports.OrderEventType = OrderEventType;
|
|
@@ -711,10 +795,15 @@ exports.OrderReceiptDecision = OrderReceiptDecision;
|
|
|
711
795
|
exports.OrderReceiptParamSchema = OrderReceiptParamSchema;
|
|
712
796
|
exports.OrderReceiptSchema = OrderReceiptSchema;
|
|
713
797
|
exports.OrderReceiptStatus = OrderReceiptStatus;
|
|
798
|
+
exports.OrderReservationStatus = OrderReservationStatus;
|
|
714
799
|
exports.OrderSchema = OrderSchema;
|
|
715
800
|
exports.OrderStatus = OrderStatus;
|
|
716
801
|
exports.OrderStockAvailability = OrderStockAvailability;
|
|
717
802
|
exports.OrderWarehouseSchema = OrderWarehouseSchema;
|
|
718
803
|
exports.ReviewOrderReceiptRequestSchema = ReviewOrderReceiptRequestSchema;
|
|
804
|
+
exports.WarehouseOrderReservationListQuerySchema = WarehouseOrderReservationListQuerySchema;
|
|
805
|
+
exports.WarehouseOrderReservationListResponseSchema = WarehouseOrderReservationListResponseSchema;
|
|
806
|
+
exports.WarehouseOrderReservationSchema = WarehouseOrderReservationSchema;
|
|
807
|
+
exports.WarehousePickupOrderListQuerySchema = WarehousePickupOrderListQuerySchema;
|
|
719
808
|
//# sourceMappingURL=index.js.map
|
|
720
809
|
//# sourceMappingURL=index.js.map
|
package/dist/order/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/order/order.enums.ts","../../src/catalog/catalog.enums.ts","../../src/cart/cart.enums.ts","../../src/cart/cart.schemas.ts","../../src/common/pagination.schemas.ts","../../src/common/list-query.schemas.ts","../../src/warehouse/warehouse.enums.ts","../../src/warehouse/warehouse.schemas.ts","../../src/order/order.schemas.ts"],"names":["OrderDeliveryMethod","OrderPaymentMethod","OrderStatus","OrderPaymentStatus","OrderReceiptStatus","OrderReceiptDecision","OrderStockAvailability","OrderEventType","OrderNotificationType","CartItemAvailability","z","PublicIdSchema","DateTimeSchema","DecimalSchema"],"mappings":"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","file":"index.js","sourcesContent":["export enum OrderDeliveryMethod {\n PICKUP = 'PICKUP',\n}\n\nexport enum OrderPaymentMethod {\n CASH = 'CASH',\n MAIN_WALLET = 'MAIN_WALLET',\n}\n\nexport enum OrderStatus {\n PENDING_PAYMENT = 'PENDING_PAYMENT',\n PROCESSING = 'PROCESSING',\n READY_FOR_PICKUP = 'READY_FOR_PICKUP',\n COMPLETED = 'COMPLETED',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum OrderPaymentStatus {\n AWAITING_RECEIPT = 'AWAITING_RECEIPT',\n UNDER_REVIEW = 'UNDER_REVIEW',\n REJECTED = 'REJECTED',\n PAID = 'PAID',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum OrderReceiptStatus {\n UNDER_REVIEW = 'UNDER_REVIEW',\n APPROVED = 'APPROVED',\n REJECTED = 'REJECTED',\n}\n\nexport enum OrderReceiptDecision {\n APPROVE = 'APPROVE',\n REJECT = 'REJECT',\n}\n\nexport enum OrderStockAvailability {\n AVAILABLE = 'AVAILABLE',\n OUT_OF_STOCK = 'OUT_OF_STOCK',\n INSUFFICIENT_STOCK = 'INSUFFICIENT_STOCK',\n}\n\nexport enum OrderEventType {\n CREATED = 'CREATED',\n WALLET_DEBITED = 'WALLET_DEBITED',\n RECEIPT_UPLOADED = 'RECEIPT_UPLOADED',\n PAYMENT_APPROVED = 'PAYMENT_APPROVED',\n PAYMENT_REJECTED = 'PAYMENT_REJECTED',\n CANCELLED_TIMEOUT = 'CANCELLED_TIMEOUT',\n WALLET_REFUNDED = 'WALLET_REFUNDED',\n}\n\nexport enum OrderNotificationType {\n ORDER_CREATED = 'ORDER_CREATED',\n RECEIPT_RECEIVED = 'RECEIPT_RECEIVED',\n PAYMENT_APPROVED = 'PAYMENT_APPROVED',\n PAYMENT_REJECTED = 'PAYMENT_REJECTED',\n ORDER_CANCELLED = 'ORDER_CANCELLED',\n}\n","export const ProductStatus = {\n DRAFT: 'DRAFT',\n ACTIVE: 'ACTIVE',\n ARCHIVED: 'ARCHIVED',\n} as const;\n\nexport type ProductStatus = (typeof ProductStatus)[keyof typeof ProductStatus];\n\nexport const ProductUnit = {\n CAPSULE: 'CAPSULE',\n GRAM: 'GRAM',\n MILLILITER: 'MILLILITER',\n PIECE: 'PIECE',\n} as const;\n\nexport type ProductUnit = (typeof ProductUnit)[keyof typeof ProductUnit];\n\nexport const ProductMediaType = {\n IMAGE: 'IMAGE',\n UPLOADED_VIDEO: 'UPLOADED_VIDEO',\n EXTERNAL_VIDEO: 'EXTERNAL_VIDEO',\n} as const;\n\nexport type ProductMediaType =\n (typeof ProductMediaType)[keyof typeof ProductMediaType];\n\nexport const ProductMediaRole = {\n COVER: 'COVER',\n GALLERY: 'GALLERY',\n} as const;\n\nexport type ProductMediaRole =\n (typeof ProductMediaRole)[keyof typeof ProductMediaRole];\n","export enum CartItemAvailability {\n AVAILABLE = 'AVAILABLE',\n PRODUCT_UNAVAILABLE = 'PRODUCT_UNAVAILABLE',\n VARIANT_UNAVAILABLE = 'VARIANT_UNAVAILABLE',\n}\n","import { z } from 'zod';\nimport { ProductUnit } from '../catalog/catalog.enums';\nimport { CartItemAvailability } from './cart.enums';\n\nconst PublicIdSchema = z.uuid();\nconst QuantitySchema = z.number().int().min(1).max(999);\nconst DecimalSchema = z.string().regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/);\n\nexport const AddCartItemRequestSchema = z.object({\n variantPublicId: PublicIdSchema,\n quantity: QuantitySchema.default(1),\n});\n\nexport const UpdateCartItemRequestSchema = z.object({\n quantity: QuantitySchema,\n version: z.number().int().positive(),\n});\n\nexport const CartItemPublicIdParamSchema = z.object({\n itemPublicId: PublicIdSchema,\n});\n\nexport const CartItemSchema = z.object({\n publicId: PublicIdSchema,\n quantity: QuantitySchema,\n version: z.number().int().positive(),\n availability: z.enum(CartItemAvailability),\n product: z.object({\n publicId: PublicIdSchema,\n slug: z.string(),\n name: z.string(),\n coverContentUrl: z.string().nullable(),\n }),\n variant: z.object({\n publicId: PublicIdSchema,\n sku: z.string(),\n quantity: z.string(),\n unit: z.enum(ProductUnit),\n priceUsd: DecimalSchema,\n pv: DecimalSchema,\n }),\n lineTotalUsd: DecimalSchema,\n lineTotalPv: DecimalSchema,\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const CartSchema = z.object({\n publicId: PublicIdSchema.nullable(),\n items: z.array(CartItemSchema),\n totalQuantity: z.number().int().nonnegative(),\n subtotalUsd: DecimalSchema,\n totalPv: DecimalSchema,\n hasUnavailableItems: z.boolean(),\n updatedAt: z.string().datetime().nullable(),\n});\n","import { z } from 'zod';\n\nexport const PageSchema = z.coerce.number().int().min(1).default(1);\nexport const LimitSchema = z.coerce.number().int().min(1).max(100).default(20);\nexport const SortOrderSchema = z.enum(['asc', 'desc']).default('desc');\n\nexport const PaginationQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n});\n","import { z } from 'zod';\nimport { LimitSchema, PageSchema, SortOrderSchema } from './pagination.schemas';\n\nexport const DateFromSchema = z.string().datetime().optional();\nexport const DateToSchema = z.string().datetime().optional();\n\nexport const SearchSchema = z.string().trim().min(1).max(255).optional();\n\nexport const BaseListQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n search: SearchSchema,\n dateFrom: DateFromSchema,\n dateTo: DateToSchema,\n sortOrder: SortOrderSchema.optional(),\n});\n","export const WarehouseStatus = {\n DRAFT: 'DRAFT',\n ACTIVE: 'ACTIVE',\n SUSPENDED: 'SUSPENDED',\n ARCHIVED: 'ARCHIVED',\n} as const;\n\nexport type WarehouseStatus =\n (typeof WarehouseStatus)[keyof typeof WarehouseStatus];\n\nexport const WarehouseAssignmentType = {\n STAFF: 'STAFF',\n} as const;\n\nexport type WarehouseAssignmentType =\n (typeof WarehouseAssignmentType)[keyof typeof WarehouseAssignmentType];\n\nexport const WarehouseRequestType = {\n REPLENISHMENT: 'REPLENISHMENT',\n WRITE_OFF: 'WRITE_OFF',\n TRANSFER: 'TRANSFER',\n} as const;\n\nexport type WarehouseRequestType =\n (typeof WarehouseRequestType)[keyof typeof WarehouseRequestType];\n\nexport const WarehouseRequestStatus = {\n DRAFT: 'DRAFT',\n PENDING_REVIEW: 'PENDING_REVIEW',\n APPROVED: 'APPROVED',\n READY_TO_SHIP: 'READY_TO_SHIP',\n IN_TRANSIT: 'IN_TRANSIT',\n COMPLETED: 'COMPLETED',\n REJECTED: 'REJECTED',\n CANCELLED: 'CANCELLED',\n DISCREPANCY_REPORTED: 'DISCREPANCY_REPORTED',\n FAILED: 'FAILED',\n} as const;\n\nexport type WarehouseRequestStatus =\n (typeof WarehouseRequestStatus)[keyof typeof WarehouseRequestStatus];\n\nexport const WarehouseMovementType = {\n REPLENISHMENT: 'REPLENISHMENT',\n WRITE_OFF: 'WRITE_OFF',\n TRANSFER_OUT: 'TRANSFER_OUT',\n TRANSFER_IN: 'TRANSFER_IN',\n ORDER_ISSUE: 'ORDER_ISSUE',\n} as const;\n\nexport type WarehouseMovementType =\n (typeof WarehouseMovementType)[keyof typeof WarehouseMovementType];\n\nexport const WarehouseWriteOffReason = {\n DEFECT: 'DEFECT',\n DAMAGED: 'DAMAGED',\n EXPIRED: 'EXPIRED',\n LOST: 'LOST',\n INVENTORY_SHORTAGE: 'INVENTORY_SHORTAGE',\n OTHER: 'OTHER',\n} as const;\n\nexport type WarehouseWriteOffReason =\n (typeof WarehouseWriteOffReason)[keyof typeof WarehouseWriteOffReason];\n\nexport const WarehouseWeekday = {\n MONDAY: 'MONDAY',\n TUESDAY: 'TUESDAY',\n WEDNESDAY: 'WEDNESDAY',\n THURSDAY: 'THURSDAY',\n FRIDAY: 'FRIDAY',\n SATURDAY: 'SATURDAY',\n SUNDAY: 'SUNDAY',\n} as const;\n\nexport type WarehouseWeekday =\n (typeof WarehouseWeekday)[keyof typeof WarehouseWeekday];\n","import { z } from 'zod';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport {\n WarehouseAssignmentType,\n WarehouseMovementType,\n WarehouseRequestStatus,\n WarehouseRequestType,\n WarehouseStatus,\n WarehouseWeekday,\n WarehouseWriteOffReason,\n} from './warehouse.enums';\n\nconst PublicIdSchema = z.uuid();\nconst CodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);\nconst DateSchema = z.iso.date();\nconst DateTimeSchema = z.iso.datetime();\nconst TimeSchema = z.string().regex(/^([01]\\d|2[0-3]):[0-5]\\d$/);\nconst NullableTrimmedSchema = (max: number) =>\n z.string().trim().min(1).max(max).nullable().optional();\n\nexport const WarehouseDayScheduleSchema = z\n .object({\n isOpen: z.boolean(),\n opensAt: TimeSchema.nullable(),\n closesAt: TimeSchema.nullable(),\n })\n .superRefine((value, context) => {\n if (value.isOpen && (!value.opensAt || !value.closesAt)) {\n context.addIssue({\n code: 'custom',\n message: 'Для рабочего дня укажите время открытия и закрытия',\n });\n }\n if (!value.isOpen && (value.opensAt || value.closesAt)) {\n context.addIssue({\n code: 'custom',\n message: 'Для выходного дня время должно быть пустым',\n });\n }\n if (\n value.isOpen &&\n value.opensAt &&\n value.closesAt &&\n value.opensAt >= value.closesAt\n ) {\n context.addIssue({\n code: 'custom',\n message: 'Время закрытия должно быть позже времени открытия',\n });\n }\n });\n\nexport const WarehouseWeeklyScheduleSchema = z.record(\n z.enum(WarehouseWeekday),\n WarehouseDayScheduleSchema,\n);\n\nconst WarehouseFieldsSchema = z.object({\n name: z.string().trim().min(2).max(160),\n countryCode: z.string().trim().toUpperCase().length(2),\n country: z.string().trim().min(2).max(120),\n city: z.string().trim().min(1).max(160),\n address: z.string().trim().min(3).max(500),\n phoneNumber: z.string().trim().min(7).max(32),\n mapUrl: z\n .url()\n .max(2_000)\n .refine((value) => new URL(value).protocol === 'https:', {\n message: 'Ссылка на карту должна использовать HTTPS',\n }),\n timezone: z.string().trim().min(1).max(64),\n schedule: WarehouseWeeklyScheduleSchema,\n isPickupPoint: z.boolean(),\n});\n\nexport const CreateWarehouseRequestSchema = WarehouseFieldsSchema.extend({\n code: CodeSchema,\n isPickupPoint: WarehouseFieldsSchema.shape.isPickupPoint.default(true),\n});\n\nexport const UpdateWarehouseRequestSchema = WarehouseFieldsSchema.partial()\n .extend({ version: z.number().int().positive() })\n .required({ version: true });\n\nexport const WarehousePublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\n\nexport const WarehouseAssignmentParamSchema = z.object({\n publicId: PublicIdSchema,\n assignmentPublicId: PublicIdSchema,\n});\n\nexport const WarehouseListQuerySchema = BaseListQuerySchema.extend({\n status: z.enum(WarehouseStatus).optional(),\n countryCode: z.string().trim().toUpperCase().length(2).optional(),\n city: z.string().trim().min(1).max(160).optional(),\n});\n\nexport const WarehouseUserSearchQuerySchema = z.object({\n search: z.string().trim().min(2).max(100),\n page: z.coerce.number().int().min(1).default(1),\n limit: z.coerce.number().int().min(1).max(20).default(20),\n});\n\nexport const AssignWarehouseUserRequestSchema = z.object({\n userUuid: z.string().trim().min(3).max(32),\n type: z.enum(WarehouseAssignmentType),\n});\n\nexport const WarehouseRequestLineInputSchema = z.object({\n variantPublicId: PublicIdSchema,\n quantity: z.number().int().positive().max(1_000_000_000),\n expiresAt: DateSchema.nullable().optional(),\n batchNumber: NullableTrimmedSchema(120),\n comment: NullableTrimmedSchema(1_000),\n});\n\nexport const CreateWarehouseOperationRequestSchema = z\n .object({\n type: z.enum(WarehouseRequestType),\n sourceWarehousePublicId: PublicIdSchema.nullable().optional(),\n destinationWarehousePublicId: PublicIdSchema.nullable().optional(),\n writeOffReason: z.enum(WarehouseWriteOffReason).nullable().optional(),\n comment: z.string().trim().max(2_000).nullable().optional(),\n lines: z.array(WarehouseRequestLineInputSchema).min(1).max(500),\n })\n .superRefine((value, context) => {\n const source = value.sourceWarehousePublicId ?? null;\n const destination = value.destinationWarehousePublicId ?? null;\n if (value.type === WarehouseRequestType.REPLENISHMENT) {\n if (!destination || source) {\n context.addIssue({\n code: 'custom',\n path: ['destinationWarehousePublicId'],\n message: 'Для пополнения нужен только склад назначения',\n });\n }\n value.lines.forEach((line, index) => {\n if (!line.expiresAt) {\n context.addIssue({\n code: 'custom',\n path: ['lines', index, 'expiresAt'],\n message: 'Срок годности поступления обязателен',\n });\n }\n });\n }\n if (value.type === WarehouseRequestType.WRITE_OFF) {\n if (!source || destination) {\n context.addIssue({\n code: 'custom',\n path: ['sourceWarehousePublicId'],\n message: 'Для списания нужен только исходный склад',\n });\n }\n if (!value.writeOffReason) {\n context.addIssue({\n code: 'custom',\n path: ['writeOffReason'],\n message: 'Причина списания обязательна',\n });\n }\n if (!value.comment?.trim()) {\n context.addIssue({\n code: 'custom',\n path: ['comment'],\n message: 'Комментарий к списанию обязателен',\n });\n }\n }\n if (value.type === WarehouseRequestType.TRANSFER) {\n if (!source || !destination || source === destination) {\n context.addIssue({\n code: 'custom',\n path: ['destinationWarehousePublicId'],\n message: 'Укажите разные исходный склад и склад назначения',\n });\n }\n }\n });\n\nexport const WarehouseOperationPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\n\nexport const WarehouseOperationAttachmentParamSchema = z.object({\n publicId: PublicIdSchema,\n attachmentPublicId: PublicIdSchema,\n});\n\nexport const WarehouseOperationListQuerySchema = BaseListQuerySchema.extend({\n type: z.enum(WarehouseRequestType).optional(),\n status: z.enum(WarehouseRequestStatus).optional(),\n warehousePublicId: PublicIdSchema.optional(),\n createdByUserId: z.coerce.number().int().positive().optional(),\n});\n\nexport const WarehouseOperationCommentSchema = z.object({\n comment: z.string().trim().max(2_000).nullable().optional(),\n});\n\nexport const RejectWarehouseOperationRequestSchema = z.object({\n comment: z.string().trim().min(1).max(2_000),\n});\n\nexport const ExecuteWarehouseOperationRequestSchema = z.object({\n idempotencyKey: z.uuid(),\n comment: z.string().trim().max(2_000).nullable().optional(),\n});\n\nexport const ReportWarehouseDiscrepancyRequestSchema = z.object({\n comment: z.string().trim().min(1).max(2_000),\n});\n\nexport const WarehouseStockListQuerySchema = BaseListQuerySchema.extend({\n warehousePublicId: PublicIdSchema.optional(),\n variantPublicId: PublicIdSchema.optional(),\n expired: z\n .union([z.boolean(), z.enum(['true', 'false']).transform((v) => v === 'true')])\n .optional(),\n expiresBefore: DateSchema.optional(),\n});\n\nexport const WarehouseSchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n name: z.string(),\n status: z.enum(WarehouseStatus),\n countryCode: z.string().length(2),\n country: z.string(),\n city: z.string(),\n address: z.string(),\n phoneNumber: z.string(),\n mapUrl: z.string(),\n timezone: z.string(),\n schedule: WarehouseWeeklyScheduleSchema,\n isPickupPoint: z.boolean(),\n version: z.number().int().positive(),\n createdAt: DateTimeSchema,\n updatedAt: DateTimeSchema,\n});\n\nexport const WarehouseUserLookupSchema = z.object({\n id: z.number().int().positive(),\n uuid: z.string(),\n login: z.string(),\n firstName: z.string(),\n lastName: z.string(),\n email: z.email(),\n role: z.string(),\n});\n\nexport const WarehouseAssignmentSchema = z.object({\n publicId: PublicIdSchema,\n warehousePublicId: PublicIdSchema,\n type: z.enum(WarehouseAssignmentType),\n user: WarehouseUserLookupSchema,\n assignedByLogin: z.string(),\n assignedAt: DateTimeSchema,\n});\n\nexport const WarehouseOperationLineSchema = z.object({\n publicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n sku: z.string(),\n quantity: z.number().int().positive(),\n expiresAt: DateSchema.nullable(),\n batchNumber: z.string().nullable(),\n comment: z.string().nullable(),\n});\n\nexport const WarehouseOperationEventSchema = z.object({\n publicId: PublicIdSchema,\n fromStatus: z.enum(WarehouseRequestStatus).nullable(),\n toStatus: z.enum(WarehouseRequestStatus),\n actorUserId: z.number().int().positive(),\n actorLogin: z.string(),\n comment: z.string().nullable(),\n createdAt: DateTimeSchema,\n});\n\nexport const WarehouseOperationAttachmentSchema = z.object({\n publicId: PublicIdSchema,\n mimeType: z.string(),\n sizeBytes: z.number().int().positive(),\n originalName: z.string().nullable(),\n uploadedByLogin: z.string(),\n contentUrl: z.string(),\n createdAt: DateTimeSchema,\n});\n\nexport const WarehouseOperationSchema = z.object({\n publicId: PublicIdSchema,\n type: z.enum(WarehouseRequestType),\n status: z.enum(WarehouseRequestStatus),\n sourceWarehouse: WarehouseSchema.nullable(),\n destinationWarehouse: WarehouseSchema.nullable(),\n writeOffReason: z.enum(WarehouseWriteOffReason).nullable(),\n comment: z.string().nullable(),\n rejectionComment: z.string().nullable(),\n createdByUserId: z.number().int().positive(),\n createdByLogin: z.string(),\n approvedByUserId: z.number().int().positive().nullable(),\n approvedByLogin: z.string().nullable(),\n approvedAt: DateTimeSchema.nullable(),\n completedByUserId: z.number().int().positive().nullable(),\n completedByLogin: z.string().nullable(),\n completedAt: DateTimeSchema.nullable(),\n version: z.number().int().positive(),\n lines: z.array(WarehouseOperationLineSchema),\n events: z.array(WarehouseOperationEventSchema),\n attachments: z.array(WarehouseOperationAttachmentSchema),\n createdAt: DateTimeSchema,\n updatedAt: DateTimeSchema,\n});\n\nexport const WarehouseStockSchema = z.object({\n publicId: PublicIdSchema,\n warehouse: WarehouseSchema,\n variantPublicId: PublicIdSchema,\n sku: z.string(),\n productPublicId: PublicIdSchema,\n productCode: z.string(),\n batchNumber: z.string().nullable(),\n expiresAt: DateSchema,\n onHand: z.number().int().nonnegative(),\n reserved: z.number().int().nonnegative(),\n available: z.number().int().nonnegative(),\n expired: z.boolean(),\n version: z.number().int().positive(),\n updatedAt: DateTimeSchema,\n});\n\nexport const WarehouseMovementSchema = z.object({\n publicId: PublicIdSchema,\n warehousePublicId: PublicIdSchema,\n operationPublicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n inventoryBatchPublicId: PublicIdSchema.nullable(),\n type: z.enum(WarehouseMovementType),\n quantityDelta: z.number().int(),\n balanceAfter: z.number().int().nonnegative(),\n actorUserId: z.number().int().positive(),\n actorLogin: z.string(),\n createdAt: DateTimeSchema,\n});\n","import { z } from 'zod';\nimport { CartSchema } from '../cart/cart.schemas';\nimport { ProductUnit } from '../catalog/catalog.enums';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport { WarehouseWeeklyScheduleSchema } from '../warehouse/warehouse.schemas';\nimport {\n OrderDeliveryMethod,\n OrderEventType,\n OrderNotificationType,\n OrderPaymentMethod,\n OrderPaymentStatus,\n OrderReceiptDecision,\n OrderReceiptStatus,\n OrderStatus,\n OrderStockAvailability,\n} from './order.enums';\n\nconst PublicIdSchema = z.uuid();\nconst DateTimeSchema = z.iso.datetime();\nconst MoneySchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\nconst DecimalSchema = z.string().regex(/^\\d{1,16}(?:\\.\\d{1,3})?$/);\nconst OrderNumberSchema = z.string().regex(/^AV-\\d{8}-[A-Z0-9]{6}$/);\n\nexport const CheckoutWarehouseQuerySchema = z.object({\n countryCode: z.string().trim().toUpperCase().length(2),\n city: z.string().trim().min(1).max(160),\n});\n\nexport const CheckoutLocationSchema = z.object({\n countryCode: z.string().length(2),\n country: z.string(),\n cities: z.array(z.string()).min(1),\n});\n\nexport const CheckoutSnapshotSchema = z.object({\n cart: CartSchema,\n locations: z.array(CheckoutLocationSchema),\n mainWallet: z.object({\n balanceUsd: MoneySchema,\n availableBalanceUsd: MoneySchema,\n }),\n paymentMethods: z.array(z.enum(OrderPaymentMethod)),\n reserveDurationHours: z.literal(24),\n});\n\nexport const CheckoutWarehouseAvailabilitySchema = z.object({\n variantPublicId: PublicIdSchema,\n requestedQuantity: z.number().int().positive(),\n availableQuantity: z.number().int().nonnegative(),\n availability: z.enum(OrderStockAvailability),\n});\n\nexport const CheckoutWarehouseSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string(),\n name: z.string(),\n countryCode: z.string().length(2),\n country: z.string(),\n city: z.string(),\n address: z.string(),\n phoneNumber: z.string(),\n mapUrl: z.url(),\n timezone: z.string(),\n schedule: WarehouseWeeklyScheduleSchema,\n canFulfill: z.boolean(),\n items: z.array(CheckoutWarehouseAvailabilitySchema),\n});\n\nexport const CheckoutWarehouseListSchema = z.array(CheckoutWarehouseSchema);\n\nexport const CreateOrderRequestSchema = z\n .object({\n warehousePublicId: PublicIdSchema,\n deliveryMethod: z.literal(OrderDeliveryMethod.PICKUP),\n paymentMethod: z.enum(OrderPaymentMethod),\n walletAmountUsd: MoneySchema.optional(),\n idempotencyKey: PublicIdSchema,\n })\n .superRefine((value, context) => {\n if (\n value.paymentMethod === OrderPaymentMethod.CASH &&\n value.walletAmountUsd\n ) {\n context.addIssue({\n code: 'custom',\n path: ['walletAmountUsd'],\n message: 'Для оплаты наличными сумма кошелька не передаётся',\n });\n }\n if (\n value.paymentMethod === OrderPaymentMethod.MAIN_WALLET &&\n (!value.walletAmountUsd || value.walletAmountUsd === '0.00')\n ) {\n context.addIssue({\n code: 'custom',\n path: ['walletAmountUsd'],\n message: 'Укажите сумму оплаты с основного кошелька',\n });\n }\n });\n\nexport const OrderPublicIdParamSchema = z.object({ publicId: PublicIdSchema });\n\nexport const OrderReceiptParamSchema = z.object({\n publicId: PublicIdSchema,\n receiptPublicId: PublicIdSchema,\n});\n\nexport const OrderWarehouseSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string(),\n name: z.string(),\n countryCode: z.string().length(2),\n country: z.string(),\n city: z.string(),\n address: z.string(),\n phoneNumber: z.string(),\n mapUrl: z.url(),\n timezone: z.string(),\n schedule: WarehouseWeeklyScheduleSchema,\n});\n\nexport const OrderItemSchema = z.object({\n publicId: PublicIdSchema,\n productPublicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n productName: z.string(),\n sku: z.string(),\n variantQuantity: DecimalSchema,\n unit: z.enum(ProductUnit),\n quantity: z.number().int().positive(),\n unitPriceUsd: MoneySchema,\n lineTotalUsd: MoneySchema,\n unitPv: MoneySchema,\n lineTotalPv: MoneySchema,\n coverContentUrl: z.string().nullable(),\n});\n\nexport const OrderReceiptSchema = z.object({\n publicId: PublicIdSchema,\n status: z.enum(OrderReceiptStatus),\n originalName: z.string().nullable(),\n mimeType: z.string(),\n sizeBytes: z.number().int().positive(),\n version: z.number().int().positive(),\n rejectionReason: z.string().nullable(),\n reviewedAt: DateTimeSchema.nullable(),\n createdAt: DateTimeSchema,\n contentUrl: z.string(),\n});\n\nexport const OrderEventSchema = z.object({\n publicId: PublicIdSchema,\n type: z.enum(OrderEventType),\n actorLogin: z.string().nullable(),\n comment: z.string().nullable(),\n createdAt: DateTimeSchema,\n});\n\nexport const OrderSchema = z.object({\n publicId: PublicIdSchema,\n number: OrderNumberSchema,\n status: z.enum(OrderStatus),\n paymentStatus: z.enum(OrderPaymentStatus),\n deliveryMethod: z.enum(OrderDeliveryMethod),\n paymentMethod: z.enum(OrderPaymentMethod),\n locale: z.string().length(2),\n baseCurrencyCode: z.string().length(3),\n displayCurrencyCode: z.string().length(3),\n displayRate: z.string(),\n subtotalUsd: MoneySchema,\n totalPv: MoneySchema,\n walletPaidUsd: MoneySchema,\n walletRefundedUsd: MoneySchema,\n cashDueUsd: MoneySchema,\n reserveExpiresAt: DateTimeSchema.nullable(),\n paidAt: DateTimeSchema.nullable(),\n cancelledAt: DateTimeSchema.nullable(),\n cancellationReason: z.string().nullable(),\n warehouse: OrderWarehouseSchema,\n items: z.array(OrderItemSchema).min(1),\n receipts: z.array(OrderReceiptSchema),\n events: z.array(OrderEventSchema),\n createdAt: DateTimeSchema,\n updatedAt: DateTimeSchema,\n});\n\nexport const OrderListItemSchema = OrderSchema.omit({\n receipts: true,\n events: true,\n});\n\nexport const OrderListQuerySchema = BaseListQuerySchema.extend({\n status: z.enum(OrderStatus).optional(),\n paymentStatus: z.enum(OrderPaymentStatus).optional(),\n});\n\nexport const OrderListResponseSchema = z.object({\n items: z.array(OrderListItemSchema),\n meta: z.object({\n page: z.number().int().positive(),\n limit: z.number().int().positive(),\n total: z.number().int().nonnegative(),\n pageCount: z.number().int().nonnegative(),\n }),\n});\n\nexport const ReviewOrderReceiptRequestSchema = z\n .object({\n decision: z.enum(OrderReceiptDecision),\n version: z.number().int().positive(),\n rejectionReason: z.string().trim().min(1).max(2_000).optional(),\n })\n .superRefine((value, context) => {\n if (\n value.decision === OrderReceiptDecision.REJECT &&\n !value.rejectionReason\n ) {\n context.addIssue({\n code: 'custom',\n path: ['rejectionReason'],\n message: 'Причина отклонения обязательна',\n });\n }\n if (\n value.decision === OrderReceiptDecision.APPROVE &&\n value.rejectionReason\n ) {\n context.addIssue({\n code: 'custom',\n path: ['rejectionReason'],\n message: 'Причина не передаётся при подтверждении',\n });\n }\n });\n\nexport const OrderNotificationSchema = z.object({\n publicId: PublicIdSchema,\n orderPublicId: PublicIdSchema,\n orderNumber: OrderNumberSchema,\n type: z.enum(OrderNotificationType),\n isRead: z.boolean(),\n createdAt: DateTimeSchema,\n});\n\nexport const OrderNotificationListSchema = z.array(OrderNotificationSchema);\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/order/order.enums.ts","../../src/catalog/catalog.enums.ts","../../src/cart/cart.enums.ts","../../src/cart/cart.schemas.ts","../../src/common/pagination.schemas.ts","../../src/common/list-query.schemas.ts","../../src/warehouse/warehouse.enums.ts","../../src/warehouse/warehouse.schemas.ts","../../src/order/order.schemas.ts"],"names":["OrderDeliveryMethod","OrderPaymentMethod","OrderStatus","OrderPaymentStatus","OrderReceiptStatus","OrderReceiptDecision","OrderStockAvailability","OrderReservationStatus","OrderEventType","OrderNotificationType","CartItemAvailability","z","PublicIdSchema","DateTimeSchema","DecimalSchema"],"mappings":"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","file":"index.js","sourcesContent":["export enum OrderDeliveryMethod {\n PICKUP = 'PICKUP',\n}\n\nexport enum OrderPaymentMethod {\n CASH = 'CASH',\n MAIN_WALLET = 'MAIN_WALLET',\n}\n\nexport enum OrderStatus {\n PENDING_PAYMENT = 'PENDING_PAYMENT',\n PROCESSING = 'PROCESSING',\n READY_FOR_PICKUP = 'READY_FOR_PICKUP',\n COMPLETED = 'COMPLETED',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum OrderPaymentStatus {\n AWAITING_RECEIPT = 'AWAITING_RECEIPT',\n UNDER_REVIEW = 'UNDER_REVIEW',\n REJECTED = 'REJECTED',\n PAID = 'PAID',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum OrderReceiptStatus {\n UNDER_REVIEW = 'UNDER_REVIEW',\n APPROVED = 'APPROVED',\n REJECTED = 'REJECTED',\n}\n\nexport enum OrderReceiptDecision {\n APPROVE = 'APPROVE',\n REJECT = 'REJECT',\n}\n\nexport enum OrderStockAvailability {\n AVAILABLE = 'AVAILABLE',\n OUT_OF_STOCK = 'OUT_OF_STOCK',\n INSUFFICIENT_STOCK = 'INSUFFICIENT_STOCK',\n}\n\nexport enum OrderReservationStatus {\n ACTIVE = 'ACTIVE',\n RELEASED = 'RELEASED',\n FULFILLED = 'FULFILLED',\n}\n\nexport enum OrderEventType {\n CREATED = 'CREATED',\n WALLET_DEBITED = 'WALLET_DEBITED',\n RECEIPT_UPLOADED = 'RECEIPT_UPLOADED',\n PAYMENT_APPROVED = 'PAYMENT_APPROVED',\n PAYMENT_REJECTED = 'PAYMENT_REJECTED',\n CANCELLED_TIMEOUT = 'CANCELLED_TIMEOUT',\n WALLET_REFUNDED = 'WALLET_REFUNDED',\n READY_FOR_PICKUP = 'READY_FOR_PICKUP',\n PICKUP_CODE_FAILED = 'PICKUP_CODE_FAILED',\n COMPLETED = 'COMPLETED',\n CASHBACK_CREDITED = 'CASHBACK_CREDITED',\n}\n\nexport enum OrderNotificationType {\n ORDER_CREATED = 'ORDER_CREATED',\n RECEIPT_RECEIVED = 'RECEIPT_RECEIVED',\n PAYMENT_APPROVED = 'PAYMENT_APPROVED',\n PAYMENT_REJECTED = 'PAYMENT_REJECTED',\n ORDER_CANCELLED = 'ORDER_CANCELLED',\n ORDER_READY_FOR_PICKUP = 'ORDER_READY_FOR_PICKUP',\n ORDER_COMPLETED = 'ORDER_COMPLETED',\n}\n","export const ProductStatus = {\n DRAFT: 'DRAFT',\n ACTIVE: 'ACTIVE',\n ARCHIVED: 'ARCHIVED',\n} as const;\n\nexport type ProductStatus = (typeof ProductStatus)[keyof typeof ProductStatus];\n\nexport const ProductUnit = {\n CAPSULE: 'CAPSULE',\n GRAM: 'GRAM',\n MILLILITER: 'MILLILITER',\n PIECE: 'PIECE',\n} as const;\n\nexport type ProductUnit = (typeof ProductUnit)[keyof typeof ProductUnit];\n\nexport const ProductMediaType = {\n IMAGE: 'IMAGE',\n UPLOADED_VIDEO: 'UPLOADED_VIDEO',\n EXTERNAL_VIDEO: 'EXTERNAL_VIDEO',\n} as const;\n\nexport type ProductMediaType =\n (typeof ProductMediaType)[keyof typeof ProductMediaType];\n\nexport const ProductMediaRole = {\n COVER: 'COVER',\n GALLERY: 'GALLERY',\n} as const;\n\nexport type ProductMediaRole =\n (typeof ProductMediaRole)[keyof typeof ProductMediaRole];\n","export enum CartItemAvailability {\n AVAILABLE = 'AVAILABLE',\n PRODUCT_UNAVAILABLE = 'PRODUCT_UNAVAILABLE',\n VARIANT_UNAVAILABLE = 'VARIANT_UNAVAILABLE',\n}\n","import { z } from 'zod';\nimport { ProductUnit } from '../catalog/catalog.enums';\nimport { CartItemAvailability } from './cart.enums';\n\nconst PublicIdSchema = z.uuid();\nconst QuantitySchema = z.number().int().min(1).max(999);\nconst DecimalSchema = z.string().regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/);\n\nexport const AddCartItemRequestSchema = z.object({\n variantPublicId: PublicIdSchema,\n quantity: QuantitySchema.default(1),\n});\n\nexport const UpdateCartItemRequestSchema = z.object({\n quantity: QuantitySchema,\n version: z.number().int().positive(),\n});\n\nexport const CartItemPublicIdParamSchema = z.object({\n itemPublicId: PublicIdSchema,\n});\n\nexport const CartItemSchema = z.object({\n publicId: PublicIdSchema,\n quantity: QuantitySchema,\n version: z.number().int().positive(),\n availability: z.enum(CartItemAvailability),\n product: z.object({\n publicId: PublicIdSchema,\n slug: z.string(),\n name: z.string(),\n coverContentUrl: z.string().nullable(),\n }),\n variant: z.object({\n publicId: PublicIdSchema,\n sku: z.string(),\n quantity: z.string(),\n unit: z.enum(ProductUnit),\n priceUsd: DecimalSchema,\n pv: DecimalSchema,\n }),\n lineTotalUsd: DecimalSchema,\n lineTotalPv: DecimalSchema,\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const CartSchema = z.object({\n publicId: PublicIdSchema.nullable(),\n items: z.array(CartItemSchema),\n totalQuantity: z.number().int().nonnegative(),\n subtotalUsd: DecimalSchema,\n totalPv: DecimalSchema,\n hasUnavailableItems: z.boolean(),\n updatedAt: z.string().datetime().nullable(),\n});\n","import { z } from 'zod';\n\nexport const PageSchema = z.coerce.number().int().min(1).default(1);\nexport const LimitSchema = z.coerce.number().int().min(1).max(100).default(20);\nexport const SortOrderSchema = z.enum(['asc', 'desc']).default('desc');\n\nexport const PaginationQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n});\n","import { z } from 'zod';\nimport { LimitSchema, PageSchema, SortOrderSchema } from './pagination.schemas';\n\nexport const DateFromSchema = z.string().datetime().optional();\nexport const DateToSchema = z.string().datetime().optional();\n\nexport const SearchSchema = z.string().trim().min(1).max(255).optional();\n\nexport const BaseListQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n search: SearchSchema,\n dateFrom: DateFromSchema,\n dateTo: DateToSchema,\n sortOrder: SortOrderSchema.optional(),\n});\n","export const WarehouseStatus = {\n DRAFT: 'DRAFT',\n ACTIVE: 'ACTIVE',\n SUSPENDED: 'SUSPENDED',\n ARCHIVED: 'ARCHIVED',\n} as const;\n\nexport type WarehouseStatus =\n (typeof WarehouseStatus)[keyof typeof WarehouseStatus];\n\nexport const WarehouseAssignmentType = {\n STAFF: 'STAFF',\n} as const;\n\nexport type WarehouseAssignmentType =\n (typeof WarehouseAssignmentType)[keyof typeof WarehouseAssignmentType];\n\nexport const WarehouseRequestType = {\n REPLENISHMENT: 'REPLENISHMENT',\n WRITE_OFF: 'WRITE_OFF',\n TRANSFER: 'TRANSFER',\n} as const;\n\nexport type WarehouseRequestType =\n (typeof WarehouseRequestType)[keyof typeof WarehouseRequestType];\n\nexport const WarehouseRequestStatus = {\n DRAFT: 'DRAFT',\n PENDING_REVIEW: 'PENDING_REVIEW',\n APPROVED: 'APPROVED',\n READY_TO_SHIP: 'READY_TO_SHIP',\n IN_TRANSIT: 'IN_TRANSIT',\n COMPLETED: 'COMPLETED',\n REJECTED: 'REJECTED',\n CANCELLED: 'CANCELLED',\n DISCREPANCY_REPORTED: 'DISCREPANCY_REPORTED',\n FAILED: 'FAILED',\n} as const;\n\nexport type WarehouseRequestStatus =\n (typeof WarehouseRequestStatus)[keyof typeof WarehouseRequestStatus];\n\nexport const WarehouseMovementType = {\n REPLENISHMENT: 'REPLENISHMENT',\n WRITE_OFF: 'WRITE_OFF',\n TRANSFER_OUT: 'TRANSFER_OUT',\n TRANSFER_IN: 'TRANSFER_IN',\n ORDER_ISSUE: 'ORDER_ISSUE',\n} as const;\n\nexport type WarehouseMovementType =\n (typeof WarehouseMovementType)[keyof typeof WarehouseMovementType];\n\nexport const WarehouseWriteOffReason = {\n DEFECT: 'DEFECT',\n DAMAGED: 'DAMAGED',\n EXPIRED: 'EXPIRED',\n LOST: 'LOST',\n INVENTORY_SHORTAGE: 'INVENTORY_SHORTAGE',\n OTHER: 'OTHER',\n} as const;\n\nexport type WarehouseWriteOffReason =\n (typeof WarehouseWriteOffReason)[keyof typeof WarehouseWriteOffReason];\n\nexport const WarehouseWeekday = {\n MONDAY: 'MONDAY',\n TUESDAY: 'TUESDAY',\n WEDNESDAY: 'WEDNESDAY',\n THURSDAY: 'THURSDAY',\n FRIDAY: 'FRIDAY',\n SATURDAY: 'SATURDAY',\n SUNDAY: 'SUNDAY',\n} as const;\n\nexport type WarehouseWeekday =\n (typeof WarehouseWeekday)[keyof typeof WarehouseWeekday];\n","import { z } from 'zod';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport {\n WarehouseAssignmentType,\n WarehouseMovementType,\n WarehouseRequestStatus,\n WarehouseRequestType,\n WarehouseStatus,\n WarehouseWeekday,\n WarehouseWriteOffReason,\n} from './warehouse.enums';\n\nconst PublicIdSchema = z.uuid();\nconst CodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);\nconst DateSchema = z.iso.date();\nconst DateTimeSchema = z.iso.datetime();\nconst TimeSchema = z.string().regex(/^([01]\\d|2[0-3]):[0-5]\\d$/);\nconst NullableTrimmedSchema = (max: number) =>\n z.string().trim().min(1).max(max).nullable().optional();\n\nexport const WarehouseDayScheduleSchema = z\n .object({\n isOpen: z.boolean(),\n opensAt: TimeSchema.nullable(),\n closesAt: TimeSchema.nullable(),\n })\n .superRefine((value, context) => {\n if (value.isOpen && (!value.opensAt || !value.closesAt)) {\n context.addIssue({\n code: 'custom',\n message: 'Для рабочего дня укажите время открытия и закрытия',\n });\n }\n if (!value.isOpen && (value.opensAt || value.closesAt)) {\n context.addIssue({\n code: 'custom',\n message: 'Для выходного дня время должно быть пустым',\n });\n }\n if (\n value.isOpen &&\n value.opensAt &&\n value.closesAt &&\n value.opensAt >= value.closesAt\n ) {\n context.addIssue({\n code: 'custom',\n message: 'Время закрытия должно быть позже времени открытия',\n });\n }\n });\n\nexport const WarehouseWeeklyScheduleSchema = z.record(\n z.enum(WarehouseWeekday),\n WarehouseDayScheduleSchema,\n);\n\nconst WarehouseFieldsSchema = z.object({\n name: z.string().trim().min(2).max(160),\n countryCode: z.string().trim().toUpperCase().length(2),\n country: z.string().trim().min(2).max(120),\n city: z.string().trim().min(1).max(160),\n address: z.string().trim().min(3).max(500),\n phoneNumber: z.string().trim().min(7).max(32),\n mapUrl: z\n .url()\n .max(2_000)\n .refine((value) => new URL(value).protocol === 'https:', {\n message: 'Ссылка на карту должна использовать HTTPS',\n }),\n timezone: z.string().trim().min(1).max(64),\n schedule: WarehouseWeeklyScheduleSchema,\n isPickupPoint: z.boolean(),\n});\n\nexport const CreateWarehouseRequestSchema = WarehouseFieldsSchema.extend({\n code: CodeSchema,\n isPickupPoint: WarehouseFieldsSchema.shape.isPickupPoint.default(true),\n});\n\nexport const UpdateWarehouseRequestSchema = WarehouseFieldsSchema.partial()\n .extend({ version: z.number().int().positive() })\n .required({ version: true });\n\nexport const WarehousePublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\n\nexport const WarehouseAssignmentParamSchema = z.object({\n publicId: PublicIdSchema,\n assignmentPublicId: PublicIdSchema,\n});\n\nexport const WarehouseListQuerySchema = BaseListQuerySchema.extend({\n status: z.enum(WarehouseStatus).optional(),\n countryCode: z.string().trim().toUpperCase().length(2).optional(),\n city: z.string().trim().min(1).max(160).optional(),\n});\n\nexport const WarehouseUserSearchQuerySchema = z.object({\n search: z.string().trim().min(2).max(100),\n page: z.coerce.number().int().min(1).default(1),\n limit: z.coerce.number().int().min(1).max(20).default(20),\n});\n\nexport const AssignWarehouseUserRequestSchema = z.object({\n userUuid: z.string().trim().min(3).max(32),\n type: z.enum(WarehouseAssignmentType),\n});\n\nexport const WarehouseRequestLineInputSchema = z.object({\n variantPublicId: PublicIdSchema,\n quantity: z.number().int().positive().max(1_000_000_000),\n expiresAt: DateSchema.nullable().optional(),\n batchNumber: NullableTrimmedSchema(120),\n comment: NullableTrimmedSchema(1_000),\n});\n\nexport const CreateWarehouseOperationRequestSchema = z\n .object({\n type: z.enum(WarehouseRequestType),\n sourceWarehousePublicId: PublicIdSchema.nullable().optional(),\n destinationWarehousePublicId: PublicIdSchema.nullable().optional(),\n writeOffReason: z.enum(WarehouseWriteOffReason).nullable().optional(),\n comment: z.string().trim().max(2_000).nullable().optional(),\n lines: z.array(WarehouseRequestLineInputSchema).min(1).max(500),\n })\n .superRefine((value, context) => {\n const source = value.sourceWarehousePublicId ?? null;\n const destination = value.destinationWarehousePublicId ?? null;\n if (value.type === WarehouseRequestType.REPLENISHMENT) {\n if (!destination || source) {\n context.addIssue({\n code: 'custom',\n path: ['destinationWarehousePublicId'],\n message: 'Для пополнения нужен только склад назначения',\n });\n }\n value.lines.forEach((line, index) => {\n if (!line.expiresAt) {\n context.addIssue({\n code: 'custom',\n path: ['lines', index, 'expiresAt'],\n message: 'Срок годности поступления обязателен',\n });\n }\n });\n }\n if (value.type === WarehouseRequestType.WRITE_OFF) {\n if (!source || destination) {\n context.addIssue({\n code: 'custom',\n path: ['sourceWarehousePublicId'],\n message: 'Для списания нужен только исходный склад',\n });\n }\n if (!value.writeOffReason) {\n context.addIssue({\n code: 'custom',\n path: ['writeOffReason'],\n message: 'Причина списания обязательна',\n });\n }\n if (!value.comment?.trim()) {\n context.addIssue({\n code: 'custom',\n path: ['comment'],\n message: 'Комментарий к списанию обязателен',\n });\n }\n }\n if (value.type === WarehouseRequestType.TRANSFER) {\n if (!source || !destination || source === destination) {\n context.addIssue({\n code: 'custom',\n path: ['destinationWarehousePublicId'],\n message: 'Укажите разные исходный склад и склад назначения',\n });\n }\n }\n });\n\nexport const WarehouseOperationPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\n\nexport const WarehouseOperationAttachmentParamSchema = z.object({\n publicId: PublicIdSchema,\n attachmentPublicId: PublicIdSchema,\n});\n\nexport const WarehouseOperationListQuerySchema = BaseListQuerySchema.extend({\n type: z.enum(WarehouseRequestType).optional(),\n status: z.enum(WarehouseRequestStatus).optional(),\n warehousePublicId: PublicIdSchema.optional(),\n createdByUserId: z.coerce.number().int().positive().optional(),\n});\n\nexport const WarehouseOperationCommentSchema = z.object({\n comment: z.string().trim().max(2_000).nullable().optional(),\n});\n\nexport const RejectWarehouseOperationRequestSchema = z.object({\n comment: z.string().trim().min(1).max(2_000),\n});\n\nexport const ExecuteWarehouseOperationRequestSchema = z.object({\n idempotencyKey: z.uuid(),\n comment: z.string().trim().max(2_000).nullable().optional(),\n});\n\nexport const ReportWarehouseDiscrepancyRequestSchema = z.object({\n comment: z.string().trim().min(1).max(2_000),\n});\n\nexport const WarehouseStockListQuerySchema = BaseListQuerySchema.extend({\n warehousePublicId: PublicIdSchema.optional(),\n variantPublicId: PublicIdSchema.optional(),\n expired: z\n .union([z.boolean(), z.enum(['true', 'false']).transform((v) => v === 'true')])\n .optional(),\n expiresBefore: DateSchema.optional(),\n});\n\nexport const WarehouseSchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n name: z.string(),\n status: z.enum(WarehouseStatus),\n countryCode: z.string().length(2),\n country: z.string(),\n city: z.string(),\n address: z.string(),\n phoneNumber: z.string(),\n mapUrl: z.string(),\n timezone: z.string(),\n schedule: WarehouseWeeklyScheduleSchema,\n isPickupPoint: z.boolean(),\n version: z.number().int().positive(),\n createdAt: DateTimeSchema,\n updatedAt: DateTimeSchema,\n});\n\nexport const WarehouseUserLookupSchema = z.object({\n id: z.number().int().positive(),\n uuid: z.string(),\n login: z.string(),\n firstName: z.string(),\n lastName: z.string(),\n email: z.email(),\n role: z.string(),\n});\n\nexport const WarehouseAssignmentSchema = z.object({\n publicId: PublicIdSchema,\n warehousePublicId: PublicIdSchema,\n type: z.enum(WarehouseAssignmentType),\n user: WarehouseUserLookupSchema,\n assignedByLogin: z.string(),\n assignedAt: DateTimeSchema,\n});\n\nexport const WarehouseOperationLineSchema = z.object({\n publicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n sku: z.string(),\n quantity: z.number().int().positive(),\n expiresAt: DateSchema.nullable(),\n batchNumber: z.string().nullable(),\n comment: z.string().nullable(),\n});\n\nexport const WarehouseOperationEventSchema = z.object({\n publicId: PublicIdSchema,\n fromStatus: z.enum(WarehouseRequestStatus).nullable(),\n toStatus: z.enum(WarehouseRequestStatus),\n actorUserId: z.number().int().positive(),\n actorLogin: z.string(),\n comment: z.string().nullable(),\n createdAt: DateTimeSchema,\n});\n\nexport const WarehouseOperationAttachmentSchema = z.object({\n publicId: PublicIdSchema,\n mimeType: z.string(),\n sizeBytes: z.number().int().positive(),\n originalName: z.string().nullable(),\n uploadedByLogin: z.string(),\n contentUrl: z.string(),\n createdAt: DateTimeSchema,\n});\n\nexport const WarehouseOperationSchema = z.object({\n publicId: PublicIdSchema,\n type: z.enum(WarehouseRequestType),\n status: z.enum(WarehouseRequestStatus),\n sourceWarehouse: WarehouseSchema.nullable(),\n destinationWarehouse: WarehouseSchema.nullable(),\n writeOffReason: z.enum(WarehouseWriteOffReason).nullable(),\n comment: z.string().nullable(),\n rejectionComment: z.string().nullable(),\n createdByUserId: z.number().int().positive(),\n createdByLogin: z.string(),\n approvedByUserId: z.number().int().positive().nullable(),\n approvedByLogin: z.string().nullable(),\n approvedAt: DateTimeSchema.nullable(),\n completedByUserId: z.number().int().positive().nullable(),\n completedByLogin: z.string().nullable(),\n completedAt: DateTimeSchema.nullable(),\n version: z.number().int().positive(),\n lines: z.array(WarehouseOperationLineSchema),\n events: z.array(WarehouseOperationEventSchema),\n attachments: z.array(WarehouseOperationAttachmentSchema),\n createdAt: DateTimeSchema,\n updatedAt: DateTimeSchema,\n});\n\nexport const WarehouseStockSchema = z.object({\n publicId: PublicIdSchema,\n warehouse: WarehouseSchema,\n variantPublicId: PublicIdSchema,\n sku: z.string(),\n productPublicId: PublicIdSchema,\n productCode: z.string(),\n batchNumber: z.string().nullable(),\n expiresAt: DateSchema,\n onHand: z.number().int().nonnegative(),\n reserved: z.number().int().nonnegative(),\n available: z.number().int().nonnegative(),\n expired: z.boolean(),\n version: z.number().int().positive(),\n updatedAt: DateTimeSchema,\n});\n\nexport const WarehouseMovementSchema = z.object({\n publicId: PublicIdSchema,\n warehousePublicId: PublicIdSchema,\n operationPublicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n inventoryBatchPublicId: PublicIdSchema.nullable(),\n type: z.enum(WarehouseMovementType),\n quantityDelta: z.number().int(),\n balanceAfter: z.number().int().nonnegative(),\n actorUserId: z.number().int().positive(),\n actorLogin: z.string(),\n createdAt: DateTimeSchema,\n});\n","import { z } from 'zod';\nimport { CartSchema } from '../cart/cart.schemas';\nimport { ProductUnit } from '../catalog/catalog.enums';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport { WarehouseWeeklyScheduleSchema } from '../warehouse/warehouse.schemas';\nimport {\n OrderDeliveryMethod,\n OrderEventType,\n OrderNotificationType,\n OrderPaymentMethod,\n OrderPaymentStatus,\n OrderReceiptDecision,\n OrderReceiptStatus,\n OrderReservationStatus,\n OrderStatus,\n OrderStockAvailability,\n} from './order.enums';\n\nconst PublicIdSchema = z.uuid();\nconst DateTimeSchema = z.iso.datetime();\nconst MoneySchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\nconst DecimalSchema = z.string().regex(/^\\d{1,16}(?:\\.\\d{1,3})?$/);\nconst OrderNumberSchema = z.string().regex(/^AV-\\d{8}-[A-Z0-9]{6}$/);\n\nexport const CheckoutWarehouseQuerySchema = z.object({\n countryCode: z.string().trim().toUpperCase().length(2),\n city: z.string().trim().min(1).max(160),\n});\n\nexport const CheckoutLocationSchema = z.object({\n countryCode: z.string().length(2),\n country: z.string(),\n cities: z.array(z.string()).min(1),\n});\n\nexport const CheckoutSnapshotSchema = z.object({\n cart: CartSchema,\n locations: z.array(CheckoutLocationSchema),\n mainWallet: z.object({\n balanceUsd: MoneySchema,\n availableBalanceUsd: MoneySchema,\n }),\n paymentMethods: z.array(z.enum(OrderPaymentMethod)),\n reserveDurationHours: z.literal(24),\n});\n\nexport const CheckoutWarehouseAvailabilitySchema = z.object({\n variantPublicId: PublicIdSchema,\n requestedQuantity: z.number().int().positive(),\n availableQuantity: z.number().int().nonnegative(),\n availability: z.enum(OrderStockAvailability),\n});\n\nexport const CheckoutWarehouseSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string(),\n name: z.string(),\n countryCode: z.string().length(2),\n country: z.string(),\n city: z.string(),\n address: z.string(),\n phoneNumber: z.string(),\n mapUrl: z.url(),\n timezone: z.string(),\n schedule: WarehouseWeeklyScheduleSchema,\n canFulfill: z.boolean(),\n items: z.array(CheckoutWarehouseAvailabilitySchema),\n});\n\nexport const CheckoutWarehouseListSchema = z.array(CheckoutWarehouseSchema);\n\nexport const CreateOrderRequestSchema = z\n .object({\n warehousePublicId: PublicIdSchema,\n deliveryMethod: z.literal(OrderDeliveryMethod.PICKUP),\n paymentMethod: z.enum(OrderPaymentMethod),\n walletAmountUsd: MoneySchema.optional(),\n idempotencyKey: PublicIdSchema,\n })\n .superRefine((value, context) => {\n if (\n value.paymentMethod === OrderPaymentMethod.CASH &&\n value.walletAmountUsd\n ) {\n context.addIssue({\n code: 'custom',\n path: ['walletAmountUsd'],\n message: 'Для оплаты наличными сумма кошелька не передаётся',\n });\n }\n if (\n value.paymentMethod === OrderPaymentMethod.MAIN_WALLET &&\n (!value.walletAmountUsd || value.walletAmountUsd === '0.00')\n ) {\n context.addIssue({\n code: 'custom',\n path: ['walletAmountUsd'],\n message: 'Укажите сумму оплаты с основного кошелька',\n });\n }\n });\n\nexport const OrderPublicIdParamSchema = z.object({ publicId: PublicIdSchema });\n\nexport const MarkOrderReadyRequestSchema = z.object({\n version: z.number().int().positive(),\n});\n\nexport const CompleteOrderPickupRequestSchema = z.object({\n code: z.string().regex(/^\\d{6}$/),\n});\n\nexport const OrderReceiptParamSchema = z.object({\n publicId: PublicIdSchema,\n receiptPublicId: PublicIdSchema,\n});\n\nexport const OrderWarehouseSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string(),\n name: z.string(),\n countryCode: z.string().length(2),\n country: z.string(),\n city: z.string(),\n address: z.string(),\n phoneNumber: z.string(),\n mapUrl: z.url(),\n timezone: z.string(),\n schedule: WarehouseWeeklyScheduleSchema,\n});\n\nexport const OrderItemSchema = z.object({\n publicId: PublicIdSchema,\n productPublicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n productName: z.string(),\n sku: z.string(),\n variantQuantity: DecimalSchema,\n unit: z.enum(ProductUnit),\n quantity: z.number().int().positive(),\n unitPriceUsd: MoneySchema,\n lineTotalUsd: MoneySchema,\n unitPv: MoneySchema,\n lineTotalPv: MoneySchema,\n coverContentUrl: z.string().nullable(),\n});\n\nexport const OrderReceiptSchema = z.object({\n publicId: PublicIdSchema,\n status: z.enum(OrderReceiptStatus),\n originalName: z.string().nullable(),\n mimeType: z.string(),\n sizeBytes: z.number().int().positive(),\n version: z.number().int().positive(),\n rejectionReason: z.string().nullable(),\n reviewedAt: DateTimeSchema.nullable(),\n createdAt: DateTimeSchema,\n contentUrl: z.string(),\n});\n\nexport const OrderEventSchema = z.object({\n publicId: PublicIdSchema,\n type: z.enum(OrderEventType),\n actorLogin: z.string().nullable(),\n comment: z.string().nullable(),\n createdAt: DateTimeSchema,\n});\n\nexport const OrderSchema = z.object({\n publicId: PublicIdSchema,\n version: z.number().int().positive(),\n number: OrderNumberSchema,\n status: z.enum(OrderStatus),\n paymentStatus: z.enum(OrderPaymentStatus),\n deliveryMethod: z.enum(OrderDeliveryMethod),\n paymentMethod: z.enum(OrderPaymentMethod),\n locale: z.string().length(2),\n baseCurrencyCode: z.string().length(3),\n displayCurrencyCode: z.string().length(3),\n displayRate: z.string(),\n subtotalUsd: MoneySchema,\n totalPv: MoneySchema,\n walletPaidUsd: MoneySchema,\n walletRefundedUsd: MoneySchema,\n cashDueUsd: MoneySchema,\n reserveExpiresAt: DateTimeSchema.nullable(),\n paidAt: DateTimeSchema.nullable(),\n readyForPickupAt: DateTimeSchema.nullable(),\n completedAt: DateTimeSchema.nullable(),\n cancelledAt: DateTimeSchema.nullable(),\n cancellationReason: z.string().nullable(),\n warehouse: OrderWarehouseSchema,\n items: z.array(OrderItemSchema).min(1),\n receipts: z.array(OrderReceiptSchema),\n events: z.array(OrderEventSchema),\n pickupCode: z\n .string()\n .regex(/^\\d{6}$/)\n .nullable(),\n cashbackCredit: z\n .object({\n amountPv: MoneySchema,\n balanceBeforePv: MoneySchema,\n balanceAfterPv: MoneySchema,\n creditedAt: DateTimeSchema,\n })\n .nullable(),\n createdAt: DateTimeSchema,\n updatedAt: DateTimeSchema,\n});\n\nexport const OrderListItemSchema = OrderSchema.omit({\n receipts: true,\n events: true,\n pickupCode: true,\n cashbackCredit: true,\n});\n\nexport const OrderListQuerySchema = BaseListQuerySchema.extend({\n status: z.enum(OrderStatus).optional(),\n paymentStatus: z.enum(OrderPaymentStatus).optional(),\n});\n\nexport const OrderListResponseSchema = z.object({\n items: z.array(OrderListItemSchema),\n meta: z.object({\n page: z.number().int().positive(),\n limit: z.number().int().positive(),\n total: z.number().int().nonnegative(),\n pageCount: z.number().int().nonnegative(),\n }),\n});\n\nexport const WarehouseOrderReservationListQuerySchema =\n BaseListQuerySchema.extend({\n warehousePublicId: PublicIdSchema,\n reservationStatus: z.enum(OrderReservationStatus).optional(),\n });\n\nexport const WarehousePickupOrderListQuerySchema = BaseListQuerySchema.extend({\n warehousePublicId: PublicIdSchema,\n status: z\n .enum([OrderStatus.PROCESSING, OrderStatus.READY_FOR_PICKUP])\n .optional(),\n});\n\nexport const WarehouseOrderReservationSchema = z.object({\n publicId: PublicIdSchema,\n status: z.enum(OrderReservationStatus),\n quantity: z.number().int().positive(),\n createdAt: DateTimeSchema,\n releasedAt: DateTimeSchema.nullable(),\n fulfilledAt: DateTimeSchema.nullable(),\n reserveExpiresAt: DateTimeSchema.nullable(),\n releaseReason: z.string().nullable(),\n order: z.object({\n publicId: PublicIdSchema,\n number: OrderNumberSchema,\n status: z.enum(OrderStatus),\n paymentStatus: z.enum(OrderPaymentStatus),\n }),\n item: z.object({\n publicId: PublicIdSchema,\n productPublicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n productName: z.string(),\n sku: z.string(),\n coverContentUrl: z.string().nullable(),\n }),\n batch: z.object({\n publicId: PublicIdSchema,\n batchNumber: z.string().nullable(),\n expiresAt: z.iso.date(),\n }),\n});\n\nexport const WarehouseOrderReservationListResponseSchema = z.object({\n items: z.array(WarehouseOrderReservationSchema),\n meta: z.object({\n page: z.number().int().positive(),\n limit: z.number().int().positive(),\n total: z.number().int().nonnegative(),\n pageCount: z.number().int().nonnegative(),\n }),\n summary: z.object({\n activeQuantity: z.number().int().nonnegative(),\n activeReservations: z.number().int().nonnegative(),\n releasedReservations: z.number().int().nonnegative(),\n }),\n});\n\nexport const ReviewOrderReceiptRequestSchema = z\n .object({\n decision: z.enum(OrderReceiptDecision),\n version: z.number().int().positive(),\n rejectionReason: z.string().trim().min(1).max(2_000).optional(),\n })\n .superRefine((value, context) => {\n if (\n value.decision === OrderReceiptDecision.REJECT &&\n !value.rejectionReason\n ) {\n context.addIssue({\n code: 'custom',\n path: ['rejectionReason'],\n message: 'Причина отклонения обязательна',\n });\n }\n if (\n value.decision === OrderReceiptDecision.APPROVE &&\n value.rejectionReason\n ) {\n context.addIssue({\n code: 'custom',\n path: ['rejectionReason'],\n message: 'Причина не передаётся при подтверждении',\n });\n }\n });\n\nexport const OrderNotificationSchema = z.object({\n publicId: PublicIdSchema,\n orderPublicId: PublicIdSchema,\n orderNumber: OrderNumberSchema,\n type: z.enum(OrderNotificationType),\n pickupCode: z\n .string()\n .regex(/^\\d{6}$/)\n .nullable(),\n isRead: z.boolean(),\n createdAt: DateTimeSchema,\n});\n\nexport const OrderNotificationListSchema = z.array(OrderNotificationSchema);\n"]}
|
package/dist/order/index.mjs
CHANGED
|
@@ -43,6 +43,12 @@ var OrderStockAvailability = /* @__PURE__ */ ((OrderStockAvailability2) => {
|
|
|
43
43
|
OrderStockAvailability2["INSUFFICIENT_STOCK"] = "INSUFFICIENT_STOCK";
|
|
44
44
|
return OrderStockAvailability2;
|
|
45
45
|
})(OrderStockAvailability || {});
|
|
46
|
+
var OrderReservationStatus = /* @__PURE__ */ ((OrderReservationStatus2) => {
|
|
47
|
+
OrderReservationStatus2["ACTIVE"] = "ACTIVE";
|
|
48
|
+
OrderReservationStatus2["RELEASED"] = "RELEASED";
|
|
49
|
+
OrderReservationStatus2["FULFILLED"] = "FULFILLED";
|
|
50
|
+
return OrderReservationStatus2;
|
|
51
|
+
})(OrderReservationStatus || {});
|
|
46
52
|
var OrderEventType = /* @__PURE__ */ ((OrderEventType2) => {
|
|
47
53
|
OrderEventType2["CREATED"] = "CREATED";
|
|
48
54
|
OrderEventType2["WALLET_DEBITED"] = "WALLET_DEBITED";
|
|
@@ -51,6 +57,10 @@ var OrderEventType = /* @__PURE__ */ ((OrderEventType2) => {
|
|
|
51
57
|
OrderEventType2["PAYMENT_REJECTED"] = "PAYMENT_REJECTED";
|
|
52
58
|
OrderEventType2["CANCELLED_TIMEOUT"] = "CANCELLED_TIMEOUT";
|
|
53
59
|
OrderEventType2["WALLET_REFUNDED"] = "WALLET_REFUNDED";
|
|
60
|
+
OrderEventType2["READY_FOR_PICKUP"] = "READY_FOR_PICKUP";
|
|
61
|
+
OrderEventType2["PICKUP_CODE_FAILED"] = "PICKUP_CODE_FAILED";
|
|
62
|
+
OrderEventType2["COMPLETED"] = "COMPLETED";
|
|
63
|
+
OrderEventType2["CASHBACK_CREDITED"] = "CASHBACK_CREDITED";
|
|
54
64
|
return OrderEventType2;
|
|
55
65
|
})(OrderEventType || {});
|
|
56
66
|
var OrderNotificationType = /* @__PURE__ */ ((OrderNotificationType2) => {
|
|
@@ -59,6 +69,8 @@ var OrderNotificationType = /* @__PURE__ */ ((OrderNotificationType2) => {
|
|
|
59
69
|
OrderNotificationType2["PAYMENT_APPROVED"] = "PAYMENT_APPROVED";
|
|
60
70
|
OrderNotificationType2["PAYMENT_REJECTED"] = "PAYMENT_REJECTED";
|
|
61
71
|
OrderNotificationType2["ORDER_CANCELLED"] = "ORDER_CANCELLED";
|
|
72
|
+
OrderNotificationType2["ORDER_READY_FOR_PICKUP"] = "ORDER_READY_FOR_PICKUP";
|
|
73
|
+
OrderNotificationType2["ORDER_COMPLETED"] = "ORDER_COMPLETED";
|
|
62
74
|
return OrderNotificationType2;
|
|
63
75
|
})(OrderNotificationType || {});
|
|
64
76
|
|
|
@@ -560,6 +572,12 @@ var CreateOrderRequestSchema = z.object({
|
|
|
560
572
|
}
|
|
561
573
|
});
|
|
562
574
|
var OrderPublicIdParamSchema = z.object({ publicId: PublicIdSchema3 });
|
|
575
|
+
var MarkOrderReadyRequestSchema = z.object({
|
|
576
|
+
version: z.number().int().positive()
|
|
577
|
+
});
|
|
578
|
+
var CompleteOrderPickupRequestSchema = z.object({
|
|
579
|
+
code: z.string().regex(/^\d{6}$/)
|
|
580
|
+
});
|
|
563
581
|
var OrderReceiptParamSchema = z.object({
|
|
564
582
|
publicId: PublicIdSchema3,
|
|
565
583
|
receiptPublicId: PublicIdSchema3
|
|
@@ -613,6 +631,7 @@ var OrderEventSchema = z.object({
|
|
|
613
631
|
});
|
|
614
632
|
var OrderSchema = z.object({
|
|
615
633
|
publicId: PublicIdSchema3,
|
|
634
|
+
version: z.number().int().positive(),
|
|
616
635
|
number: OrderNumberSchema,
|
|
617
636
|
status: z.enum(OrderStatus),
|
|
618
637
|
paymentStatus: z.enum(OrderPaymentStatus),
|
|
@@ -629,18 +648,29 @@ var OrderSchema = z.object({
|
|
|
629
648
|
cashDueUsd: MoneySchema,
|
|
630
649
|
reserveExpiresAt: DateTimeSchema2.nullable(),
|
|
631
650
|
paidAt: DateTimeSchema2.nullable(),
|
|
651
|
+
readyForPickupAt: DateTimeSchema2.nullable(),
|
|
652
|
+
completedAt: DateTimeSchema2.nullable(),
|
|
632
653
|
cancelledAt: DateTimeSchema2.nullable(),
|
|
633
654
|
cancellationReason: z.string().nullable(),
|
|
634
655
|
warehouse: OrderWarehouseSchema,
|
|
635
656
|
items: z.array(OrderItemSchema).min(1),
|
|
636
657
|
receipts: z.array(OrderReceiptSchema),
|
|
637
658
|
events: z.array(OrderEventSchema),
|
|
659
|
+
pickupCode: z.string().regex(/^\d{6}$/).nullable(),
|
|
660
|
+
cashbackCredit: z.object({
|
|
661
|
+
amountPv: MoneySchema,
|
|
662
|
+
balanceBeforePv: MoneySchema,
|
|
663
|
+
balanceAfterPv: MoneySchema,
|
|
664
|
+
creditedAt: DateTimeSchema2
|
|
665
|
+
}).nullable(),
|
|
638
666
|
createdAt: DateTimeSchema2,
|
|
639
667
|
updatedAt: DateTimeSchema2
|
|
640
668
|
});
|
|
641
669
|
var OrderListItemSchema = OrderSchema.omit({
|
|
642
670
|
receipts: true,
|
|
643
|
-
events: true
|
|
671
|
+
events: true,
|
|
672
|
+
pickupCode: true,
|
|
673
|
+
cashbackCredit: true
|
|
644
674
|
});
|
|
645
675
|
var OrderListQuerySchema = BaseListQuerySchema.extend({
|
|
646
676
|
status: z.enum(OrderStatus).optional(),
|
|
@@ -655,6 +685,57 @@ var OrderListResponseSchema = z.object({
|
|
|
655
685
|
pageCount: z.number().int().nonnegative()
|
|
656
686
|
})
|
|
657
687
|
});
|
|
688
|
+
var WarehouseOrderReservationListQuerySchema = BaseListQuerySchema.extend({
|
|
689
|
+
warehousePublicId: PublicIdSchema3,
|
|
690
|
+
reservationStatus: z.enum(OrderReservationStatus).optional()
|
|
691
|
+
});
|
|
692
|
+
var WarehousePickupOrderListQuerySchema = BaseListQuerySchema.extend({
|
|
693
|
+
warehousePublicId: PublicIdSchema3,
|
|
694
|
+
status: z.enum(["PROCESSING" /* PROCESSING */, "READY_FOR_PICKUP" /* READY_FOR_PICKUP */]).optional()
|
|
695
|
+
});
|
|
696
|
+
var WarehouseOrderReservationSchema = z.object({
|
|
697
|
+
publicId: PublicIdSchema3,
|
|
698
|
+
status: z.enum(OrderReservationStatus),
|
|
699
|
+
quantity: z.number().int().positive(),
|
|
700
|
+
createdAt: DateTimeSchema2,
|
|
701
|
+
releasedAt: DateTimeSchema2.nullable(),
|
|
702
|
+
fulfilledAt: DateTimeSchema2.nullable(),
|
|
703
|
+
reserveExpiresAt: DateTimeSchema2.nullable(),
|
|
704
|
+
releaseReason: z.string().nullable(),
|
|
705
|
+
order: z.object({
|
|
706
|
+
publicId: PublicIdSchema3,
|
|
707
|
+
number: OrderNumberSchema,
|
|
708
|
+
status: z.enum(OrderStatus),
|
|
709
|
+
paymentStatus: z.enum(OrderPaymentStatus)
|
|
710
|
+
}),
|
|
711
|
+
item: z.object({
|
|
712
|
+
publicId: PublicIdSchema3,
|
|
713
|
+
productPublicId: PublicIdSchema3,
|
|
714
|
+
variantPublicId: PublicIdSchema3,
|
|
715
|
+
productName: z.string(),
|
|
716
|
+
sku: z.string(),
|
|
717
|
+
coverContentUrl: z.string().nullable()
|
|
718
|
+
}),
|
|
719
|
+
batch: z.object({
|
|
720
|
+
publicId: PublicIdSchema3,
|
|
721
|
+
batchNumber: z.string().nullable(),
|
|
722
|
+
expiresAt: z.iso.date()
|
|
723
|
+
})
|
|
724
|
+
});
|
|
725
|
+
var WarehouseOrderReservationListResponseSchema = z.object({
|
|
726
|
+
items: z.array(WarehouseOrderReservationSchema),
|
|
727
|
+
meta: z.object({
|
|
728
|
+
page: z.number().int().positive(),
|
|
729
|
+
limit: z.number().int().positive(),
|
|
730
|
+
total: z.number().int().nonnegative(),
|
|
731
|
+
pageCount: z.number().int().nonnegative()
|
|
732
|
+
}),
|
|
733
|
+
summary: z.object({
|
|
734
|
+
activeQuantity: z.number().int().nonnegative(),
|
|
735
|
+
activeReservations: z.number().int().nonnegative(),
|
|
736
|
+
releasedReservations: z.number().int().nonnegative()
|
|
737
|
+
})
|
|
738
|
+
});
|
|
658
739
|
var ReviewOrderReceiptRequestSchema = z.object({
|
|
659
740
|
decision: z.enum(OrderReceiptDecision),
|
|
660
741
|
version: z.number().int().positive(),
|
|
@@ -680,11 +761,12 @@ var OrderNotificationSchema = z.object({
|
|
|
680
761
|
orderPublicId: PublicIdSchema3,
|
|
681
762
|
orderNumber: OrderNumberSchema,
|
|
682
763
|
type: z.enum(OrderNotificationType),
|
|
764
|
+
pickupCode: z.string().regex(/^\d{6}$/).nullable(),
|
|
683
765
|
isRead: z.boolean(),
|
|
684
766
|
createdAt: DateTimeSchema2
|
|
685
767
|
});
|
|
686
768
|
var OrderNotificationListSchema = z.array(OrderNotificationSchema);
|
|
687
769
|
|
|
688
|
-
export { CheckoutLocationSchema, CheckoutSnapshotSchema, CheckoutWarehouseAvailabilitySchema, CheckoutWarehouseListSchema, CheckoutWarehouseQuerySchema, CheckoutWarehouseSchema, CreateOrderRequestSchema, OrderDeliveryMethod, OrderEventSchema, OrderEventType, OrderItemSchema, OrderListItemSchema, OrderListQuerySchema, OrderListResponseSchema, OrderNotificationListSchema, OrderNotificationSchema, OrderNotificationType, OrderPaymentMethod, OrderPaymentStatus, OrderPublicIdParamSchema, OrderReceiptDecision, OrderReceiptParamSchema, OrderReceiptSchema, OrderReceiptStatus, OrderSchema, OrderStatus, OrderStockAvailability, OrderWarehouseSchema, ReviewOrderReceiptRequestSchema };
|
|
770
|
+
export { CheckoutLocationSchema, CheckoutSnapshotSchema, CheckoutWarehouseAvailabilitySchema, CheckoutWarehouseListSchema, CheckoutWarehouseQuerySchema, CheckoutWarehouseSchema, CompleteOrderPickupRequestSchema, CreateOrderRequestSchema, MarkOrderReadyRequestSchema, OrderDeliveryMethod, OrderEventSchema, OrderEventType, OrderItemSchema, OrderListItemSchema, OrderListQuerySchema, OrderListResponseSchema, OrderNotificationListSchema, OrderNotificationSchema, OrderNotificationType, OrderPaymentMethod, OrderPaymentStatus, OrderPublicIdParamSchema, OrderReceiptDecision, OrderReceiptParamSchema, OrderReceiptSchema, OrderReceiptStatus, OrderReservationStatus, OrderSchema, OrderStatus, OrderStockAvailability, OrderWarehouseSchema, ReviewOrderReceiptRequestSchema, WarehouseOrderReservationListQuerySchema, WarehouseOrderReservationListResponseSchema, WarehouseOrderReservationSchema, WarehousePickupOrderListQuerySchema };
|
|
689
771
|
//# sourceMappingURL=index.mjs.map
|
|
690
772
|
//# sourceMappingURL=index.mjs.map
|