aivilife-contracts 5.5.0 → 5.6.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.
@@ -218,6 +218,7 @@ var PublicIdSchema2 = zod.z.uuid();
218
218
  var CodeSchema = zod.z.string().trim().toUpperCase().regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);
219
219
  var DateSchema = zod.z.iso.date();
220
220
  var DateTimeSchema = zod.z.iso.datetime();
221
+ var MoneySchema = zod.z.string().regex(/^\d{1,16}\.\d{2}$/);
221
222
  var TimeSchema = zod.z.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/);
222
223
  var NullableTrimmedSchema = (max) => zod.z.string().trim().min(1).max(max).nullable().optional();
223
224
  var WarehouseDayScheduleSchema = zod.z.object({
@@ -385,9 +386,98 @@ zod.z.object({
385
386
  BaseListQuerySchema.extend({
386
387
  warehousePublicId: PublicIdSchema2.optional(),
387
388
  variantPublicId: PublicIdSchema2.optional(),
388
- expired: zod.z.union([zod.z.boolean(), zod.z.enum(["true", "false"]).transform((v) => v === "true")]).optional(),
389
+ expired: zod.z.union([
390
+ zod.z.boolean(),
391
+ zod.z.enum(["true", "false"]).transform((v) => v === "true")
392
+ ]).optional(),
389
393
  expiresBefore: DateSchema.optional()
390
394
  });
395
+ zod.z.object({
396
+ warehousePublicId: PublicIdSchema2.optional(),
397
+ dateFrom: DateFromSchema,
398
+ dateTo: DateToSchema
399
+ });
400
+ var WarehouseAnalyticsOrderMetricsSchema = zod.z.object({
401
+ total: zod.z.number().int().nonnegative(),
402
+ paid: zod.z.number().int().nonnegative(),
403
+ pendingPayment: zod.z.number().int().nonnegative(),
404
+ processing: zod.z.number().int().nonnegative(),
405
+ readyForPickup: zod.z.number().int().nonnegative(),
406
+ completed: zod.z.number().int().nonnegative(),
407
+ cancelled: zod.z.number().int().nonnegative()
408
+ });
409
+ var WarehouseAnalyticsInventoryMetricsSchema = zod.z.object({
410
+ onHand: zod.z.number().int().nonnegative(),
411
+ reserved: zod.z.number().int().nonnegative(),
412
+ available: zod.z.number().int().nonnegative(),
413
+ expired: zod.z.number().int().nonnegative(),
414
+ requiredForPaidOrders: zod.z.number().int().nonnegative(),
415
+ replenished: zod.z.number().int().nonnegative(),
416
+ writtenOff: zod.z.number().int().nonnegative(),
417
+ transferredIn: zod.z.number().int().nonnegative(),
418
+ transferredOut: zod.z.number().int().nonnegative(),
419
+ issued: zod.z.number().int().nonnegative()
420
+ });
421
+ var WarehouseAnalyticsFinancialMetricsSchema = zod.z.object({
422
+ paidRevenueUsd: MoneySchema,
423
+ completedRevenueUsd: MoneySchema,
424
+ cashbackAwardedPv: MoneySchema
425
+ });
426
+ zod.z.object({
427
+ period: zod.z.object({
428
+ dateFrom: DateTimeSchema.nullable(),
429
+ dateTo: DateTimeSchema.nullable()
430
+ }),
431
+ summary: zod.z.object({
432
+ warehouses: zod.z.object({
433
+ total: zod.z.number().int().nonnegative(),
434
+ active: zod.z.number().int().nonnegative(),
435
+ withActivity: zod.z.number().int().nonnegative(),
436
+ withoutActivity: zod.z.number().int().nonnegative()
437
+ }),
438
+ orders: WarehouseAnalyticsOrderMetricsSchema,
439
+ inventory: WarehouseAnalyticsInventoryMetricsSchema,
440
+ financials: WarehouseAnalyticsFinancialMetricsSchema
441
+ }),
442
+ warehouses: zod.z.array(
443
+ zod.z.object({
444
+ publicId: PublicIdSchema2,
445
+ code: zod.z.string(),
446
+ name: zod.z.string(),
447
+ status: zod.z.enum(WarehouseStatus),
448
+ countryCode: zod.z.string().length(2),
449
+ city: zod.z.string(),
450
+ orders: WarehouseAnalyticsOrderMetricsSchema,
451
+ inventory: WarehouseAnalyticsInventoryMetricsSchema,
452
+ financials: WarehouseAnalyticsFinancialMetricsSchema,
453
+ activity: zod.z.object({
454
+ orders: zod.z.number().int().nonnegative(),
455
+ movements: zod.z.number().int().nonnegative(),
456
+ pendingRequests: zod.z.number().int().nonnegative(),
457
+ lastActivityAt: DateTimeSchema.nullable()
458
+ })
459
+ })
460
+ ),
461
+ selectedWarehousePublicId: PublicIdSchema2.nullable(),
462
+ products: zod.z.array(
463
+ zod.z.object({
464
+ productPublicId: PublicIdSchema2,
465
+ variantPublicId: PublicIdSchema2,
466
+ productCode: zod.z.string(),
467
+ sku: zod.z.string(),
468
+ onHand: zod.z.number().int().nonnegative(),
469
+ reserved: zod.z.number().int().nonnegative(),
470
+ available: zod.z.number().int().nonnegative(),
471
+ expired: zod.z.number().int().nonnegative(),
472
+ requiredForPaidOrders: zod.z.number().int().nonnegative(),
473
+ replenished: zod.z.number().int().nonnegative(),
474
+ writtenOff: zod.z.number().int().nonnegative(),
475
+ transferredIn: zod.z.number().int().nonnegative(),
476
+ transferredOut: zod.z.number().int().nonnegative(),
477
+ issued: zod.z.number().int().nonnegative()
478
+ })
479
+ )
480
+ });
391
481
  var WarehouseSchema = zod.z.object({
392
482
  publicId: PublicIdSchema2,
393
483
  code: CodeSchema,
@@ -507,7 +597,7 @@ zod.z.object({
507
597
  // src/order/order.schemas.ts
508
598
  var PublicIdSchema3 = zod.z.uuid();
509
599
  var DateTimeSchema2 = zod.z.iso.datetime();
510
- var MoneySchema = zod.z.string().regex(/^\d{1,16}\.\d{2}$/);
600
+ var MoneySchema2 = zod.z.string().regex(/^\d{1,16}\.\d{2}$/);
511
601
  var DecimalSchema2 = zod.z.string().regex(/^\d{1,16}(?:\.\d{1,3})?$/);
512
602
  var OrderNumberSchema = zod.z.string().regex(/^AV-\d{8}-[A-Z0-9]{6}$/);
513
603
  var CheckoutWarehouseQuerySchema = zod.z.object({
@@ -523,8 +613,8 @@ var CheckoutSnapshotSchema = zod.z.object({
523
613
  cart: CartSchema,
524
614
  locations: zod.z.array(CheckoutLocationSchema),
525
615
  mainWallet: zod.z.object({
526
- balanceUsd: MoneySchema,
527
- availableBalanceUsd: MoneySchema
616
+ balanceUsd: MoneySchema2,
617
+ availableBalanceUsd: MoneySchema2
528
618
  }),
529
619
  paymentMethods: zod.z.array(zod.z.enum(OrderPaymentMethod)),
530
620
  reserveDurationHours: zod.z.literal(24)
@@ -555,7 +645,7 @@ var CreateOrderRequestSchema = zod.z.object({
555
645
  warehousePublicId: PublicIdSchema3,
556
646
  deliveryMethod: zod.z.literal("PICKUP" /* PICKUP */),
557
647
  paymentMethod: zod.z.enum(OrderPaymentMethod),
558
- walletAmountUsd: MoneySchema.optional(),
648
+ walletAmountUsd: MoneySchema2.optional(),
559
649
  idempotencyKey: PublicIdSchema3
560
650
  }).superRefine((value, context) => {
561
651
  if (value.paymentMethod === "CASH" /* CASH */ && value.walletAmountUsd) {
@@ -606,10 +696,10 @@ var OrderItemSchema = zod.z.object({
606
696
  variantQuantity: DecimalSchema2,
607
697
  unit: zod.z.enum(ProductUnit),
608
698
  quantity: zod.z.number().int().positive(),
609
- unitPriceUsd: MoneySchema,
610
- lineTotalUsd: MoneySchema,
611
- unitPv: MoneySchema,
612
- lineTotalPv: MoneySchema,
699
+ unitPriceUsd: MoneySchema2,
700
+ lineTotalUsd: MoneySchema2,
701
+ unitPv: MoneySchema2,
702
+ lineTotalPv: MoneySchema2,
613
703
  coverContentUrl: zod.z.string().nullable()
614
704
  });
615
705
  var OrderReceiptSchema = zod.z.object({
@@ -643,11 +733,11 @@ var OrderSchema = zod.z.object({
643
733
  baseCurrencyCode: zod.z.string().length(3),
644
734
  displayCurrencyCode: zod.z.string().length(3),
645
735
  displayRate: zod.z.string(),
646
- subtotalUsd: MoneySchema,
647
- totalPv: MoneySchema,
648
- walletPaidUsd: MoneySchema,
649
- walletRefundedUsd: MoneySchema,
650
- cashDueUsd: MoneySchema,
736
+ subtotalUsd: MoneySchema2,
737
+ totalPv: MoneySchema2,
738
+ walletPaidUsd: MoneySchema2,
739
+ walletRefundedUsd: MoneySchema2,
740
+ cashDueUsd: MoneySchema2,
651
741
  reserveExpiresAt: DateTimeSchema2.nullable(),
652
742
  paidAt: DateTimeSchema2.nullable(),
653
743
  readyForPickupAt: DateTimeSchema2.nullable(),
@@ -660,9 +750,9 @@ var OrderSchema = zod.z.object({
660
750
  events: zod.z.array(OrderEventSchema),
661
751
  pickupCode: zod.z.string().regex(/^\d{6}$/).nullable(),
662
752
  cashbackCredit: zod.z.object({
663
- amountPv: MoneySchema,
664
- balanceBeforePv: MoneySchema,
665
- balanceAfterPv: MoneySchema,
753
+ amountPv: MoneySchema2,
754
+ balanceBeforePv: MoneySchema2,
755
+ balanceAfterPv: MoneySchema2,
666
756
  creditedAt: DateTimeSchema2
667
757
  }).nullable(),
668
758
  createdAt: DateTimeSchema2,
@@ -714,9 +804,9 @@ var AdminWarehouseOrderSummarySchema = zod.z.object({
714
804
  completed: zod.z.number().int().nonnegative()
715
805
  }),
716
806
  financials: zod.z.object({
717
- paidRevenueUsd: MoneySchema,
718
- completedRevenueUsd: MoneySchema,
719
- cashbackAwardedPv: MoneySchema
807
+ paidRevenueUsd: MoneySchema2,
808
+ completedRevenueUsd: MoneySchema2,
809
+ cashbackAwardedPv: MoneySchema2
720
810
  })
721
811
  });
722
812
  var WarehouseOrderReservationListQuerySchema = BaseListQuerySchema.extend({
@@ -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","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 {\n BaseListQuerySchema,\n DateFromSchema,\n DateToSchema,\n} 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 warehousePublicId: PublicIdSchema.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 AdminWarehouseOrderSummaryQuerySchema = z.object({\n warehousePublicId: PublicIdSchema,\n dateFrom: DateFromSchema,\n dateTo: DateToSchema,\n});\n\nexport const AdminWarehouseOrderSummarySchema = z.object({\n warehousePublicId: PublicIdSchema,\n period: z.object({\n dateFrom: DateTimeSchema.nullable(),\n dateTo: DateTimeSchema.nullable(),\n }),\n orders: z.object({\n total: z.number().int().nonnegative(),\n pendingPayment: z.number().int().nonnegative(),\n processing: z.number().int().nonnegative(),\n readyForPickup: z.number().int().nonnegative(),\n completed: z.number().int().nonnegative(),\n cancelled: z.number().int().nonnegative(),\n paid: z.number().int().nonnegative(),\n }),\n units: z.object({\n total: z.number().int().nonnegative(),\n active: z.number().int().nonnegative(),\n completed: z.number().int().nonnegative(),\n }),\n financials: z.object({\n paidRevenueUsd: MoneySchema,\n completedRevenueUsd: MoneySchema,\n cashbackAwardedPv: MoneySchema,\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"]}
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","MoneySchema","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 {\n BaseListQuerySchema,\n DateFromSchema,\n DateToSchema,\n} 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 MoneySchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\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([\n z.boolean(),\n z.enum(['true', 'false']).transform((v) => v === 'true'),\n ])\n .optional(),\n expiresBefore: DateSchema.optional(),\n});\n\nexport const AdminWarehouseAnalyticsQuerySchema = z.object({\n warehousePublicId: PublicIdSchema.optional(),\n dateFrom: DateFromSchema,\n dateTo: DateToSchema,\n});\n\nconst WarehouseAnalyticsOrderMetricsSchema = z.object({\n total: z.number().int().nonnegative(),\n paid: z.number().int().nonnegative(),\n pendingPayment: z.number().int().nonnegative(),\n processing: z.number().int().nonnegative(),\n readyForPickup: z.number().int().nonnegative(),\n completed: z.number().int().nonnegative(),\n cancelled: z.number().int().nonnegative(),\n});\n\nconst WarehouseAnalyticsInventoryMetricsSchema = z.object({\n onHand: z.number().int().nonnegative(),\n reserved: z.number().int().nonnegative(),\n available: z.number().int().nonnegative(),\n expired: z.number().int().nonnegative(),\n requiredForPaidOrders: z.number().int().nonnegative(),\n replenished: z.number().int().nonnegative(),\n writtenOff: z.number().int().nonnegative(),\n transferredIn: z.number().int().nonnegative(),\n transferredOut: z.number().int().nonnegative(),\n issued: z.number().int().nonnegative(),\n});\n\nconst WarehouseAnalyticsFinancialMetricsSchema = z.object({\n paidRevenueUsd: MoneySchema,\n completedRevenueUsd: MoneySchema,\n cashbackAwardedPv: MoneySchema,\n});\n\nexport const AdminWarehouseAnalyticsSchema = z.object({\n period: z.object({\n dateFrom: DateTimeSchema.nullable(),\n dateTo: DateTimeSchema.nullable(),\n }),\n summary: z.object({\n warehouses: z.object({\n total: z.number().int().nonnegative(),\n active: z.number().int().nonnegative(),\n withActivity: z.number().int().nonnegative(),\n withoutActivity: z.number().int().nonnegative(),\n }),\n orders: WarehouseAnalyticsOrderMetricsSchema,\n inventory: WarehouseAnalyticsInventoryMetricsSchema,\n financials: WarehouseAnalyticsFinancialMetricsSchema,\n }),\n warehouses: z.array(\n z.object({\n publicId: PublicIdSchema,\n code: z.string(),\n name: z.string(),\n status: z.enum(WarehouseStatus),\n countryCode: z.string().length(2),\n city: z.string(),\n orders: WarehouseAnalyticsOrderMetricsSchema,\n inventory: WarehouseAnalyticsInventoryMetricsSchema,\n financials: WarehouseAnalyticsFinancialMetricsSchema,\n activity: z.object({\n orders: z.number().int().nonnegative(),\n movements: z.number().int().nonnegative(),\n pendingRequests: z.number().int().nonnegative(),\n lastActivityAt: DateTimeSchema.nullable(),\n }),\n }),\n ),\n selectedWarehousePublicId: PublicIdSchema.nullable(),\n products: z.array(\n z.object({\n productPublicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n productCode: z.string(),\n sku: z.string(),\n onHand: z.number().int().nonnegative(),\n reserved: z.number().int().nonnegative(),\n available: z.number().int().nonnegative(),\n expired: z.number().int().nonnegative(),\n requiredForPaidOrders: z.number().int().nonnegative(),\n replenished: z.number().int().nonnegative(),\n writtenOff: z.number().int().nonnegative(),\n transferredIn: z.number().int().nonnegative(),\n transferredOut: z.number().int().nonnegative(),\n issued: z.number().int().nonnegative(),\n }),\n ),\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 {\n BaseListQuerySchema,\n DateFromSchema,\n DateToSchema,\n} 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 warehousePublicId: PublicIdSchema.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 AdminWarehouseOrderSummaryQuerySchema = z.object({\n warehousePublicId: PublicIdSchema,\n dateFrom: DateFromSchema,\n dateTo: DateToSchema,\n});\n\nexport const AdminWarehouseOrderSummarySchema = z.object({\n warehousePublicId: PublicIdSchema,\n period: z.object({\n dateFrom: DateTimeSchema.nullable(),\n dateTo: DateTimeSchema.nullable(),\n }),\n orders: z.object({\n total: z.number().int().nonnegative(),\n pendingPayment: z.number().int().nonnegative(),\n processing: z.number().int().nonnegative(),\n readyForPickup: z.number().int().nonnegative(),\n completed: z.number().int().nonnegative(),\n cancelled: z.number().int().nonnegative(),\n paid: z.number().int().nonnegative(),\n }),\n units: z.object({\n total: z.number().int().nonnegative(),\n active: z.number().int().nonnegative(),\n completed: z.number().int().nonnegative(),\n }),\n financials: z.object({\n paidRevenueUsd: MoneySchema,\n completedRevenueUsd: MoneySchema,\n cashbackAwardedPv: MoneySchema,\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"]}