aivilife-contracts 5.2.0 → 5.3.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.
@@ -36,6 +36,10 @@ declare enum OrderStockAvailability {
36
36
  OUT_OF_STOCK = "OUT_OF_STOCK",
37
37
  INSUFFICIENT_STOCK = "INSUFFICIENT_STOCK"
38
38
  }
39
+ declare enum OrderReservationStatus {
40
+ ACTIVE = "ACTIVE",
41
+ RELEASED = "RELEASED"
42
+ }
39
43
  declare enum OrderEventType {
40
44
  CREATED = "CREATED",
41
45
  WALLET_DEBITED = "WALLET_DEBITED",
@@ -504,6 +508,88 @@ declare const OrderListResponseSchema: z.ZodObject<{
504
508
  pageCount: z.ZodNumber;
505
509
  }, z.core.$strip>;
506
510
  }, z.core.$strip>;
511
+ declare const WarehouseOrderReservationListQuerySchema: z.ZodObject<{
512
+ page: z.ZodOptional<z.ZodDefault<z.ZodCoercedNumber<unknown>>>;
513
+ limit: z.ZodOptional<z.ZodDefault<z.ZodCoercedNumber<unknown>>>;
514
+ search: z.ZodOptional<z.ZodString>;
515
+ dateFrom: z.ZodOptional<z.ZodString>;
516
+ dateTo: z.ZodOptional<z.ZodString>;
517
+ sortOrder: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
518
+ asc: "asc";
519
+ desc: "desc";
520
+ }>>>;
521
+ warehousePublicId: z.ZodUUID;
522
+ reservationStatus: z.ZodOptional<z.ZodEnum<typeof OrderReservationStatus>>;
523
+ }, z.core.$strip>;
524
+ declare const WarehouseOrderReservationSchema: z.ZodObject<{
525
+ publicId: z.ZodUUID;
526
+ status: z.ZodEnum<typeof OrderReservationStatus>;
527
+ quantity: z.ZodNumber;
528
+ createdAt: z.ZodISODateTime;
529
+ releasedAt: z.ZodNullable<z.ZodISODateTime>;
530
+ reserveExpiresAt: z.ZodNullable<z.ZodISODateTime>;
531
+ releaseReason: z.ZodNullable<z.ZodString>;
532
+ order: z.ZodObject<{
533
+ publicId: z.ZodUUID;
534
+ number: z.ZodString;
535
+ status: z.ZodEnum<typeof OrderStatus>;
536
+ paymentStatus: z.ZodEnum<typeof OrderPaymentStatus>;
537
+ }, z.core.$strip>;
538
+ item: z.ZodObject<{
539
+ publicId: z.ZodUUID;
540
+ productPublicId: z.ZodUUID;
541
+ variantPublicId: z.ZodUUID;
542
+ productName: z.ZodString;
543
+ sku: z.ZodString;
544
+ coverContentUrl: z.ZodNullable<z.ZodString>;
545
+ }, z.core.$strip>;
546
+ batch: z.ZodObject<{
547
+ publicId: z.ZodUUID;
548
+ batchNumber: z.ZodNullable<z.ZodString>;
549
+ expiresAt: z.ZodISODate;
550
+ }, z.core.$strip>;
551
+ }, z.core.$strip>;
552
+ declare const WarehouseOrderReservationListResponseSchema: z.ZodObject<{
553
+ items: z.ZodArray<z.ZodObject<{
554
+ publicId: z.ZodUUID;
555
+ status: z.ZodEnum<typeof OrderReservationStatus>;
556
+ quantity: z.ZodNumber;
557
+ createdAt: z.ZodISODateTime;
558
+ releasedAt: z.ZodNullable<z.ZodISODateTime>;
559
+ reserveExpiresAt: z.ZodNullable<z.ZodISODateTime>;
560
+ releaseReason: z.ZodNullable<z.ZodString>;
561
+ order: z.ZodObject<{
562
+ publicId: z.ZodUUID;
563
+ number: z.ZodString;
564
+ status: z.ZodEnum<typeof OrderStatus>;
565
+ paymentStatus: z.ZodEnum<typeof OrderPaymentStatus>;
566
+ }, z.core.$strip>;
567
+ item: z.ZodObject<{
568
+ publicId: z.ZodUUID;
569
+ productPublicId: z.ZodUUID;
570
+ variantPublicId: z.ZodUUID;
571
+ productName: z.ZodString;
572
+ sku: z.ZodString;
573
+ coverContentUrl: z.ZodNullable<z.ZodString>;
574
+ }, z.core.$strip>;
575
+ batch: z.ZodObject<{
576
+ publicId: z.ZodUUID;
577
+ batchNumber: z.ZodNullable<z.ZodString>;
578
+ expiresAt: z.ZodISODate;
579
+ }, z.core.$strip>;
580
+ }, z.core.$strip>>;
581
+ meta: z.ZodObject<{
582
+ page: z.ZodNumber;
583
+ limit: z.ZodNumber;
584
+ total: z.ZodNumber;
585
+ pageCount: z.ZodNumber;
586
+ }, z.core.$strip>;
587
+ summary: z.ZodObject<{
588
+ activeQuantity: z.ZodNumber;
589
+ activeReservations: z.ZodNumber;
590
+ releasedReservations: z.ZodNumber;
591
+ }, z.core.$strip>;
592
+ }, z.core.$strip>;
507
593
  declare const ReviewOrderReceiptRequestSchema: z.ZodObject<{
508
594
  decision: z.ZodEnum<typeof OrderReceiptDecision>;
509
595
  version: z.ZodNumber;
@@ -538,5 +624,8 @@ type OrderListResponse = z.infer<typeof OrderListResponseSchema>;
538
624
  type ReviewOrderReceiptRequest = z.infer<typeof ReviewOrderReceiptRequestSchema>;
539
625
  type OrderNotificationResponse = z.infer<typeof OrderNotificationSchema>;
540
626
  type OrderNotificationListResponse = z.infer<typeof OrderNotificationListSchema>;
627
+ type WarehouseOrderReservationListQuery = z.infer<typeof WarehouseOrderReservationListQuerySchema>;
628
+ type WarehouseOrderReservationResponse = z.infer<typeof WarehouseOrderReservationSchema>;
629
+ type WarehouseOrderReservationListResponse = z.infer<typeof WarehouseOrderReservationListResponseSchema>;
541
630
 
542
- export { type CheckoutLocationResponse, CheckoutLocationSchema, type CheckoutSnapshotResponse, CheckoutSnapshotSchema, CheckoutWarehouseAvailabilitySchema, type CheckoutWarehouseListResponse, CheckoutWarehouseListSchema, type CheckoutWarehouseQuery, CheckoutWarehouseQuerySchema, CheckoutWarehouseSchema, type CreateOrderRequest, CreateOrderRequestSchema, OrderDeliveryMethod, OrderEventSchema, OrderEventType, OrderItemSchema, type OrderListItemResponse, OrderListItemSchema, type OrderListQuery, OrderListQuerySchema, type OrderListResponse, OrderListResponseSchema, type OrderNotificationListResponse, OrderNotificationListSchema, type OrderNotificationResponse, OrderNotificationSchema, OrderNotificationType, OrderPaymentMethod, OrderPaymentStatus, OrderPublicIdParamSchema, OrderReceiptDecision, OrderReceiptParamSchema, OrderReceiptSchema, OrderReceiptStatus, type OrderResponse, OrderSchema, OrderStatus, OrderStockAvailability, OrderWarehouseSchema, type ReviewOrderReceiptRequest, ReviewOrderReceiptRequestSchema };
631
+ export { type CheckoutLocationResponse, CheckoutLocationSchema, type CheckoutSnapshotResponse, CheckoutSnapshotSchema, CheckoutWarehouseAvailabilitySchema, type CheckoutWarehouseListResponse, CheckoutWarehouseListSchema, type CheckoutWarehouseQuery, CheckoutWarehouseQuerySchema, CheckoutWarehouseSchema, type CreateOrderRequest, CreateOrderRequestSchema, OrderDeliveryMethod, OrderEventSchema, OrderEventType, OrderItemSchema, type OrderListItemResponse, OrderListItemSchema, type OrderListQuery, OrderListQuerySchema, type OrderListResponse, OrderListResponseSchema, type OrderNotificationListResponse, OrderNotificationListSchema, type OrderNotificationResponse, OrderNotificationSchema, OrderNotificationType, OrderPaymentMethod, OrderPaymentStatus, OrderPublicIdParamSchema, OrderReceiptDecision, OrderReceiptParamSchema, OrderReceiptSchema, OrderReceiptStatus, OrderReservationStatus, type OrderResponse, OrderSchema, OrderStatus, OrderStockAvailability, OrderWarehouseSchema, type ReviewOrderReceiptRequest, ReviewOrderReceiptRequestSchema, type WarehouseOrderReservationListQuery, WarehouseOrderReservationListQuerySchema, type WarehouseOrderReservationListResponse, WarehouseOrderReservationListResponseSchema, type WarehouseOrderReservationResponse, WarehouseOrderReservationSchema };
@@ -36,6 +36,10 @@ declare enum OrderStockAvailability {
36
36
  OUT_OF_STOCK = "OUT_OF_STOCK",
37
37
  INSUFFICIENT_STOCK = "INSUFFICIENT_STOCK"
38
38
  }
39
+ declare enum OrderReservationStatus {
40
+ ACTIVE = "ACTIVE",
41
+ RELEASED = "RELEASED"
42
+ }
39
43
  declare enum OrderEventType {
40
44
  CREATED = "CREATED",
41
45
  WALLET_DEBITED = "WALLET_DEBITED",
@@ -504,6 +508,88 @@ declare const OrderListResponseSchema: z.ZodObject<{
504
508
  pageCount: z.ZodNumber;
505
509
  }, z.core.$strip>;
506
510
  }, z.core.$strip>;
511
+ declare const WarehouseOrderReservationListQuerySchema: z.ZodObject<{
512
+ page: z.ZodOptional<z.ZodDefault<z.ZodCoercedNumber<unknown>>>;
513
+ limit: z.ZodOptional<z.ZodDefault<z.ZodCoercedNumber<unknown>>>;
514
+ search: z.ZodOptional<z.ZodString>;
515
+ dateFrom: z.ZodOptional<z.ZodString>;
516
+ dateTo: z.ZodOptional<z.ZodString>;
517
+ sortOrder: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
518
+ asc: "asc";
519
+ desc: "desc";
520
+ }>>>;
521
+ warehousePublicId: z.ZodUUID;
522
+ reservationStatus: z.ZodOptional<z.ZodEnum<typeof OrderReservationStatus>>;
523
+ }, z.core.$strip>;
524
+ declare const WarehouseOrderReservationSchema: z.ZodObject<{
525
+ publicId: z.ZodUUID;
526
+ status: z.ZodEnum<typeof OrderReservationStatus>;
527
+ quantity: z.ZodNumber;
528
+ createdAt: z.ZodISODateTime;
529
+ releasedAt: z.ZodNullable<z.ZodISODateTime>;
530
+ reserveExpiresAt: z.ZodNullable<z.ZodISODateTime>;
531
+ releaseReason: z.ZodNullable<z.ZodString>;
532
+ order: z.ZodObject<{
533
+ publicId: z.ZodUUID;
534
+ number: z.ZodString;
535
+ status: z.ZodEnum<typeof OrderStatus>;
536
+ paymentStatus: z.ZodEnum<typeof OrderPaymentStatus>;
537
+ }, z.core.$strip>;
538
+ item: z.ZodObject<{
539
+ publicId: z.ZodUUID;
540
+ productPublicId: z.ZodUUID;
541
+ variantPublicId: z.ZodUUID;
542
+ productName: z.ZodString;
543
+ sku: z.ZodString;
544
+ coverContentUrl: z.ZodNullable<z.ZodString>;
545
+ }, z.core.$strip>;
546
+ batch: z.ZodObject<{
547
+ publicId: z.ZodUUID;
548
+ batchNumber: z.ZodNullable<z.ZodString>;
549
+ expiresAt: z.ZodISODate;
550
+ }, z.core.$strip>;
551
+ }, z.core.$strip>;
552
+ declare const WarehouseOrderReservationListResponseSchema: z.ZodObject<{
553
+ items: z.ZodArray<z.ZodObject<{
554
+ publicId: z.ZodUUID;
555
+ status: z.ZodEnum<typeof OrderReservationStatus>;
556
+ quantity: z.ZodNumber;
557
+ createdAt: z.ZodISODateTime;
558
+ releasedAt: z.ZodNullable<z.ZodISODateTime>;
559
+ reserveExpiresAt: z.ZodNullable<z.ZodISODateTime>;
560
+ releaseReason: z.ZodNullable<z.ZodString>;
561
+ order: z.ZodObject<{
562
+ publicId: z.ZodUUID;
563
+ number: z.ZodString;
564
+ status: z.ZodEnum<typeof OrderStatus>;
565
+ paymentStatus: z.ZodEnum<typeof OrderPaymentStatus>;
566
+ }, z.core.$strip>;
567
+ item: z.ZodObject<{
568
+ publicId: z.ZodUUID;
569
+ productPublicId: z.ZodUUID;
570
+ variantPublicId: z.ZodUUID;
571
+ productName: z.ZodString;
572
+ sku: z.ZodString;
573
+ coverContentUrl: z.ZodNullable<z.ZodString>;
574
+ }, z.core.$strip>;
575
+ batch: z.ZodObject<{
576
+ publicId: z.ZodUUID;
577
+ batchNumber: z.ZodNullable<z.ZodString>;
578
+ expiresAt: z.ZodISODate;
579
+ }, z.core.$strip>;
580
+ }, z.core.$strip>>;
581
+ meta: z.ZodObject<{
582
+ page: z.ZodNumber;
583
+ limit: z.ZodNumber;
584
+ total: z.ZodNumber;
585
+ pageCount: z.ZodNumber;
586
+ }, z.core.$strip>;
587
+ summary: z.ZodObject<{
588
+ activeQuantity: z.ZodNumber;
589
+ activeReservations: z.ZodNumber;
590
+ releasedReservations: z.ZodNumber;
591
+ }, z.core.$strip>;
592
+ }, z.core.$strip>;
507
593
  declare const ReviewOrderReceiptRequestSchema: z.ZodObject<{
508
594
  decision: z.ZodEnum<typeof OrderReceiptDecision>;
509
595
  version: z.ZodNumber;
@@ -538,5 +624,8 @@ type OrderListResponse = z.infer<typeof OrderListResponseSchema>;
538
624
  type ReviewOrderReceiptRequest = z.infer<typeof ReviewOrderReceiptRequestSchema>;
539
625
  type OrderNotificationResponse = z.infer<typeof OrderNotificationSchema>;
540
626
  type OrderNotificationListResponse = z.infer<typeof OrderNotificationListSchema>;
627
+ type WarehouseOrderReservationListQuery = z.infer<typeof WarehouseOrderReservationListQuerySchema>;
628
+ type WarehouseOrderReservationResponse = z.infer<typeof WarehouseOrderReservationSchema>;
629
+ type WarehouseOrderReservationListResponse = z.infer<typeof WarehouseOrderReservationListResponseSchema>;
541
630
 
542
- export { type CheckoutLocationResponse, CheckoutLocationSchema, type CheckoutSnapshotResponse, CheckoutSnapshotSchema, CheckoutWarehouseAvailabilitySchema, type CheckoutWarehouseListResponse, CheckoutWarehouseListSchema, type CheckoutWarehouseQuery, CheckoutWarehouseQuerySchema, CheckoutWarehouseSchema, type CreateOrderRequest, CreateOrderRequestSchema, OrderDeliveryMethod, OrderEventSchema, OrderEventType, OrderItemSchema, type OrderListItemResponse, OrderListItemSchema, type OrderListQuery, OrderListQuerySchema, type OrderListResponse, OrderListResponseSchema, type OrderNotificationListResponse, OrderNotificationListSchema, type OrderNotificationResponse, OrderNotificationSchema, OrderNotificationType, OrderPaymentMethod, OrderPaymentStatus, OrderPublicIdParamSchema, OrderReceiptDecision, OrderReceiptParamSchema, OrderReceiptSchema, OrderReceiptStatus, type OrderResponse, OrderSchema, OrderStatus, OrderStockAvailability, OrderWarehouseSchema, type ReviewOrderReceiptRequest, ReviewOrderReceiptRequestSchema };
631
+ export { type CheckoutLocationResponse, CheckoutLocationSchema, type CheckoutSnapshotResponse, CheckoutSnapshotSchema, CheckoutWarehouseAvailabilitySchema, type CheckoutWarehouseListResponse, CheckoutWarehouseListSchema, type CheckoutWarehouseQuery, CheckoutWarehouseQuerySchema, CheckoutWarehouseSchema, type CreateOrderRequest, CreateOrderRequestSchema, OrderDeliveryMethod, OrderEventSchema, OrderEventType, OrderItemSchema, type OrderListItemResponse, OrderListItemSchema, type OrderListQuery, OrderListQuerySchema, type OrderListResponse, OrderListResponseSchema, type OrderNotificationListResponse, OrderNotificationListSchema, type OrderNotificationResponse, OrderNotificationSchema, OrderNotificationType, OrderPaymentMethod, OrderPaymentStatus, OrderPublicIdParamSchema, OrderReceiptDecision, OrderReceiptParamSchema, OrderReceiptSchema, OrderReceiptStatus, OrderReservationStatus, type OrderResponse, OrderSchema, OrderStatus, OrderStockAvailability, OrderWarehouseSchema, type ReviewOrderReceiptRequest, ReviewOrderReceiptRequestSchema, type WarehouseOrderReservationListQuery, WarehouseOrderReservationListQuerySchema, type WarehouseOrderReservationListResponse, WarehouseOrderReservationListResponseSchema, type WarehouseOrderReservationResponse, WarehouseOrderReservationSchema };
@@ -45,6 +45,11 @@ 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
+ return OrderReservationStatus2;
52
+ })(OrderReservationStatus || {});
48
53
  var OrderEventType = /* @__PURE__ */ ((OrderEventType2) => {
49
54
  OrderEventType2["CREATED"] = "CREATED";
50
55
  OrderEventType2["WALLET_DEBITED"] = "WALLET_DEBITED";
@@ -657,6 +662,52 @@ var OrderListResponseSchema = zod.z.object({
657
662
  pageCount: zod.z.number().int().nonnegative()
658
663
  })
659
664
  });
