aivilife-contracts 5.6.0 → 6.0.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.
Files changed (44) hide show
  1. package/README.md +30 -0
  2. package/dist/auth/index.d.mts +2 -1
  3. package/dist/auth/index.d.ts +2 -1
  4. package/dist/auth/index.js +130 -0
  5. package/dist/auth/index.js.map +1 -1
  6. package/dist/auth/index.mjs +130 -0
  7. package/dist/auth/index.mjs.map +1 -1
  8. package/dist/box/index.d.mts +437 -0
  9. package/dist/box/index.d.ts +437 -0
  10. package/dist/box/index.js +1355 -0
  11. package/dist/box/index.js.map +1 -0
  12. package/dist/box/index.mjs +1333 -0
  13. package/dist/box/index.mjs.map +1 -0
  14. package/dist/catalog/index.d.mts +5 -1
  15. package/dist/catalog/index.d.ts +5 -1
  16. package/dist/catalog/index.js +3 -0
  17. package/dist/catalog/index.js.map +1 -1
  18. package/dist/catalog/index.mjs +3 -0
  19. package/dist/catalog/index.mjs.map +1 -1
  20. package/dist/{marketing.enums-pV5acC3L.d.mts → index-DC3vBOFB.d.mts} +2 -12
  21. package/dist/{marketing.enums-pV5acC3L.d.ts → index-mteQAHWO.d.ts} +2 -12
  22. package/dist/index.d.mts +9 -50
  23. package/dist/index.d.ts +9 -50
  24. package/dist/index.js +453 -97
  25. package/dist/index.js.map +1 -1
  26. package/dist/index.mjs +419 -98
  27. package/dist/index.mjs.map +1 -1
  28. package/dist/marketing/index.d.mts +212 -0
  29. package/dist/marketing/index.d.ts +212 -0
  30. package/dist/marketing/index.js +238 -0
  31. package/dist/marketing/index.js.map +1 -0
  32. package/dist/marketing/index.mjs +212 -0
  33. package/dist/marketing/index.mjs.map +1 -0
  34. package/dist/marketing.enums-CNJ2Ayc_.d.mts +26 -0
  35. package/dist/marketing.enums-CNJ2Ayc_.d.ts +26 -0
  36. package/dist/order/index.d.mts +35 -70
  37. package/dist/order/index.d.ts +35 -70
  38. package/dist/order/index.js +15 -0
  39. package/dist/order/index.js.map +1 -1
  40. package/dist/order/index.mjs +15 -1
  41. package/dist/order/index.mjs.map +1 -1
  42. package/dist/order.enums-DdujST4H.d.mts +68 -0
  43. package/dist/order.enums-DdujST4H.d.ts +68 -0
  44. package/package.json +11 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/box/box.enums.ts","../../src/localization/app-locale.enum.ts","../../src/localization/app-locale.schema.ts","../../src/common/pagination.schemas.ts","../../src/common/list-query.schemas.ts","../../src/order/order.enums.ts","../../src/catalog/catalog.enums.ts","../../src/cart/cart.enums.ts","../../src/cart/cart.schemas.ts","../../src/warehouse/warehouse.enums.ts","../../src/warehouse/warehouse.schemas.ts","../../src/order/order.schemas.ts","../../src/catalog/catalog.schemas.ts","../../src/box/box.schemas.ts"],"names":["BoxStatus","BoxPurchaseStatus","BoxPurchaseKind","z","OrderDeliveryMethod","OrderType","OrderPaymentMethod","OrderStatus","OrderPaymentStatus","OrderReceiptStatus","OrderReceiptDecision","OrderStockAvailability","OrderReservationStatus","OrderEventType","OrderNotificationType","CartItemAvailability","PublicIdSchema","DateTimeSchema","MoneySchema","DecimalSchema","CodeSchema","PvSchema"],"mappings":"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","file":"index.mjs","sourcesContent":["export enum BoxStatus {\n DRAFT = 'DRAFT',\n ACTIVE = 'ACTIVE',\n INACTIVE = 'INACTIVE',\n ARCHIVED = 'ARCHIVED',\n}\n\nexport enum BoxPurchaseStatus {\n PENDING_PAYMENT = 'PENDING_PAYMENT',\n ACTIVE = 'ACTIVE',\n SUPERSEDED = 'SUPERSEDED',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum BoxPurchaseKind {\n INITIAL = 'INITIAL',\n UPGRADE = 'UPGRADE',\n}\n","export const AppLocale = {\n RU: 'ru',\n KK: 'kk',\n UZ: 'uz',\n EN: 'en',\n} as const;\n\nexport type AppLocale = (typeof AppLocale)[keyof typeof AppLocale];\n\nexport const SupportedLocales = Object.values(\n AppLocale,\n) as readonly AppLocale[];\n","import { z } from 'zod';\nimport { AppLocale } from './app-locale.enum';\n\nexport const AppLocaleSchema = z.enum(AppLocale);\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 enum OrderDeliveryMethod {\n PICKUP = 'PICKUP',\n}\n\nexport enum OrderType {\n PRODUCT = 'PRODUCT',\n BOX = 'BOX',\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","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 OrderType,\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 type: z.enum(OrderType),\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 box: z\n .object({\n publicId: PublicIdSchema,\n code: z.string(),\n name: z.string(),\n version: z.number().int().positive(),\n priceUsd: MoneySchema,\n pvBudget: MoneySchema,\n })\n .nullable(),\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","import { z } from 'zod';\nimport { AppLocaleSchema } from '../localization/app-locale.schema';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport {\n ProductMediaRole,\n ProductMediaType,\n ProductStatus,\n ProductUnit,\n} from './catalog.enums';\n\nconst CodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);\nconst SlugSchema = z\n .string()\n .trim()\n .toLowerCase()\n .regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/)\n .max(160);\nconst PublicIdSchema = z.uuid();\nconst MoneySchema = z\n .string()\n .trim()\n .regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/)\n .refine((value) => Number(value) > 0, 'Значение должно быть больше нуля');\nconst PvSchema = z\n .string()\n .trim()\n .regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/)\n .refine((value) => Number(value) > 0, 'PV должен быть больше нуля');\nconst PositiveDecimalSchema = z\n .string()\n .trim()\n .regex(/^\\d{1,9}(?:\\.\\d{1,3})?$/)\n .refine((value) => Number(value) > 0, 'Значение должно быть больше нуля');\n\nexport const ProductCategoryTranslationInputSchema = z.object({\n locale: AppLocaleSchema,\n name: z.string().trim().min(1).max(120),\n description: z.string().trim().max(500).nullable().optional(),\n});\n\nexport const ProductTranslationInputSchema = z.object({\n locale: AppLocaleSchema,\n name: z.string().trim().min(1).max(180),\n shortDescription: z.string().trim().min(1).max(500),\n description: z.string().trim().min(1).max(20_000),\n composition: z.string().trim().max(20_000).nullable().optional(),\n usageInstructions: z.string().trim().max(20_000).nullable().optional(),\n features: z.string().trim().max(20_000).nullable().optional(),\n contraindications: z.string().trim().max(20_000).nullable().optional(),\n shelfLife: z.string().trim().min(1).max(255),\n packageContents: z.string().trim().max(2_000).nullable().optional(),\n});\n\nconst UniqueLocalesSchema = <T extends z.ZodTypeAny>(schema: T) =>\n z\n .array(schema)\n .min(1)\n .max(4)\n .refine(\n (items) =>\n new Set(items.map((item) => (item as { locale: string }).locale))\n .size === items.length,\n 'Перевод для каждого языка можно передать только один раз',\n );\n\nexport const CreateProductCategoryRequestSchema = z.object({\n code: CodeSchema,\n slug: SlugSchema,\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n translations: UniqueLocalesSchema(ProductCategoryTranslationInputSchema),\n});\n\nexport const UpdateProductCategoryRequestSchema = z\n .object({\n slug: SlugSchema,\n sortOrder: z.number().int().min(0).max(1_000_000),\n translations: UniqueLocalesSchema(ProductCategoryTranslationInputSchema),\n version: z.number().int().positive(),\n })\n .partial()\n .required({ version: true });\n\nconst ProductVariantFieldsSchema = z.object({\n sku: CodeSchema,\n barcode: z.string().trim().min(1).max(64).nullable().optional(),\n quantity: PositiveDecimalSchema,\n unit: z.enum(ProductUnit),\n netWeightGrams: PositiveDecimalSchema.nullable().optional(),\n priceUsd: MoneySchema,\n pv: PvSchema,\n shippingWeightGrams: PositiveDecimalSchema.nullable().optional(),\n lengthMm: PositiveDecimalSchema.nullable().optional(),\n widthMm: PositiveDecimalSchema.nullable().optional(),\n heightMm: PositiveDecimalSchema.nullable().optional(),\n isDefault: z.boolean(),\n isActive: z.boolean(),\n sortOrder: z.number().int().min(0).max(1_000_000),\n});\n\nexport const ProductVariantInputSchema = ProductVariantFieldsSchema.extend({\n isDefault: ProductVariantFieldsSchema.shape.isDefault.default(false),\n isActive: ProductVariantFieldsSchema.shape.isActive.default(true),\n sortOrder: ProductVariantFieldsSchema.shape.sortOrder.default(0),\n});\n\nexport const CreateProductRequestSchema = z\n .object({\n code: CodeSchema,\n slug: SlugSchema,\n manufacturerCountryCode: z.string().trim().toUpperCase().length(2),\n manufacturerName: z.string().trim().max(255).nullable().optional(),\n sgr: z.string().trim().max(255).nullable().optional(),\n isFeatured: z.boolean().default(false),\n isBoxEligible: z.boolean().default(false),\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n translations: UniqueLocalesSchema(ProductTranslationInputSchema),\n categoryPublicIds: z.array(PublicIdSchema).min(1).max(100),\n primaryCategoryPublicId: PublicIdSchema,\n variants: z\n .array(ProductVariantInputSchema)\n .min(1)\n .max(100)\n .refine(\n (items) => items.filter((item) => item.isDefault).length === 1,\n 'Должна быть ровно одна основная вариация',\n ),\n })\n .refine(\n (value) => value.categoryPublicIds.includes(value.primaryCategoryPublicId),\n {\n message: 'Основная категория должна присутствовать в списке категорий',\n path: ['primaryCategoryPublicId'],\n },\n );\n\nexport const UpdateProductRequestSchema = z\n .object({\n slug: SlugSchema,\n manufacturerCountryCode: z.string().trim().toUpperCase().length(2),\n manufacturerName: z.string().trim().max(255).nullable(),\n sgr: z.string().trim().max(255).nullable(),\n isFeatured: z.boolean(),\n isBoxEligible: z.boolean(),\n sortOrder: z.number().int().min(0).max(1_000_000),\n translations: UniqueLocalesSchema(ProductTranslationInputSchema),\n categoryPublicIds: z.array(PublicIdSchema).min(1).max(100),\n primaryCategoryPublicId: PublicIdSchema,\n version: z.number().int().positive(),\n })\n .partial()\n .required({ version: true })\n .refine(\n (value) =>\n !value.primaryCategoryPublicId ||\n !value.categoryPublicIds ||\n value.categoryPublicIds.includes(value.primaryCategoryPublicId),\n {\n message: 'Основная категория должна присутствовать в списке категорий',\n path: ['primaryCategoryPublicId'],\n },\n );\n\nexport const CreateProductVariantRequestSchema = ProductVariantInputSchema;\nexport const UpdateProductVariantRequestSchema =\n ProductVariantFieldsSchema.partial().extend({\n version: z.number().int().positive(),\n });\n\nexport const ProductPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\nexport const ProductSlugParamSchema = z.object({ slug: SlugSchema });\nexport const ProductVariantPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n});\nexport const ProductMediaPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n mediaPublicId: PublicIdSchema,\n});\n\nconst QueryBooleanSchema = z.union([\n z.boolean(),\n z.enum(['true', 'false']).transform((value) => value === 'true'),\n]);\n\nexport const ProductListQuerySchema = BaseListQuerySchema.extend({\n status: z.enum(ProductStatus).optional(),\n category: SlugSchema.optional(),\n featured: QueryBooleanSchema.optional(),\n});\n\nexport const CreateExternalProductVideoRequestSchema = z.object({\n url: z\n .url()\n .max(2_000)\n .refine((value) => {\n const url = new URL(value);\n const host = url.hostname.toLowerCase().replace(/^www\\./, '');\n return (\n url.protocol === 'https:' &&\n ['youtube.com', 'youtu.be', 'vimeo.com', 'player.vimeo.com'].includes(\n host,\n )\n );\n }, 'Поддерживаются только HTTPS-ссылки YouTube и Vimeo'),\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n});\n\nexport const UploadProductImageRequestSchema = z.object({\n role: z.enum(ProductMediaRole).default(ProductMediaRole.GALLERY),\n sortOrder: z.coerce.number().int().min(0).max(1_000_000).default(0),\n});\n\nexport const UploadProductVideoRequestSchema = z.object({\n sortOrder: z.coerce.number().int().min(0).max(1_000_000).default(0),\n});\n\nexport const UpdateProductMediaRequestSchema = z.object({\n role: z.enum(ProductMediaRole).optional(),\n sortOrder: z.number().int().min(0).max(1_000_000).optional(),\n});\n\nexport const ProductCategorySchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n slug: SlugSchema,\n status: z.enum(ProductStatus),\n sortOrder: z.number().int().nonnegative(),\n version: z.number().int().positive(),\n translations: z.array(ProductCategoryTranslationInputSchema),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ProductVariantSchema = ProductVariantInputSchema.extend({\n publicId: PublicIdSchema,\n version: z.number().int().positive(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ProductMediaSchema = z.object({\n publicId: PublicIdSchema,\n type: z.enum(ProductMediaType),\n role: z.enum(ProductMediaRole),\n externalUrl: z.string().nullable(),\n contentUrl: z.string().nullable(),\n mimeType: z.string().nullable(),\n sizeBytes: z.number().int().positive().nullable(),\n originalName: z.string().nullable(),\n sortOrder: z.number().int().nonnegative(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ProductSchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n slug: SlugSchema,\n status: z.enum(ProductStatus),\n manufacturerCountryCode: z.string().length(2),\n manufacturerName: z.string().nullable(),\n sgr: z.string().nullable(),\n isFeatured: z.boolean(),\n isBoxEligible: z.boolean(),\n sortOrder: z.number().int().nonnegative(),\n publishedAt: z.string().datetime().nullable(),\n version: z.number().int().positive(),\n translations: z.array(ProductTranslationInputSchema),\n categories: z.array(ProductCategorySchema),\n primaryCategoryPublicId: PublicIdSchema,\n variants: z.array(ProductVariantSchema),\n media: z.array(ProductMediaSchema),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const LocalizedProductCategorySchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n slug: SlugSchema,\n name: z.string(),\n description: z.string().nullable(),\n});\n\nexport const LocalizedProductSchema = ProductSchema.omit({\n translations: true,\n categories: true,\n version: true,\n}).extend({\n isAvailable: z.boolean(),\n name: z.string(),\n shortDescription: z.string(),\n description: z.string(),\n composition: z.string().nullable(),\n usageInstructions: z.string().nullable(),\n features: z.string().nullable(),\n contraindications: z.string().nullable(),\n shelfLife: z.string(),\n packageContents: z.string().nullable(),\n categories: z.array(LocalizedProductCategorySchema),\n variants: z.array(ProductVariantSchema.extend({ isAvailable: z.boolean() })),\n});\n","import { z } from 'zod';\nimport { AppLocaleSchema } from '../localization/app-locale.schema';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport { OrderDeliveryMethod, OrderPaymentMethod } from '../order/order.enums';\nimport {\n CheckoutLocationSchema,\n CheckoutWarehouseSchema,\n} from '../order/order.schemas';\nimport { LocalizedProductSchema } from '../catalog/catalog.schemas';\nimport { BoxPurchaseKind, BoxPurchaseStatus, BoxStatus } from './box.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 MoneySchema = z\n .string()\n .trim()\n .regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/)\n .refine((value) => Number(value) > 0, 'Значение должно быть больше нуля');\nconst PvSchema = z\n .string()\n .trim()\n .regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/)\n .refine((value) => Number(value) > 0, 'PV должен быть больше нуля');\nconst PercentSchema = z.number().int().min(0).max(100);\n\nexport const BoxTranslationInputSchema = z.object({\n locale: AppLocaleSchema,\n name: z.string().trim().min(1).max(160),\n description: z.string().trim().max(2_000).nullable().optional(),\n});\n\nexport const BoxStructureLevelInputSchema = z.object({\n level: z.number().int().positive().max(1_000),\n percent: PercentSchema,\n});\n\nconst UniqueTranslationsSchema = z\n .array(BoxTranslationInputSchema)\n .min(1)\n .max(4)\n .refine(\n (items) => new Set(items.map((item) => item.locale)).size === items.length,\n 'Перевод для каждого языка можно передать только один раз',\n );\n\nconst UniqueStructureLevelsSchema = z\n .array(BoxStructureLevelInputSchema)\n .max(1_000)\n .refine(\n (items) => new Set(items.map((item) => item.level)).size === items.length,\n 'Каждый структурный уровень можно передать только один раз',\n );\n\nconst BoxFieldsSchema = z.object({\n code: CodeSchema,\n priceUsd: MoneySchema,\n pvBudget: PvSchema,\n referralPercent: PercentSchema,\n binaryPercent: PercentSchema,\n extraBonusPercent: PercentSchema,\n extraStatusVolumePercent: PercentSchema,\n sortOrder: z.number().int().min(0).max(1_000_000),\n translations: UniqueTranslationsSchema,\n structureLevels: UniqueStructureLevelsSchema,\n});\n\nexport const CreateBoxRequestSchema = BoxFieldsSchema.extend({\n referralPercent: PercentSchema.default(0),\n binaryPercent: PercentSchema.default(0),\n extraBonusPercent: PercentSchema.default(0),\n extraStatusVolumePercent: PercentSchema.default(0),\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n structureLevels: UniqueStructureLevelsSchema.default([]),\n});\n\nexport const UpdateBoxRequestSchema = BoxFieldsSchema.partial().extend({\n version: z.number().int().positive(),\n});\n\nexport const BoxPublicIdParamSchema = z.object({ publicId: PublicIdSchema });\n\nexport const BoxListQuerySchema = BaseListQuerySchema.extend({\n status: z.enum(BoxStatus).optional(),\n});\n\nexport const BoxStructureLevelSchema = BoxStructureLevelInputSchema.extend({\n publicId: PublicIdSchema,\n});\n\nexport const BoxSchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n status: z.enum(BoxStatus),\n priceUsd: z.string().regex(/^\\d{1,16}\\.\\d{2}$/),\n pvBudget: z.string().regex(/^\\d{1,16}\\.\\d{2}$/),\n referralPercent: PercentSchema,\n binaryPercent: PercentSchema,\n extraBonusPercent: PercentSchema,\n extraStatusVolumePercent: PercentSchema,\n sortOrder: z.number().int().nonnegative(),\n version: z.number().int().positive(),\n purchaseCount: z.number().int().nonnegative(),\n translations: z.array(BoxTranslationInputSchema),\n structureLevels: z.array(BoxStructureLevelSchema),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const LocalizedBoxSchema = BoxSchema.omit({\n translations: true,\n purchaseCount: true,\n}).extend({\n name: z.string(),\n description: z.string().nullable(),\n});\n\nexport const BoxListResponseSchema = z.object({\n items: z.array(BoxSchema),\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 LocalizedBoxListResponseSchema = z.object({\n items: z.array(LocalizedBoxSchema),\n meta: BoxListResponseSchema.shape.meta,\n});\n\nexport const BoxSelectionLineSchema = z.object({\n variantPublicId: PublicIdSchema,\n quantity: z.number().int().positive().max(100_000),\n});\n\nexport const BoxSelectionSchema = z.object({\n lines: z.array(BoxSelectionLineSchema).min(1).max(500),\n});\n\nexport const BoxCheckoutWarehouseRequestSchema = BoxSelectionSchema.extend({\n countryCode: z.string().trim().toUpperCase().length(2),\n city: z.string().trim().min(1).max(160),\n});\n\nexport const BoxCheckoutSnapshotSchema = z.object({\n box: LocalizedBoxSchema,\n products: z.array(LocalizedProductSchema),\n locations: z.array(CheckoutLocationSchema),\n mainWallet: z.object({\n balanceUsd: z.string().regex(/^\\d{1,16}\\.\\d{2}$/),\n availableBalanceUsd: z.string().regex(/^\\d{1,16}\\.\\d{2}$/),\n }),\n paymentMethods: z.array(z.enum(OrderPaymentMethod)),\n reserveDurationHours: z.literal(24),\n});\n\nexport const BoxCheckoutWarehouseListSchema = z.array(CheckoutWarehouseSchema);\n\nexport const CreateBoxOrderRequestSchema = BoxSelectionSchema.extend({\n boxPublicId: PublicIdSchema,\n warehousePublicId: PublicIdSchema,\n deliveryMethod: z.literal(OrderDeliveryMethod.PICKUP),\n paymentMethod: z.enum(OrderPaymentMethod),\n walletAmountUsd: z\n .string()\n .regex(/^\\d{1,16}\\.\\d{2}$/)\n .optional(),\n idempotencyKey: PublicIdSchema,\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 BoxPurchaseSchema = z.object({\n publicId: PublicIdSchema,\n boxPublicId: PublicIdSchema,\n orderPublicId: PublicIdSchema,\n boxCode: CodeSchema,\n boxName: z.string(),\n kind: z.enum(BoxPurchaseKind),\n status: z.enum(BoxPurchaseStatus),\n boxVersion: z.number().int().positive(),\n priceUsd: z.string().regex(/^\\d{1,16}\\.\\d{2}$/),\n pvBudget: z.string().regex(/^\\d{1,16}\\.\\d{2}$/),\n pvDelta: z.string().regex(/^\\d{1,16}\\.\\d{2}$/),\n activatedAt: z.iso.datetime().nullable(),\n createdAt: z.iso.datetime(),\n});\n"]}
@@ -111,6 +111,7 @@ declare const CreateProductRequestSchema: z.ZodObject<{
111
111
  manufacturerName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
112
112
  sgr: z.ZodOptional<z.ZodNullable<z.ZodString>>;
113
113
  isFeatured: z.ZodDefault<z.ZodBoolean>;
114
+ isBoxEligible: z.ZodDefault<z.ZodBoolean>;
114
115
  sortOrder: z.ZodDefault<z.ZodNumber>;
115
116
  translations: z.ZodArray<z.ZodObject<{
116
117
  locale: z.ZodEnum<{
@@ -159,6 +160,7 @@ declare const UpdateProductRequestSchema: z.ZodObject<{
159
160
  manufacturerName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
160
161
  sgr: z.ZodOptional<z.ZodNullable<z.ZodString>>;
161
162
  isFeatured: z.ZodOptional<z.ZodBoolean>;
163
+ isBoxEligible: z.ZodOptional<z.ZodBoolean>;
162
164
  sortOrder: z.ZodOptional<z.ZodNumber>;
163
165
  translations: z.ZodOptional<z.ZodArray<z.ZodObject<{
164
166
  locale: z.ZodEnum<{
@@ -362,6 +364,7 @@ declare const ProductSchema: z.ZodObject<{
362
364
  manufacturerName: z.ZodNullable<z.ZodString>;
363
365
  sgr: z.ZodNullable<z.ZodString>;
364
366
  isFeatured: z.ZodBoolean;
367
+ isBoxEligible: z.ZodBoolean;
365
368
  sortOrder: z.ZodNumber;
366
369
  publishedAt: z.ZodNullable<z.ZodString>;
367
370
  version: z.ZodNumber;
@@ -467,6 +470,7 @@ declare const LocalizedProductSchema: z.ZodObject<{
467
470
  code: z.ZodString;
468
471
  createdAt: z.ZodString;
469
472
  updatedAt: z.ZodString;
473
+ publicId: z.ZodUUID;
470
474
  status: z.ZodEnum<{
471
475
  readonly DRAFT: "DRAFT";
472
476
  readonly ACTIVE: "ACTIVE";
@@ -478,7 +482,7 @@ declare const LocalizedProductSchema: z.ZodObject<{
478
482
  manufacturerName: z.ZodNullable<z.ZodString>;
479
483
  sgr: z.ZodNullable<z.ZodString>;
480
484
  isFeatured: z.ZodBoolean;
481
- publicId: z.ZodUUID;
485
+ isBoxEligible: z.ZodBoolean;
482
486
  publishedAt: z.ZodNullable<z.ZodString>;
483
487
  media: z.ZodArray<z.ZodObject<{
484
488
  publicId: z.ZodUUID;
@@ -111,6 +111,7 @@ declare const CreateProductRequestSchema: z.ZodObject<{
111
111
  manufacturerName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
112
112
  sgr: z.ZodOptional<z.ZodNullable<z.ZodString>>;
113
113
  isFeatured: z.ZodDefault<z.ZodBoolean>;
114
+ isBoxEligible: z.ZodDefault<z.ZodBoolean>;
114
115
  sortOrder: z.ZodDefault<z.ZodNumber>;
115
116
  translations: z.ZodArray<z.ZodObject<{
116
117
  locale: z.ZodEnum<{
@@ -159,6 +160,7 @@ declare const UpdateProductRequestSchema: z.ZodObject<{
159
160
  manufacturerName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
160
161
  sgr: z.ZodOptional<z.ZodNullable<z.ZodString>>;
161
162
  isFeatured: z.ZodOptional<z.ZodBoolean>;
163
+ isBoxEligible: z.ZodOptional<z.ZodBoolean>;
162
164
  sortOrder: z.ZodOptional<z.ZodNumber>;
163
165
  translations: z.ZodOptional<z.ZodArray<z.ZodObject<{
164
166
  locale: z.ZodEnum<{
@@ -362,6 +364,7 @@ declare const ProductSchema: z.ZodObject<{
362
364
  manufacturerName: z.ZodNullable<z.ZodString>;
363
365
  sgr: z.ZodNullable<z.ZodString>;
364
366
  isFeatured: z.ZodBoolean;
367
+ isBoxEligible: z.ZodBoolean;
365
368
  sortOrder: z.ZodNumber;
366
369
  publishedAt: z.ZodNullable<z.ZodString>;
367
370
  version: z.ZodNumber;
@@ -467,6 +470,7 @@ declare const LocalizedProductSchema: z.ZodObject<{
467
470
  code: z.ZodString;
468
471
  createdAt: z.ZodString;
469
472
  updatedAt: z.ZodString;
473
+ publicId: z.ZodUUID;
470
474
  status: z.ZodEnum<{
471
475
  readonly DRAFT: "DRAFT";
472
476
  readonly ACTIVE: "ACTIVE";
@@ -478,7 +482,7 @@ declare const LocalizedProductSchema: z.ZodObject<{
478
482
  manufacturerName: z.ZodNullable<z.ZodString>;
479
483
  sgr: z.ZodNullable<z.ZodString>;
480
484
  isFeatured: z.ZodBoolean;
481
- publicId: z.ZodUUID;
485
+ isBoxEligible: z.ZodBoolean;
482
486
  publishedAt: z.ZodNullable<z.ZodString>;
483
487
  media: z.ZodArray<z.ZodObject<{
484
488
  publicId: z.ZodUUID;
@@ -126,6 +126,7 @@ var CreateProductRequestSchema = zod.z.object({
126
126
  manufacturerName: zod.z.string().trim().max(255).nullable().optional(),
127
127
  sgr: zod.z.string().trim().max(255).nullable().optional(),
128
128
  isFeatured: zod.z.boolean().default(false),
129
+ isBoxEligible: zod.z.boolean().default(false),
129
130
  sortOrder: zod.z.number().int().min(0).max(1e6).default(0),
130
131
  translations: UniqueLocalesSchema(ProductTranslationInputSchema),
131
132
  categoryPublicIds: zod.z.array(PublicIdSchema).min(1).max(100),
@@ -147,6 +148,7 @@ var UpdateProductRequestSchema = zod.z.object({
147
148
  manufacturerName: zod.z.string().trim().max(255).nullable(),
148
149
  sgr: zod.z.string().trim().max(255).nullable(),
149
150
  isFeatured: zod.z.boolean(),
151
+ isBoxEligible: zod.z.boolean(),
150
152
  sortOrder: zod.z.number().int().min(0).max(1e6),
151
153
  translations: UniqueLocalesSchema(ProductTranslationInputSchema),
152
154
  categoryPublicIds: zod.z.array(PublicIdSchema).min(1).max(100),
@@ -244,6 +246,7 @@ var ProductSchema = zod.z.object({
244
246
  manufacturerName: zod.z.string().nullable(),
245
247
  sgr: zod.z.string().nullable(),
246
248
  isFeatured: zod.z.boolean(),
249
+ isBoxEligible: zod.z.boolean(),
247
250
  sortOrder: zod.z.number().int().nonnegative(),
248
251
  publishedAt: zod.z.string().datetime().nullable(),
249
252
  version: zod.z.number().int().positive(),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/catalog/catalog.enums.ts","../../src/localization/app-locale.enum.ts","../../src/localization/app-locale.schema.ts","../../src/common/pagination.schemas.ts","../../src/common/list-query.schemas.ts","../../src/catalog/catalog.schemas.ts"],"names":["z"],"mappings":"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","file":"index.js","sourcesContent":["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 const AppLocale = {\n RU: 'ru',\n KK: 'kk',\n UZ: 'uz',\n EN: 'en',\n} as const;\n\nexport type AppLocale = (typeof AppLocale)[keyof typeof AppLocale];\n\nexport const SupportedLocales = Object.values(\n AppLocale,\n) as readonly AppLocale[];\n","import { z } from 'zod';\nimport { AppLocale } from './app-locale.enum';\n\nexport const AppLocaleSchema = z.enum(AppLocale);\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","import { z } from 'zod';\nimport { AppLocaleSchema } from '../localization/app-locale.schema';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport {\n ProductMediaRole,\n ProductMediaType,\n ProductStatus,\n ProductUnit,\n} from './catalog.enums';\n\nconst CodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);\nconst SlugSchema = z\n .string()\n .trim()\n .toLowerCase()\n .regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/)\n .max(160);\nconst PublicIdSchema = z.uuid();\nconst MoneySchema = z\n .string()\n .trim()\n .regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/)\n .refine((value) => Number(value) > 0, 'Значение должно быть больше нуля');\nconst PvSchema = z\n .string()\n .trim()\n .regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/)\n .refine((value) => Number(value) > 0, 'PV должен быть больше нуля');\nconst PositiveDecimalSchema = z\n .string()\n .trim()\n .regex(/^\\d{1,9}(?:\\.\\d{1,3})?$/)\n .refine((value) => Number(value) > 0, 'Значение должно быть больше нуля');\n\nexport const ProductCategoryTranslationInputSchema = z.object({\n locale: AppLocaleSchema,\n name: z.string().trim().min(1).max(120),\n description: z.string().trim().max(500).nullable().optional(),\n});\n\nexport const ProductTranslationInputSchema = z.object({\n locale: AppLocaleSchema,\n name: z.string().trim().min(1).max(180),\n shortDescription: z.string().trim().min(1).max(500),\n description: z.string().trim().min(1).max(20_000),\n composition: z.string().trim().max(20_000).nullable().optional(),\n usageInstructions: z.string().trim().max(20_000).nullable().optional(),\n features: z.string().trim().max(20_000).nullable().optional(),\n contraindications: z.string().trim().max(20_000).nullable().optional(),\n shelfLife: z.string().trim().min(1).max(255),\n packageContents: z.string().trim().max(2_000).nullable().optional(),\n});\n\nconst UniqueLocalesSchema = <T extends z.ZodTypeAny>(schema: T) =>\n z\n .array(schema)\n .min(1)\n .max(4)\n .refine(\n (items) =>\n new Set(items.map((item) => (item as { locale: string }).locale))\n .size === items.length,\n 'Перевод для каждого языка можно передать только один раз',\n );\n\nexport const CreateProductCategoryRequestSchema = z.object({\n code: CodeSchema,\n slug: SlugSchema,\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n translations: UniqueLocalesSchema(ProductCategoryTranslationInputSchema),\n});\n\nexport const UpdateProductCategoryRequestSchema = z\n .object({\n slug: SlugSchema,\n sortOrder: z.number().int().min(0).max(1_000_000),\n translations: UniqueLocalesSchema(ProductCategoryTranslationInputSchema),\n version: z.number().int().positive(),\n })\n .partial()\n .required({ version: true });\n\nconst ProductVariantFieldsSchema = z.object({\n sku: CodeSchema,\n barcode: z.string().trim().min(1).max(64).nullable().optional(),\n quantity: PositiveDecimalSchema,\n unit: z.enum(ProductUnit),\n netWeightGrams: PositiveDecimalSchema.nullable().optional(),\n priceUsd: MoneySchema,\n pv: PvSchema,\n shippingWeightGrams: PositiveDecimalSchema.nullable().optional(),\n lengthMm: PositiveDecimalSchema.nullable().optional(),\n widthMm: PositiveDecimalSchema.nullable().optional(),\n heightMm: PositiveDecimalSchema.nullable().optional(),\n isDefault: z.boolean(),\n isActive: z.boolean(),\n sortOrder: z.number().int().min(0).max(1_000_000),\n});\n\nexport const ProductVariantInputSchema = ProductVariantFieldsSchema.extend({\n isDefault: ProductVariantFieldsSchema.shape.isDefault.default(false),\n isActive: ProductVariantFieldsSchema.shape.isActive.default(true),\n sortOrder: ProductVariantFieldsSchema.shape.sortOrder.default(0),\n});\n\nexport const CreateProductRequestSchema = z\n .object({\n code: CodeSchema,\n slug: SlugSchema,\n manufacturerCountryCode: z.string().trim().toUpperCase().length(2),\n manufacturerName: z.string().trim().max(255).nullable().optional(),\n sgr: z.string().trim().max(255).nullable().optional(),\n isFeatured: z.boolean().default(false),\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n translations: UniqueLocalesSchema(ProductTranslationInputSchema),\n categoryPublicIds: z.array(PublicIdSchema).min(1).max(100),\n primaryCategoryPublicId: PublicIdSchema,\n variants: z\n .array(ProductVariantInputSchema)\n .min(1)\n .max(100)\n .refine(\n (items) => items.filter((item) => item.isDefault).length === 1,\n 'Должна быть ровно одна основная вариация',\n ),\n })\n .refine(\n (value) => value.categoryPublicIds.includes(value.primaryCategoryPublicId),\n {\n message: 'Основная категория должна присутствовать в списке категорий',\n path: ['primaryCategoryPublicId'],\n },\n );\n\nexport const UpdateProductRequestSchema = z\n .object({\n slug: SlugSchema,\n manufacturerCountryCode: z.string().trim().toUpperCase().length(2),\n manufacturerName: z.string().trim().max(255).nullable(),\n sgr: z.string().trim().max(255).nullable(),\n isFeatured: z.boolean(),\n sortOrder: z.number().int().min(0).max(1_000_000),\n translations: UniqueLocalesSchema(ProductTranslationInputSchema),\n categoryPublicIds: z.array(PublicIdSchema).min(1).max(100),\n primaryCategoryPublicId: PublicIdSchema,\n version: z.number().int().positive(),\n })\n .partial()\n .required({ version: true })\n .refine(\n (value) =>\n !value.primaryCategoryPublicId ||\n !value.categoryPublicIds ||\n value.categoryPublicIds.includes(value.primaryCategoryPublicId),\n {\n message: 'Основная категория должна присутствовать в списке категорий',\n path: ['primaryCategoryPublicId'],\n },\n );\n\nexport const CreateProductVariantRequestSchema = ProductVariantInputSchema;\nexport const UpdateProductVariantRequestSchema =\n ProductVariantFieldsSchema.partial().extend({\n version: z.number().int().positive(),\n });\n\nexport const ProductPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\nexport const ProductSlugParamSchema = z.object({ slug: SlugSchema });\nexport const ProductVariantPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n});\nexport const ProductMediaPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n mediaPublicId: PublicIdSchema,\n});\n\nconst QueryBooleanSchema = z.union([\n z.boolean(),\n z.enum(['true', 'false']).transform((value) => value === 'true'),\n]);\n\nexport const ProductListQuerySchema = BaseListQuerySchema.extend({\n status: z.enum(ProductStatus).optional(),\n category: SlugSchema.optional(),\n featured: QueryBooleanSchema.optional(),\n});\n\nexport const CreateExternalProductVideoRequestSchema = z.object({\n url: z\n .url()\n .max(2_000)\n .refine((value) => {\n const url = new URL(value);\n const host = url.hostname.toLowerCase().replace(/^www\\./, '');\n return (\n url.protocol === 'https:' &&\n ['youtube.com', 'youtu.be', 'vimeo.com', 'player.vimeo.com'].includes(\n host,\n )\n );\n }, 'Поддерживаются только HTTPS-ссылки YouTube и Vimeo'),\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n});\n\nexport const UploadProductImageRequestSchema = z.object({\n role: z.enum(ProductMediaRole).default(ProductMediaRole.GALLERY),\n sortOrder: z.coerce.number().int().min(0).max(1_000_000).default(0),\n});\n\nexport const UploadProductVideoRequestSchema = z.object({\n sortOrder: z.coerce.number().int().min(0).max(1_000_000).default(0),\n});\n\nexport const UpdateProductMediaRequestSchema = z.object({\n role: z.enum(ProductMediaRole).optional(),\n sortOrder: z.number().int().min(0).max(1_000_000).optional(),\n});\n\nexport const ProductCategorySchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n slug: SlugSchema,\n status: z.enum(ProductStatus),\n sortOrder: z.number().int().nonnegative(),\n version: z.number().int().positive(),\n translations: z.array(ProductCategoryTranslationInputSchema),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ProductVariantSchema = ProductVariantInputSchema.extend({\n publicId: PublicIdSchema,\n version: z.number().int().positive(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ProductMediaSchema = z.object({\n publicId: PublicIdSchema,\n type: z.enum(ProductMediaType),\n role: z.enum(ProductMediaRole),\n externalUrl: z.string().nullable(),\n contentUrl: z.string().nullable(),\n mimeType: z.string().nullable(),\n sizeBytes: z.number().int().positive().nullable(),\n originalName: z.string().nullable(),\n sortOrder: z.number().int().nonnegative(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ProductSchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n slug: SlugSchema,\n status: z.enum(ProductStatus),\n manufacturerCountryCode: z.string().length(2),\n manufacturerName: z.string().nullable(),\n sgr: z.string().nullable(),\n isFeatured: z.boolean(),\n sortOrder: z.number().int().nonnegative(),\n publishedAt: z.string().datetime().nullable(),\n version: z.number().int().positive(),\n translations: z.array(ProductTranslationInputSchema),\n categories: z.array(ProductCategorySchema),\n primaryCategoryPublicId: PublicIdSchema,\n variants: z.array(ProductVariantSchema),\n media: z.array(ProductMediaSchema),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const LocalizedProductCategorySchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n slug: SlugSchema,\n name: z.string(),\n description: z.string().nullable(),\n});\n\nexport const LocalizedProductSchema = ProductSchema.omit({\n translations: true,\n categories: true,\n version: true,\n}).extend({\n isAvailable: z.boolean(),\n name: z.string(),\n shortDescription: z.string(),\n description: z.string(),\n composition: z.string().nullable(),\n usageInstructions: z.string().nullable(),\n features: z.string().nullable(),\n contraindications: z.string().nullable(),\n shelfLife: z.string(),\n packageContents: z.string().nullable(),\n categories: z.array(LocalizedProductCategorySchema),\n variants: z.array(ProductVariantSchema.extend({ isAvailable: z.boolean() })),\n});\n"]}
1
+ {"version":3,"sources":["../../src/catalog/catalog.enums.ts","../../src/localization/app-locale.enum.ts","../../src/localization/app-locale.schema.ts","../../src/common/pagination.schemas.ts","../../src/common/list-query.schemas.ts","../../src/catalog/catalog.schemas.ts"],"names":["z"],"mappings":"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","file":"index.js","sourcesContent":["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 const AppLocale = {\n RU: 'ru',\n KK: 'kk',\n UZ: 'uz',\n EN: 'en',\n} as const;\n\nexport type AppLocale = (typeof AppLocale)[keyof typeof AppLocale];\n\nexport const SupportedLocales = Object.values(\n AppLocale,\n) as readonly AppLocale[];\n","import { z } from 'zod';\nimport { AppLocale } from './app-locale.enum';\n\nexport const AppLocaleSchema = z.enum(AppLocale);\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","import { z } from 'zod';\nimport { AppLocaleSchema } from '../localization/app-locale.schema';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport {\n ProductMediaRole,\n ProductMediaType,\n ProductStatus,\n ProductUnit,\n} from './catalog.enums';\n\nconst CodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);\nconst SlugSchema = z\n .string()\n .trim()\n .toLowerCase()\n .regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/)\n .max(160);\nconst PublicIdSchema = z.uuid();\nconst MoneySchema = z\n .string()\n .trim()\n .regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/)\n .refine((value) => Number(value) > 0, 'Значение должно быть больше нуля');\nconst PvSchema = z\n .string()\n .trim()\n .regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/)\n .refine((value) => Number(value) > 0, 'PV должен быть больше нуля');\nconst PositiveDecimalSchema = z\n .string()\n .trim()\n .regex(/^\\d{1,9}(?:\\.\\d{1,3})?$/)\n .refine((value) => Number(value) > 0, 'Значение должно быть больше нуля');\n\nexport const ProductCategoryTranslationInputSchema = z.object({\n locale: AppLocaleSchema,\n name: z.string().trim().min(1).max(120),\n description: z.string().trim().max(500).nullable().optional(),\n});\n\nexport const ProductTranslationInputSchema = z.object({\n locale: AppLocaleSchema,\n name: z.string().trim().min(1).max(180),\n shortDescription: z.string().trim().min(1).max(500),\n description: z.string().trim().min(1).max(20_000),\n composition: z.string().trim().max(20_000).nullable().optional(),\n usageInstructions: z.string().trim().max(20_000).nullable().optional(),\n features: z.string().trim().max(20_000).nullable().optional(),\n contraindications: z.string().trim().max(20_000).nullable().optional(),\n shelfLife: z.string().trim().min(1).max(255),\n packageContents: z.string().trim().max(2_000).nullable().optional(),\n});\n\nconst UniqueLocalesSchema = <T extends z.ZodTypeAny>(schema: T) =>\n z\n .array(schema)\n .min(1)\n .max(4)\n .refine(\n (items) =>\n new Set(items.map((item) => (item as { locale: string }).locale))\n .size === items.length,\n 'Перевод для каждого языка можно передать только один раз',\n );\n\nexport const CreateProductCategoryRequestSchema = z.object({\n code: CodeSchema,\n slug: SlugSchema,\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n translations: UniqueLocalesSchema(ProductCategoryTranslationInputSchema),\n});\n\nexport const UpdateProductCategoryRequestSchema = z\n .object({\n slug: SlugSchema,\n sortOrder: z.number().int().min(0).max(1_000_000),\n translations: UniqueLocalesSchema(ProductCategoryTranslationInputSchema),\n version: z.number().int().positive(),\n })\n .partial()\n .required({ version: true });\n\nconst ProductVariantFieldsSchema = z.object({\n sku: CodeSchema,\n barcode: z.string().trim().min(1).max(64).nullable().optional(),\n quantity: PositiveDecimalSchema,\n unit: z.enum(ProductUnit),\n netWeightGrams: PositiveDecimalSchema.nullable().optional(),\n priceUsd: MoneySchema,\n pv: PvSchema,\n shippingWeightGrams: PositiveDecimalSchema.nullable().optional(),\n lengthMm: PositiveDecimalSchema.nullable().optional(),\n widthMm: PositiveDecimalSchema.nullable().optional(),\n heightMm: PositiveDecimalSchema.nullable().optional(),\n isDefault: z.boolean(),\n isActive: z.boolean(),\n sortOrder: z.number().int().min(0).max(1_000_000),\n});\n\nexport const ProductVariantInputSchema = ProductVariantFieldsSchema.extend({\n isDefault: ProductVariantFieldsSchema.shape.isDefault.default(false),\n isActive: ProductVariantFieldsSchema.shape.isActive.default(true),\n sortOrder: ProductVariantFieldsSchema.shape.sortOrder.default(0),\n});\n\nexport const CreateProductRequestSchema = z\n .object({\n code: CodeSchema,\n slug: SlugSchema,\n manufacturerCountryCode: z.string().trim().toUpperCase().length(2),\n manufacturerName: z.string().trim().max(255).nullable().optional(),\n sgr: z.string().trim().max(255).nullable().optional(),\n isFeatured: z.boolean().default(false),\n isBoxEligible: z.boolean().default(false),\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n translations: UniqueLocalesSchema(ProductTranslationInputSchema),\n categoryPublicIds: z.array(PublicIdSchema).min(1).max(100),\n primaryCategoryPublicId: PublicIdSchema,\n variants: z\n .array(ProductVariantInputSchema)\n .min(1)\n .max(100)\n .refine(\n (items) => items.filter((item) => item.isDefault).length === 1,\n 'Должна быть ровно одна основная вариация',\n ),\n })\n .refine(\n (value) => value.categoryPublicIds.includes(value.primaryCategoryPublicId),\n {\n message: 'Основная категория должна присутствовать в списке категорий',\n path: ['primaryCategoryPublicId'],\n },\n );\n\nexport const UpdateProductRequestSchema = z\n .object({\n slug: SlugSchema,\n manufacturerCountryCode: z.string().trim().toUpperCase().length(2),\n manufacturerName: z.string().trim().max(255).nullable(),\n sgr: z.string().trim().max(255).nullable(),\n isFeatured: z.boolean(),\n isBoxEligible: z.boolean(),\n sortOrder: z.number().int().min(0).max(1_000_000),\n translations: UniqueLocalesSchema(ProductTranslationInputSchema),\n categoryPublicIds: z.array(PublicIdSchema).min(1).max(100),\n primaryCategoryPublicId: PublicIdSchema,\n version: z.number().int().positive(),\n })\n .partial()\n .required({ version: true })\n .refine(\n (value) =>\n !value.primaryCategoryPublicId ||\n !value.categoryPublicIds ||\n value.categoryPublicIds.includes(value.primaryCategoryPublicId),\n {\n message: 'Основная категория должна присутствовать в списке категорий',\n path: ['primaryCategoryPublicId'],\n },\n );\n\nexport const CreateProductVariantRequestSchema = ProductVariantInputSchema;\nexport const UpdateProductVariantRequestSchema =\n ProductVariantFieldsSchema.partial().extend({\n version: z.number().int().positive(),\n });\n\nexport const ProductPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\nexport const ProductSlugParamSchema = z.object({ slug: SlugSchema });\nexport const ProductVariantPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n});\nexport const ProductMediaPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n mediaPublicId: PublicIdSchema,\n});\n\nconst QueryBooleanSchema = z.union([\n z.boolean(),\n z.enum(['true', 'false']).transform((value) => value === 'true'),\n]);\n\nexport const ProductListQuerySchema = BaseListQuerySchema.extend({\n status: z.enum(ProductStatus).optional(),\n category: SlugSchema.optional(),\n featured: QueryBooleanSchema.optional(),\n});\n\nexport const CreateExternalProductVideoRequestSchema = z.object({\n url: z\n .url()\n .max(2_000)\n .refine((value) => {\n const url = new URL(value);\n const host = url.hostname.toLowerCase().replace(/^www\\./, '');\n return (\n url.protocol === 'https:' &&\n ['youtube.com', 'youtu.be', 'vimeo.com', 'player.vimeo.com'].includes(\n host,\n )\n );\n }, 'Поддерживаются только HTTPS-ссылки YouTube и Vimeo'),\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n});\n\nexport const UploadProductImageRequestSchema = z.object({\n role: z.enum(ProductMediaRole).default(ProductMediaRole.GALLERY),\n sortOrder: z.coerce.number().int().min(0).max(1_000_000).default(0),\n});\n\nexport const UploadProductVideoRequestSchema = z.object({\n sortOrder: z.coerce.number().int().min(0).max(1_000_000).default(0),\n});\n\nexport const UpdateProductMediaRequestSchema = z.object({\n role: z.enum(ProductMediaRole).optional(),\n sortOrder: z.number().int().min(0).max(1_000_000).optional(),\n});\n\nexport const ProductCategorySchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n slug: SlugSchema,\n status: z.enum(ProductStatus),\n sortOrder: z.number().int().nonnegative(),\n version: z.number().int().positive(),\n translations: z.array(ProductCategoryTranslationInputSchema),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ProductVariantSchema = ProductVariantInputSchema.extend({\n publicId: PublicIdSchema,\n version: z.number().int().positive(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ProductMediaSchema = z.object({\n publicId: PublicIdSchema,\n type: z.enum(ProductMediaType),\n role: z.enum(ProductMediaRole),\n externalUrl: z.string().nullable(),\n contentUrl: z.string().nullable(),\n mimeType: z.string().nullable(),\n sizeBytes: z.number().int().positive().nullable(),\n originalName: z.string().nullable(),\n sortOrder: z.number().int().nonnegative(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ProductSchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n slug: SlugSchema,\n status: z.enum(ProductStatus),\n manufacturerCountryCode: z.string().length(2),\n manufacturerName: z.string().nullable(),\n sgr: z.string().nullable(),\n isFeatured: z.boolean(),\n isBoxEligible: z.boolean(),\n sortOrder: z.number().int().nonnegative(),\n publishedAt: z.string().datetime().nullable(),\n version: z.number().int().positive(),\n translations: z.array(ProductTranslationInputSchema),\n categories: z.array(ProductCategorySchema),\n primaryCategoryPublicId: PublicIdSchema,\n variants: z.array(ProductVariantSchema),\n media: z.array(ProductMediaSchema),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const LocalizedProductCategorySchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n slug: SlugSchema,\n name: z.string(),\n description: z.string().nullable(),\n});\n\nexport const LocalizedProductSchema = ProductSchema.omit({\n translations: true,\n categories: true,\n version: true,\n}).extend({\n isAvailable: z.boolean(),\n name: z.string(),\n shortDescription: z.string(),\n description: z.string(),\n composition: z.string().nullable(),\n usageInstructions: z.string().nullable(),\n features: z.string().nullable(),\n contraindications: z.string().nullable(),\n shelfLife: z.string(),\n packageContents: z.string().nullable(),\n categories: z.array(LocalizedProductCategorySchema),\n variants: z.array(ProductVariantSchema.extend({ isAvailable: z.boolean() })),\n});\n"]}
@@ -124,6 +124,7 @@ var CreateProductRequestSchema = z.object({
124
124
  manufacturerName: z.string().trim().max(255).nullable().optional(),
125
125
  sgr: z.string().trim().max(255).nullable().optional(),
126
126
  isFeatured: z.boolean().default(false),
127
+ isBoxEligible: z.boolean().default(false),
127
128
  sortOrder: z.number().int().min(0).max(1e6).default(0),
128
129
  translations: UniqueLocalesSchema(ProductTranslationInputSchema),
129
130
  categoryPublicIds: z.array(PublicIdSchema).min(1).max(100),
@@ -145,6 +146,7 @@ var UpdateProductRequestSchema = z.object({
145
146
  manufacturerName: z.string().trim().max(255).nullable(),
146
147
  sgr: z.string().trim().max(255).nullable(),
147
148
  isFeatured: z.boolean(),
149
+ isBoxEligible: z.boolean(),
148
150
  sortOrder: z.number().int().min(0).max(1e6),
149
151
  translations: UniqueLocalesSchema(ProductTranslationInputSchema),
150
152
  categoryPublicIds: z.array(PublicIdSchema).min(1).max(100),
@@ -242,6 +244,7 @@ var ProductSchema = z.object({
242
244
  manufacturerName: z.string().nullable(),
243
245
  sgr: z.string().nullable(),
244
246
  isFeatured: z.boolean(),
247
+ isBoxEligible: z.boolean(),
245
248
  sortOrder: z.number().int().nonnegative(),
246
249
  publishedAt: z.string().datetime().nullable(),
247
250
  version: z.number().int().positive(),