665
+ var WarehouseOrderReservationListQuerySchema = BaseListQuerySchema.extend({
666
+ warehousePublicId: PublicIdSchema3,
667
+ reservationStatus: zod.z.enum(OrderReservationStatus).optional()
668
+ });
669
+ var WarehouseOrderReservationSchema = zod.z.object({
670
+ publicId: PublicIdSchema3,
671
+ status: zod.z.enum(OrderReservationStatus),
672
+ quantity: zod.z.number().int().positive(),
673
+ createdAt: DateTimeSchema2,
674
+ releasedAt: DateTimeSchema2.nullable(),
675
+ reserveExpiresAt: DateTimeSchema2.nullable(),
676
+ releaseReason: zod.z.string().nullable(),
677
+ order: zod.z.object({
678
+ publicId: PublicIdSchema3,
679
+ number: OrderNumberSchema,
680
+ status: zod.z.enum(OrderStatus),
681
+ paymentStatus: zod.z.enum(OrderPaymentStatus)
682
+ }),
683
+ item: zod.z.object({
684
+ publicId: PublicIdSchema3,
685
+ productPublicId: PublicIdSchema3,
686
+ variantPublicId: PublicIdSchema3,
687
+ productName: zod.z.string(),
688
+ sku: zod.z.string(),
689
+ coverContentUrl: zod.z.string().nullable()
690
+ }),
691
+ batch: zod.z.object({
692
+ publicId: PublicIdSchema3,
693
+ batchNumber: zod.z.string().nullable(),
694
+ expiresAt: zod.z.iso.date()
695
+ })
696
+ });
697
+ var WarehouseOrderReservationListResponseSchema = zod.z.object({
698
+ items: zod.z.array(WarehouseOrderReservationSchema),
699
+ meta: zod.z.object({
700
+ page: zod.z.number().int().positive(),
701
+ limit: zod.z.number().int().positive(),
702
+ total: zod.z.number().int().nonnegative(),
703
+ pageCount: zod.z.number().int().nonnegative()
704
+ }),
705
+ summary: zod.z.object({
706
+ activeQuantity: zod.z.number().int().nonnegative(),
707
+ activeReservations: zod.z.number().int().nonnegative(),
708
+ releasedReservations: zod.z.number().int().nonnegative()
709
+ })
710
+ });
660
711
  var ReviewOrderReceiptRequestSchema = zod.z.object({
661
712
  decision: zod.z.enum(OrderReceiptDecision),
662
713
  version: zod.z.number().int().positive(),
@@ -711,10 +762,14 @@ exports.OrderReceiptDecision = OrderReceiptDecision;
711
762
  exports.OrderReceiptParamSchema = OrderReceiptParamSchema;
712
763
  exports.OrderReceiptSchema = OrderReceiptSchema;
713
764
  exports.OrderReceiptStatus = OrderReceiptStatus;
765
+ exports.OrderReservationStatus = OrderReservationStatus;
714
766
  exports.OrderSchema = OrderSchema;
715
767
  exports.OrderStatus = OrderStatus;
716
768
  exports.OrderStockAvailability = OrderStockAvailability;
717
769
  exports.OrderWarehouseSchema = OrderWarehouseSchema;
718
770
  exports.ReviewOrderReceiptRequestSchema = ReviewOrderReceiptRequestSchema;
771
+ exports.WarehouseOrderReservationListQuerySchema = WarehouseOrderReservationListQuerySchema;
772
+ exports.WarehouseOrderReservationListResponseSchema = WarehouseOrderReservationListResponseSchema;
773
+ exports.WarehouseOrderReservationSchema = WarehouseOrderReservationSchema;
719
774
  //# sourceMappingURL=index.js.map
720
775
  //# sourceMappingURL=index.js.map
@@ -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}\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 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 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 WarehouseOrderReservationListQuerySchema = BaseListQuerySchema.extend({\n warehousePublicId: PublicIdSchema,\n reservationStatus: z.enum(OrderReservationStatus).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 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 isRead: z.boolean(),\n createdAt: DateTimeSchema,\n});\n\nexport const OrderNotificationListSchema = z.array(OrderNotificationSchema);\n"]}
@@ -43,6 +43,11 @@ 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
+ return OrderReservationStatus2;
50
+ })(OrderReservationStatus || {});
46
51
  var OrderEventType = /* @__PURE__ */ ((OrderEventType2) => {
47
52
  OrderEventType2["CREATED"] = "CREATED";
48
53
  OrderEventType2["WALLET_DEBITED"] = "WALLET_DEBITED";
@@ -655,6 +660,52 @@ var OrderListResponseSchema = z.object({
655
660
  pageCount: z.number().int().nonnegative()
656
661
  })
657
662
  });
663
+ var WarehouseOrderReservationListQuerySchema = BaseListQuerySchema.extend({
664
+ warehousePublicId: PublicIdSchema3,
665
+ reservationStatus: z.enum(OrderReservationStatus).optional()
666
+ });
667
+ var WarehouseOrderReservationSchema = z.object({
668
+ publicId: PublicIdSchema3,
669
+ status: z.enum(OrderReservationStatus),
670
+ quantity: z.number().int().positive(),
671
+ createdAt: DateTimeSchema2,
672
+ releasedAt: DateTimeSchema2.nullable(),
673
+ reserveExpiresAt: DateTimeSchema2.nullable(),
674
+ releaseReason: z.string().nullable(),
675
+ order: z.object({
676
+ publicId: PublicIdSchema3,
677
+ number: OrderNumberSchema,
678
+ status: z.enum(OrderStatus),
679
+ paymentStatus: z.enum(OrderPaymentStatus)
680
+ }),
681
+ item: z.object({
682
+ publicId: PublicIdSchema3,
683
+ productPublicId: PublicIdSchema3,
684
+ variantPublicId: PublicIdSchema3,
685
+ productName: z.string(),
686
+ sku: z.string(),
687
+ coverContentUrl: z.string().nullable()
688
+ }),
689
+ batch: z.object({
690
+ publicId: PublicIdSchema3,
691
+ batchNumber: z.string().nullable(),
692
+ expiresAt: z.iso.date()
693
+ })
694
+ });
695
+ var WarehouseOrderReservationListResponseSchema = z.object({
696
+ items: z.array(WarehouseOrderReservationSchema),
697
+ meta: z.object({
698
+ page: z.number().int().positive(),
699
+ limit: z.number().int().positive(),
700
+ total: z.number().int().nonnegative(),
701
+ pageCount: z.number().int().nonnegative()
702
+ }),
703
+ summary: z.object({
704
+ activeQuantity: z.number().int().nonnegative(),
705
+ activeReservations: z.number().int().nonnegative(),
706
+ releasedReservations: z.number().int().nonnegative()
707
+ })
708
+ });
658
709
  var ReviewOrderReceiptRequestSchema = z.object({
659
710
  decision: z.enum(OrderReceiptDecision),
660
711
  version: z.number().int().positive(),
@@ -685,6 +736,6 @@ var OrderNotificationSchema = z.object({
685
736
  });
686
737
  var OrderNotificationListSchema = z.array(OrderNotificationSchema);
687
738
 
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 };
739
+ 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, OrderReservationStatus, OrderSchema, OrderStatus, OrderStockAvailability, OrderWarehouseSchema, ReviewOrderReceiptRequestSchema, WarehouseOrderReservationListQuerySchema, WarehouseOrderReservationListResponseSchema, WarehouseOrderReservationSchema };
689
740
  //# sourceMappingURL=index.mjs.map
690
741
  //# sourceMappingURL=index.mjs.map