aivilife-contracts 5.2.0 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/pagination.schemas.ts","../src/common/list-query.schemas.ts","../src/common/id.schemas.ts","../src/user/user-role.enum.ts","../src/currency/rate.schemas.ts","../src/currency/currency.schemas.ts","../src/localization/app-locale.enum.ts","../src/localization/app-locale.schema.ts","../src/user/user.schemas.ts","../src/user/user-file-type.enum.ts","../src/user/user-file.schemas.ts","../src/auth/auth-user.contract.ts","../src/auth/refresh.contract.ts","../src/auth/sign-in.contract.ts","../src/marketing/marketing.enums.ts","../src/marketing/marketing-invitation.contract.ts","../src/auth/sign-up.contract.ts","../src/auth/registration-availability.contract.ts","../src/auth/account-actions.contract.ts","../src/wallets/wallets.enum.ts","../src/currency/money-view.schemas.ts","../src/wallets/wallets.contract.ts","../src/wallet-transaction/wallet-transaction.enums.ts","../src/wallet-transaction/wallet-transaction.schemas.ts","../src/countries/countries.contract.ts","../src/currency/exchange-rate.schemas.ts","../src/catalog/catalog.enums.ts","../src/catalog/catalog.schemas.ts","../src/cart/cart.enums.ts","../src/cart/cart.schemas.ts","../src/order/order.enums.ts","../src/warehouse/warehouse.enums.ts","../src/warehouse/warehouse.schemas.ts","../src/order/order.schemas.ts"],"names":["z","UserRole","UserFileType","BinaryBranch","MarketingMemberStatus","WalletCurrency","WalletStatus","WalletType","WalletTransactionDirection","WalletTransactionStatus","WalletTransactionReason","CartItemAvailability","PublicIdSchema","OrderDeliveryMethod","OrderPaymentMethod","OrderStatus","OrderPaymentStatus","OrderReceiptStatus","OrderReceiptDecision","OrderStockAvailability","OrderEventType","OrderNotificationType","CodeSchema","DateTimeSchema","MoneySchema","DecimalSchema"],"mappings":"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","file":"index.mjs","sourcesContent":["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';\n\n/** Максимум для Postgres int4 (SERIAL первичный ключ). */\nexport const INT4_MAX = 2147483647;\n\n/**\n * Идентификатор записи в БД (int4 PK).\n * Коэрсит строку из path/query в число и не пропускает значения вне диапазона\n * integer — иначе запрос падает в Postgres с `22003 out of range for type integer`.\n */\nexport const DbIdSchema = z.coerce.number().int().positive().max(INT4_MAX);\n\nexport type DbId = z.infer<typeof DbIdSchema>;\n","export enum UserRole {\n ADMIN = 'admin',\n MANAGER = 'manager',\n STAFF = 'staff',\n PARTNER = 'partner',\n}\n","import { z } from 'zod';\n\n/** numeric(30,18): up to 12 integer and 18 fractional digits. */\nexport const RatePerBaseSchema = z\n .string()\n .regex(\n /^\\d{1,12}(\\.\\d{1,18})?$/,\n 'Rate must contain at most 12 integer and 18 decimal digits',\n )\n .refine((value) => /[1-9]/.test(value), 'Rate must be greater than zero');\n","import { z } from 'zod';\nimport { RatePerBaseSchema } from './rate.schemas';\n\n/** Код валюты ISO 4217 (3 заглавные буквы). */\nexport const CurrencyCodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z]{3}$/, 'Invalid ISO 4217 currency code');\n\nexport const CurrencyCodeParamSchema = z.object({\n code: CurrencyCodeSchema,\n});\n\nexport const CurrencySchema = z.object({\n id: z.number().int().positive(),\n code: CurrencyCodeSchema,\n name: z.string().trim().max(255),\n symbol: z.string().trim().max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n isBase: z.boolean(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const CurrencyListResponseSchema = z.array(CurrencySchema);\n\nexport const CreateCurrencyRequestSchema = z.object({\n code: CurrencyCodeSchema,\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8).default(2),\n isActive: z.boolean().default(true),\n ratePerBase: RatePerBaseSchema,\n});\n\nexport const UpdateCurrencyRequestSchema = z\n .object({\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n })\n .partial();\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';\nimport { UserRole } from './user-role.enum';\nimport { CurrencyCodeSchema } from '../currency/currency.schemas';\nimport { AppLocaleSchema } from '../localization/app-locale.schema';\n\nconst socialLink = (hosts: readonly string[]) =>\n z\n .url()\n .trim()\n .max(255)\n .refine((value) => {\n const url = new URL(value);\n return (\n url.protocol === 'https:' &&\n hosts.some(\n (host) => url.hostname === host || url.hostname === `www.${host}`,\n )\n );\n }, 'Укажите безопасную ссылку на соответствующую социальную сеть');\n\nexport const UserSchema = z.object({\n id: z.number().int().positive(),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n uuid: z.string().trim().max(255),\n isActive: z.boolean(),\n isEmailVerified: z.boolean(),\n isPhoneVerified: z.boolean(),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n whatsappLink: z.string().trim().max(255).nullable(),\n instagramLink: z.string().trim().max(255).nullable(),\n telegramLink: z.string().trim().max(255).nullable(),\n displayCurrency: CurrencyCodeSchema,\n locale: AppLocaleSchema,\n role: z.enum(UserRole),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const CreateUserRequestSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n password: z.string().trim().min(6).max(255),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const UpdateUserRequestSchema = z\n .object({\n firstName: z.string().trim().min(1).max(255),\n lastName: z.string().trim().min(1).max(255),\n phoneNumber: z.string().trim().min(7).max(20),\n city: z.string().trim().min(1).max(255),\n whatsappLink: socialLink(['wa.me', 'api.whatsapp.com']).nullable(),\n instagramLink: socialLink(['instagram.com']).nullable(),\n telegramLink: socialLink(['t.me', 'telegram.me']).nullable(),\n displayCurrency: CurrencyCodeSchema,\n locale: AppLocaleSchema,\n })\n .partial()\n .strict()\n .refine((value) => Object.keys(value).length > 0, {\n message: 'Передайте хотя бы одно поле для изменения',\n });\n\nexport const ChangePasswordRequestSchema = z\n .object({\n currentPassword: z.string().trim().min(6).max(255),\n newPassword: z.string().trim().min(6).max(255),\n })\n .refine((data) => data.currentPassword !== data.newPassword, {\n message: 'Новый пароль должен отличаться от текущего',\n path: ['newPassword'],\n });\n\nexport const UserListResponseSchema = z.array(UserSchema);\n","export enum UserFileType {\n PHOTO = 'PHOTO',\n DOCUMENT = 'DOCUMENT',\n}\n","import { z } from 'zod';\nimport { UserFileType } from './user-file-type.enum';\nimport { DbIdSchema } from '../common';\n\nexport const UserFileSchema = z.object({\n id: z.number().int().positive(),\n userId: z.number().int().positive(),\n type: z.enum(UserFileType),\n url: z.string().url(),\n originalName: z.string().nullable(),\n mimeType: z.string().min(1).nullable(),\n sizeBytes: z.number().int().positive().nullable(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const UserFileListSchema = z.array(UserFileSchema);\n\n/** Path-параметр `:fileId` для операций с файлами пользователя. */\nexport const FileIdParamSchema = z.object({\n fileId: DbIdSchema,\n});\n\nexport type UserFile = z.infer<typeof UserFileSchema>;\nexport type UserFileList = z.infer<typeof UserFileListSchema>;\nexport type FileIdParam = z.infer<typeof FileIdParamSchema>;\n","import { z } from 'zod';\nimport { UserRole } from '../user';\n\nexport const AuthUserSchema = z.object({\n id: z.number(),\n login: z.string(),\n role: z.enum(UserRole),\n isActive: z.boolean(),\n});\n\nexport type AuthUser = z.infer<typeof AuthUserSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const RefreshResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type RefreshResponse = z.infer<typeof RefreshResponseSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const SignInRequestSchema = z.object({\n login: z\n .string('Логин должен быть строкой')\n .min(1, 'Логин не может быть пустым'),\n password: z\n .string('Пароль должен быть строкой')\n .min(1, 'Пароль не может быть пустым'),\n});\n\nexport const SignInResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type SignInRequest = z.infer<typeof SignInRequestSchema>;\nexport type SignInResponse = z.infer<typeof SignInResponseSchema>;\n","import { z } from 'zod';\n\nexport enum BinaryBranch {\n LEFT = 'LEFT',\n RIGHT = 'RIGHT',\n}\n\nexport enum MarketingMemberStatus {\n ACTIVE = 'ACTIVE',\n BLOCKED = 'BLOCKED',\n}\n\nexport const BinaryBranchSchema = z.enum(BinaryBranch);\nexport const MarketingMemberStatusSchema = z.enum(MarketingMemberStatus);\n","import { z } from 'zod';\nimport { BinaryBranchSchema } from './marketing.enums';\n\nexport const MarketingPublicIdentifierSchema = z\n .string()\n .trim()\n .min(3)\n .max(255);\n\nexport const MarketingInvitationTokenSchema = z\n .string()\n .trim()\n .regex(/^[A-Za-z0-9_-]{43}$/);\n\nexport const ManualMarketingPlacementSchema = z.object({\n sponsorId: MarketingPublicIdentifierSchema,\n leg: BinaryBranchSchema,\n});\n\nexport const InvitationMarketingPlacementSchema = z.object({\n invitationToken: MarketingInvitationTokenSchema,\n});\n\nexport const CreateMarketingInvitationRequestSchema = z.object({\n leg: BinaryBranchSchema,\n});\n\nexport const MarketingPlacementIdentitySchema = z.object({\n uuid: z.string().trim().min(1).max(255),\n login: z.string().trim().min(1).max(255),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n});\n\nexport const MarketingPlacementPreviewSchema = z.object({\n sponsor: MarketingPlacementIdentitySchema,\n leg: BinaryBranchSchema,\n expiresAt: z.iso.datetime().nullable(),\n});\n\nexport const CreateMarketingInvitationResponseSchema =\n MarketingPlacementPreviewSchema.extend({\n invitationToken: MarketingInvitationTokenSchema,\n });\n\nexport type ManualMarketingPlacement = z.infer<\n typeof ManualMarketingPlacementSchema\n>;\nexport type InvitationMarketingPlacement = z.infer<\n typeof InvitationMarketingPlacementSchema\n>;\nexport type CreateMarketingInvitationRequest = z.infer<\n typeof CreateMarketingInvitationRequestSchema\n>;\nexport type MarketingPlacementIdentity = z.infer<\n typeof MarketingPlacementIdentitySchema\n>;\nexport type MarketingPlacementPreview = z.infer<\n typeof MarketingPlacementPreviewSchema\n>;\nexport type CreateMarketingInvitationResponse = z.infer<\n typeof CreateMarketingInvitationResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n InvitationMarketingPlacementSchema,\n ManualMarketingPlacementSchema,\n} from '../marketing';\n\nexport const RegistrationEmailSchema = z\n .email('Введите корректный email')\n .trim()\n .toLowerCase();\n\nexport const RegistrationPhoneNumberSchema = z\n .string()\n .trim()\n .regex(/^\\+[1-9]\\d{7,14}$/, 'Введите корректный международный номер');\n\nexport const RegistrationLoginSchema = z\n .string()\n .trim()\n .min(3, 'Логин должен содержать не менее 3 символов')\n .max(255)\n .regex(/^[a-z0-9]+$/, 'Используйте только строчные латинские буквы и цифры');\n\nexport const RegistrationPasswordSchema = z\n .string()\n .min(6, 'Пароль должен содержать не менее 6 символов')\n .max(255);\n\nconst SignUpBaseSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: RegistrationEmailSchema,\n phoneNumber: RegistrationPhoneNumberSchema,\n login: RegistrationLoginSchema,\n password: RegistrationPasswordSchema,\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const SignUpRequestSchema = SignUpBaseSchema.extend({\n sponsorId: ManualMarketingPlacementSchema.shape.sponsorId.optional(),\n leg: ManualMarketingPlacementSchema.shape.leg.optional(),\n invitationToken:\n InvitationMarketingPlacementSchema.shape.invitationToken.optional(),\n}).superRefine((input, context) => {\n const hasInvitation = input.invitationToken !== undefined;\n const manualFields = [input.sponsorId, input.leg];\n const hasAnyManualField = manualFields.some((value) => value !== undefined);\n const hasEveryManualField = manualFields.every(\n (value) => value !== undefined,\n );\n\n if (\n hasInvitation === hasAnyManualField ||\n (!hasInvitation && !hasEveryManualField)\n ) {\n context.addIssue({\n code: 'custom',\n message: 'Передайте invitationToken или полный набор sponsorId и leg',\n path: ['invitationToken'],\n });\n }\n});\n\nexport type SignUpRequest = z.infer<typeof SignUpRequestSchema>;\n","import { z } from 'zod';\nimport {\n RegistrationEmailSchema,\n RegistrationLoginSchema,\n RegistrationPhoneNumberSchema,\n} from './sign-up.contract';\n\nexport const RegistrationAvailabilityRequestSchema = z\n .object({\n email: RegistrationEmailSchema.optional(),\n phoneNumber: RegistrationPhoneNumberSchema.optional(),\n login: RegistrationLoginSchema.optional(),\n })\n .refine(\n ({ email, phoneNumber, login }) =>\n email !== undefined || phoneNumber !== undefined || login !== undefined,\n 'Передайте хотя бы одно поле для проверки',\n );\n\nexport const RegistrationAvailabilityResponseSchema = z.object({\n emailAvailable: z.boolean().nullable(),\n phoneNumberAvailable: z.boolean().nullable(),\n loginAvailable: z.boolean().nullable(),\n});\n\nexport type RegistrationAvailabilityRequest = z.infer<\n typeof RegistrationAvailabilityRequestSchema\n>;\nexport type RegistrationAvailabilityResponse = z.infer<\n typeof RegistrationAvailabilityResponseSchema\n>;\n","import { z } from 'zod';\n\nconst ActionTokenSchema = z.string().trim().min(40).max(500);\n\nexport const RequestEmailVerificationSchema = z.object({\n email: z.email().trim(),\n});\n\nexport const ConfirmEmailSchema = z.object({\n token: ActionTokenSchema,\n});\n\nexport const RequestEmailChangeSchema = z.object({\n newEmail: z.email().trim(),\n currentPassword: z.string().trim().min(6).max(255),\n});\n\nexport const ConfirmEmailChangeSchema = z.object({\n token: ActionTokenSchema,\n});\n\nexport const ForgotPasswordSchema = z.object({\n email: z.email().trim(),\n});\n\nexport const ResetPasswordSchema = z.object({\n token: ActionTokenSchema,\n newPassword: z.string().trim().min(8).max(255),\n});\n\nexport type RequestEmailVerification = z.infer<\n typeof RequestEmailVerificationSchema\n>;\nexport type ConfirmEmail = z.infer<typeof ConfirmEmailSchema>;\nexport type RequestEmailChange = z.infer<typeof RequestEmailChangeSchema>;\nexport type ConfirmEmailChange = z.infer<typeof ConfirmEmailChangeSchema>;\nexport type ForgotPassword = z.infer<typeof ForgotPasswordSchema>;\nexport type ResetPassword = z.infer<typeof ResetPasswordSchema>;\n","export enum WalletCurrency {\n PV = 'PV',\n MONEY = 'MONEY',\n}\n\nexport enum WalletStatus {\n ACTIVE = 'ACTIVE',\n BLOCKED = 'BLOCKED',\n ARCHIVED = 'ARCHIVED',\n}\n\nexport enum WalletType {\n MAIN = 'MAIN',\n BONUS = 'BONUS',\n CASHBACK = 'CASHBACK',\n PREMIUM = 'PREMIUM',\n}\n","import { z } from 'zod';\nimport { CurrencyCodeSchema } from './currency.schemas';\n\n/** Денежная сумма как строка (decimal), напр. \"1234.56\". */\nexport const MoneyAmountStringSchema = z\n .string()\n .regex(/^\\d+(\\.\\d{1,8})?$/, 'Invalid money amount');\n\n/**\n * Представление денежной суммы в валюте отображения.\n * `amount` уже сконвертирован из базовой валюты по `rate`.\n */\nexport const MoneyViewSchema = z.object({\n currency: CurrencyCodeSchema,\n amount: MoneyAmountStringSchema,\n rate: z.string(),\n});\n","import { z } from 'zod';\nimport { WalletCurrency, WalletStatus, WalletType } from './wallets.enum';\nimport { MoneyViewSchema } from '../currency/money-view.schemas';\n\nexport const WalletTypeSchema = z.enum(WalletType);\nexport const WalletStatusSchema = z.enum(WalletStatus);\nexport const WalletCurrencySchema = z.enum(WalletCurrency);\n\nexport const WalletSchema = z.object({\n id: z.number().int().positive(),\n userId: z.number().int().positive(),\n type: WalletTypeSchema,\n balance: z.string(),\n blockedBalance: z.string(),\n currency: WalletCurrencySchema,\n status: WalletStatusSchema,\n /** Баланс в валюте отображения пользователя (только для денежных кошельков). */\n display: MoneyViewSchema.nullable().optional(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const WalletListResponseSchema = z.array(WalletSchema);\n\nexport const GetUserWalletsParamsSchema = z.object({\n userId: z.coerce.number().int().positive(),\n});\n\nexport const GetUserWalletByTypeParamsSchema = z.object({\n userId: z.coerce.number().int().positive(),\n type: WalletTypeSchema,\n});\n","export enum WalletTransactionDirection {\n CREDIT = 'CREDIT',\n DEBIT = 'DEBIT',\n}\n\nexport enum WalletTransactionStatus {\n COMPLETED = 'COMPLETED',\n FAILED = 'FAILED',\n}\n\nexport enum WalletTransactionReason {\n REFERRAL_BONUS = 'REFERRAL_BONUS',\n BINARY_BONUS = 'BINARY_BONUS',\n MATCHING_BONUS = 'MATCHING_BONUS',\n STATUS_BONUS = 'STATUS_BONUS',\n EXTRA_BONUS = 'EXTRA_BONUS',\n STRUCTURE_BONUS = 'STRUCTURE_BONUS',\n PRODUCT_PURCHASE = 'PRODUCT_PURCHASE',\n PLAN_PURCHASE = 'PLAN_PURCHASE',\n WITHDRAWAL = 'WITHDRAWAL',\n TRANSFER_IN = 'TRANSFER_IN',\n TRANSFER_OUT = 'TRANSFER_OUT',\n REFUND = 'REFUND',\n EXPIRATION = 'EXPIRATION',\n}\n","import { z } from 'zod';\nimport {\n WalletTransactionDirection,\n WalletTransactionReason,\n WalletTransactionStatus,\n} from './wallet-transaction.enums';\nimport { WalletCurrency, WalletType } from '../wallets';\nimport { BaseListQuerySchema, DbIdSchema } from '../common';\nimport { MoneyViewSchema } from '../currency/money-view.schemas';\n\nexport const MoneyAmountSchema = z\n .string()\n .regex(\n /^\\d{1,16}(\\.\\d{1,2})?$/,\n 'Money amount must contain at most 16 integer and 2 decimal digits',\n );\n\nexport const WalletOperationKeySchema = z\n .string()\n .trim()\n .min(1)\n .max(150)\n .regex(/^[A-Za-z0-9][A-Za-z0-9:._-]*$/, 'Invalid wallet operation key');\n\nexport const WalletTransactionDirectionSchema = z.enum(\n WalletTransactionDirection,\n);\n\nexport const WalletTransactionStatusSchema = z.enum(WalletTransactionStatus);\n\nexport const WalletTransactionReasonSchema = z.enum(WalletTransactionReason);\n\nexport const WalletTransactionSourceUserSchema = z.object({\n id: z.number().int().positive(),\n login: z.string().trim().max(255).nullable(),\n fullName: z.string().trim().max(255).nullable(),\n});\n\nexport const WalletTransactionSchema = z.object({\n id: z.number().int().positive(),\n operationKey: WalletOperationKeySchema,\n walletId: z.number().int().positive(),\n userId: z.number().int().positive(),\n walletType: z.enum(WalletType),\n direction: WalletTransactionDirectionSchema,\n reason: WalletTransactionReasonSchema,\n status: WalletTransactionStatusSchema,\n amount: MoneyAmountSchema,\n balanceBefore: MoneyAmountSchema,\n balanceAfter: MoneyAmountSchema,\n currency: z.enum(WalletCurrency),\n referenceType: z.string().trim().max(100).nullable(),\n referenceId: z.string().trim().max(100).nullable(),\n sourceUserId: z.number().int().positive().nullable(),\n initiatorUserId: z.number().int().positive().nullable(),\n comment: z.string().trim().max(500).nullable(),\n createdAt: z.string().datetime(),\n});\n\nexport const WalletTransactionDetailsSchema = WalletTransactionSchema.extend({\n sourceUser: WalletTransactionSourceUserSchema.nullable(),\n displayAmount: MoneyViewSchema.nullable().optional(),\n});\n\nexport const CreateWalletTransactionRequestSchema = z.object({\n operationKey: WalletOperationKeySchema,\n userId: z.number().int().positive(),\n walletType: z.enum(WalletType),\n direction: WalletTransactionDirectionSchema,\n reason: WalletTransactionReasonSchema,\n amount: MoneyAmountSchema,\n referenceType: z.string().trim().max(100).optional(),\n referenceId: z.string().trim().max(100).optional(),\n sourceUserId: z.number().int().positive().optional(),\n initiatorUserId: z.number().int().positive().optional(),\n comment: z.string().trim().max(500).optional(),\n});\n\nexport const WalletTransactionsListQuerySchema = BaseListQuerySchema.extend({\n walletType: z.enum(WalletType).optional(),\n direction: WalletTransactionDirectionSchema.optional(),\n reason: WalletTransactionReasonSchema.optional(),\n});\n\nexport const WalletTransactionListResponseSchema = z.array(\n WalletTransactionSchema,\n);\n\nexport const WalletTransactionDetailsListResponseSchema = z.array(\n WalletTransactionDetailsSchema,\n);\n\nexport const GetUserWalletTransactionsParamsSchema = z.object({\n userId: DbIdSchema,\n});\n","import { z } from 'zod';\n\nexport const CountryResponseSchema = z.object({\n name: z.string(),\n code: z.string().length(2),\n nativeName: z.string(),\n});\n\nexport const CityResponseSchema = z.object({\n name: z.string(),\n nativeName: z.string(),\n});\n\nexport const GetCitiesQuerySchema = z.object({\n countryCode: z.string().length(2),\n});\n\nexport const CountriesResponseSchema = z.array(CountryResponseSchema);\nexport const CitiesResponseSchema = z.array(CityResponseSchema);\n\nexport type CountryResponse = z.infer<typeof CountryResponseSchema>;\nexport type CountriesResponse = z.infer<typeof CountriesResponseSchema>;\nexport type CityResponse = z.infer<typeof CityResponseSchema>;\nexport type CitiesResponse = z.infer<typeof CitiesResponseSchema>;\nexport type GetCitiesQuery = z.infer<typeof GetCitiesQuerySchema>;\n","import { z } from 'zod';\nimport { CurrencyCodeSchema } from './currency.schemas';\nimport { RatePerBaseSchema } from './rate.schemas';\n\nexport const ExchangeRateSourceSchema = z.literal('manual');\n\nexport const ExchangeRateSchema = z.object({\n id: z.number().int().positive(),\n currencyCode: CurrencyCodeSchema,\n /** Сколько единиц валюты за 1 базовую валюту. */\n ratePerBase: z.string(),\n source: ExchangeRateSourceSchema,\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ExchangeRateListResponseSchema = z.array(ExchangeRateSchema);\n\nexport const UpdateExchangeRateRequestSchema = z.object({\n ratePerBase: RatePerBaseSchema,\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","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 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});\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 enum OrderDeliveryMethod {\n PICKUP = 'PICKUP',\n}\n\nexport enum OrderPaymentMethod {\n CASH = 'CASH',\n MAIN_WALLET = 'MAIN_WALLET',\n}\n\nexport enum OrderStatus {\n PENDING_PAYMENT = 'PENDING_PAYMENT',\n PROCESSING = 'PROCESSING',\n READY_FOR_PICKUP = 'READY_FOR_PICKUP',\n COMPLETED = 'COMPLETED',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum OrderPaymentStatus {\n AWAITING_RECEIPT = 'AWAITING_RECEIPT',\n UNDER_REVIEW = 'UNDER_REVIEW',\n REJECTED = 'REJECTED',\n PAID = 'PAID',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum OrderReceiptStatus {\n UNDER_REVIEW = 'UNDER_REVIEW',\n APPROVED = 'APPROVED',\n REJECTED = 'REJECTED',\n}\n\nexport enum OrderReceiptDecision {\n APPROVE = 'APPROVE',\n REJECT = 'REJECT',\n}\n\nexport enum OrderStockAvailability {\n AVAILABLE = 'AVAILABLE',\n OUT_OF_STOCK = 'OUT_OF_STOCK',\n INSUFFICIENT_STOCK = 'INSUFFICIENT_STOCK',\n}\n\nexport enum OrderEventType {\n CREATED = 'CREATED',\n WALLET_DEBITED = 'WALLET_DEBITED',\n RECEIPT_UPLOADED = 'RECEIPT_UPLOADED',\n PAYMENT_APPROVED = 'PAYMENT_APPROVED',\n PAYMENT_REJECTED = 'PAYMENT_REJECTED',\n CANCELLED_TIMEOUT = 'CANCELLED_TIMEOUT',\n WALLET_REFUNDED = 'WALLET_REFUNDED',\n}\n\nexport enum OrderNotificationType {\n ORDER_CREATED = 'ORDER_CREATED',\n RECEIPT_RECEIVED = 'RECEIPT_RECEIVED',\n PAYMENT_APPROVED = 'PAYMENT_APPROVED',\n PAYMENT_REJECTED = 'PAYMENT_REJECTED',\n ORDER_CANCELLED = 'ORDER_CANCELLED',\n}\n","export const WarehouseStatus = {\n DRAFT: 'DRAFT',\n ACTIVE: 'ACTIVE',\n SUSPENDED: 'SUSPENDED',\n ARCHIVED: 'ARCHIVED',\n} as const;\n\nexport type WarehouseStatus =\n (typeof WarehouseStatus)[keyof typeof WarehouseStatus];\n\nexport const WarehouseAssignmentType = {\n STAFF: 'STAFF',\n} as const;\n\nexport type WarehouseAssignmentType =\n (typeof WarehouseAssignmentType)[keyof typeof WarehouseAssignmentType];\n\nexport const WarehouseRequestType = {\n REPLENISHMENT: 'REPLENISHMENT',\n WRITE_OFF: 'WRITE_OFF',\n TRANSFER: 'TRANSFER',\n} as const;\n\nexport type WarehouseRequestType =\n (typeof WarehouseRequestType)[keyof typeof WarehouseRequestType];\n\nexport const WarehouseRequestStatus = {\n DRAFT: 'DRAFT',\n PENDING_REVIEW: 'PENDING_REVIEW',\n APPROVED: 'APPROVED',\n READY_TO_SHIP: 'READY_TO_SHIP',\n IN_TRANSIT: 'IN_TRANSIT',\n COMPLETED: 'COMPLETED',\n REJECTED: 'REJECTED',\n CANCELLED: 'CANCELLED',\n DISCREPANCY_REPORTED: 'DISCREPANCY_REPORTED',\n FAILED: 'FAILED',\n} as const;\n\nexport type WarehouseRequestStatus =\n (typeof WarehouseRequestStatus)[keyof typeof WarehouseRequestStatus];\n\nexport const WarehouseMovementType = {\n REPLENISHMENT: 'REPLENISHMENT',\n WRITE_OFF: 'WRITE_OFF',\n TRANSFER_OUT: 'TRANSFER_OUT',\n TRANSFER_IN: 'TRANSFER_IN',\n ORDER_ISSUE: 'ORDER_ISSUE',\n} as const;\n\nexport type WarehouseMovementType =\n (typeof WarehouseMovementType)[keyof typeof WarehouseMovementType];\n\nexport const WarehouseWriteOffReason = {\n DEFECT: 'DEFECT',\n DAMAGED: 'DAMAGED',\n EXPIRED: 'EXPIRED',\n LOST: 'LOST',\n INVENTORY_SHORTAGE: 'INVENTORY_SHORTAGE',\n OTHER: 'OTHER',\n} as const;\n\nexport type WarehouseWriteOffReason =\n (typeof WarehouseWriteOffReason)[keyof typeof WarehouseWriteOffReason];\n\nexport const WarehouseWeekday = {\n MONDAY: 'MONDAY',\n TUESDAY: 'TUESDAY',\n WEDNESDAY: 'WEDNESDAY',\n THURSDAY: 'THURSDAY',\n FRIDAY: 'FRIDAY',\n SATURDAY: 'SATURDAY',\n SUNDAY: 'SUNDAY',\n} as const;\n\nexport type WarehouseWeekday =\n (typeof WarehouseWeekday)[keyof typeof WarehouseWeekday];\n","import { z } from 'zod';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport {\n WarehouseAssignmentType,\n WarehouseMovementType,\n WarehouseRequestStatus,\n WarehouseRequestType,\n WarehouseStatus,\n WarehouseWeekday,\n WarehouseWriteOffReason,\n} from './warehouse.enums';\n\nconst PublicIdSchema = z.uuid();\nconst CodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);\nconst DateSchema = z.iso.date();\nconst DateTimeSchema = z.iso.datetime();\nconst TimeSchema = z.string().regex(/^([01]\\d|2[0-3]):[0-5]\\d$/);\nconst NullableTrimmedSchema = (max: number) =>\n z.string().trim().min(1).max(max).nullable().optional();\n\nexport const WarehouseDayScheduleSchema = z\n .object({\n isOpen: z.boolean(),\n opensAt: TimeSchema.nullable(),\n closesAt: TimeSchema.nullable(),\n })\n .superRefine((value, context) => {\n if (value.isOpen && (!value.opensAt || !value.closesAt)) {\n context.addIssue({\n code: 'custom',\n message: 'Для рабочего дня укажите время открытия и закрытия',\n });\n }\n if (!value.isOpen && (value.opensAt || value.closesAt)) {\n context.addIssue({\n code: 'custom',\n message: 'Для выходного дня время должно быть пустым',\n });\n }\n if (\n value.isOpen &&\n value.opensAt &&\n value.closesAt &&\n value.opensAt >= value.closesAt\n ) {\n context.addIssue({\n code: 'custom',\n message: 'Время закрытия должно быть позже времени открытия',\n });\n }\n });\n\nexport const WarehouseWeeklyScheduleSchema = z.record(\n z.enum(WarehouseWeekday),\n WarehouseDayScheduleSchema,\n);\n\nconst WarehouseFieldsSchema = z.object({\n name: z.string().trim().min(2).max(160),\n countryCode: z.string().trim().toUpperCase().length(2),\n country: z.string().trim().min(2).max(120),\n city: z.string().trim().min(1).max(160),\n address: z.string().trim().min(3).max(500),\n phoneNumber: z.string().trim().min(7).max(32),\n mapUrl: z\n .url()\n .max(2_000)\n .refine((value) => new URL(value).protocol === 'https:', {\n message: 'Ссылка на карту должна использовать HTTPS',\n }),\n timezone: z.string().trim().min(1).max(64),\n schedule: WarehouseWeeklyScheduleSchema,\n isPickupPoint: z.boolean(),\n});\n\nexport const CreateWarehouseRequestSchema = WarehouseFieldsSchema.extend({\n code: CodeSchema,\n isPickupPoint: WarehouseFieldsSchema.shape.isPickupPoint.default(true),\n});\n\nexport const UpdateWarehouseRequestSchema = WarehouseFieldsSchema.partial()\n .extend({ version: z.number().int().positive() })\n .required({ version: true });\n\nexport const WarehousePublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\n\nexport const WarehouseAssignmentParamSchema = z.object({\n publicId: PublicIdSchema,\n assignmentPublicId: PublicIdSchema,\n});\n\nexport const WarehouseListQuerySchema = BaseListQuerySchema.extend({\n status: z.enum(WarehouseStatus).optional(),\n countryCode: z.string().trim().toUpperCase().length(2).optional(),\n city: z.string().trim().min(1).max(160).optional(),\n});\n\nexport const WarehouseUserSearchQuerySchema = z.object({\n search: z.string().trim().min(2).max(100),\n page: z.coerce.number().int().min(1).default(1),\n limit: z.coerce.number().int().min(1).max(20).default(20),\n});\n\nexport const AssignWarehouseUserRequestSchema = z.object({\n userUuid: z.string().trim().min(3).max(32),\n type: z.enum(WarehouseAssignmentType),\n});\n\nexport const WarehouseRequestLineInputSchema = z.object({\n variantPublicId: PublicIdSchema,\n quantity: z.number().int().positive().max(1_000_000_000),\n expiresAt: DateSchema.nullable().optional(),\n batchNumber: NullableTrimmedSchema(120),\n comment: NullableTrimmedSchema(1_000),\n});\n\nexport const CreateWarehouseOperationRequestSchema = z\n .object({\n type: z.enum(WarehouseRequestType),\n sourceWarehousePublicId: PublicIdSchema.nullable().optional(),\n destinationWarehousePublicId: PublicIdSchema.nullable().optional(),\n writeOffReason: z.enum(WarehouseWriteOffReason).nullable().optional(),\n comment: z.string().trim().max(2_000).nullable().optional(),\n lines: z.array(WarehouseRequestLineInputSchema).min(1).max(500),\n })\n .superRefine((value, context) => {\n const source = value.sourceWarehousePublicId ?? null;\n const destination = value.destinationWarehousePublicId ?? null;\n if (value.type === WarehouseRequestType.REPLENISHMENT) {\n if (!destination || source) {\n context.addIssue({\n code: 'custom',\n path: ['destinationWarehousePublicId'],\n message: 'Для пополнения нужен только склад назначения',\n });\n }\n value.lines.forEach((line, index) => {\n if (!line.expiresAt) {\n context.addIssue({\n code: 'custom',\n path: ['lines', index, 'expiresAt'],\n message: 'Срок годности поступления обязателен',\n });\n }\n });\n }\n if (value.type === WarehouseRequestType.WRITE_OFF) {\n if (!source || destination) {\n context.addIssue({\n code: 'custom',\n path: ['sourceWarehousePublicId'],\n message: 'Для списания нужен только исходный склад',\n });\n }\n if (!value.writeOffReason) {\n context.addIssue({\n code: 'custom',\n path: ['writeOffReason'],\n message: 'Причина списания обязательна',\n });\n }\n if (!value.comment?.trim()) {\n context.addIssue({\n code: 'custom',\n path: ['comment'],\n message: 'Комментарий к списанию обязателен',\n });\n }\n }\n if (value.type === WarehouseRequestType.TRANSFER) {\n if (!source || !destination || source === destination) {\n context.addIssue({\n code: 'custom',\n path: ['destinationWarehousePublicId'],\n message: 'Укажите разные исходный склад и склад назначения',\n });\n }\n }\n });\n\nexport const WarehouseOperationPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\n\nexport const WarehouseOperationAttachmentParamSchema = z.object({\n publicId: PublicIdSchema,\n attachmentPublicId: PublicIdSchema,\n});\n\nexport const WarehouseOperationListQuerySchema = BaseListQuerySchema.extend({\n type: z.enum(WarehouseRequestType).optional(),\n status: z.enum(WarehouseRequestStatus).optional(),\n warehousePublicId: PublicIdSchema.optional(),\n createdByUserId: z.coerce.number().int().positive().optional(),\n});\n\nexport const WarehouseOperationCommentSchema = z.object({\n comment: z.string().trim().max(2_000).nullable().optional(),\n});\n\nexport const RejectWarehouseOperationRequestSchema = z.object({\n comment: z.string().trim().min(1).max(2_000),\n});\n\nexport const ExecuteWarehouseOperationRequestSchema = z.object({\n idempotencyKey: z.uuid(),\n comment: z.string().trim().max(2_000).nullable().optional(),\n});\n\nexport const ReportWarehouseDiscrepancyRequestSchema = z.object({\n comment: z.string().trim().min(1).max(2_000),\n});\n\nexport const WarehouseStockListQuerySchema = BaseListQuerySchema.extend({\n warehousePublicId: PublicIdSchema.optional(),\n variantPublicId: PublicIdSchema.optional(),\n expired: z\n .union([z.boolean(), z.enum(['true', 'false']).transform((v) => v === 'true')])\n .optional(),\n expiresBefore: DateSchema.optional(),\n});\n\nexport const WarehouseSchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n name: z.string(),\n status: z.enum(WarehouseStatus),\n countryCode: z.string().length(2),\n country: z.string(),\n city: z.string(),\n address: z.string(),\n phoneNumber: z.string(),\n mapUrl: z.string(),\n timezone: z.string(),\n schedule: WarehouseWeeklyScheduleSchema,\n isPickupPoint: z.boolean(),\n version: z.number().int().positive(),\n createdAt: DateTimeSchema,\n updatedAt: DateTimeSchema,\n});\n\nexport const WarehouseUserLookupSchema = z.object({\n id: z.number().int().positive(),\n uuid: z.string(),\n login: z.string(),\n firstName: z.string(),\n lastName: z.string(),\n email: z.email(),\n role: z.string(),\n});\n\nexport const WarehouseAssignmentSchema = z.object({\n publicId: PublicIdSchema,\n warehousePublicId: PublicIdSchema,\n type: z.enum(WarehouseAssignmentType),\n user: WarehouseUserLookupSchema,\n assignedByLogin: z.string(),\n assignedAt: DateTimeSchema,\n});\n\nexport const WarehouseOperationLineSchema = z.object({\n publicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n sku: z.string(),\n quantity: z.number().int().positive(),\n expiresAt: DateSchema.nullable(),\n batchNumber: z.string().nullable(),\n comment: z.string().nullable(),\n});\n\nexport const WarehouseOperationEventSchema = z.object({\n publicId: PublicIdSchema,\n fromStatus: z.enum(WarehouseRequestStatus).nullable(),\n toStatus: z.enum(WarehouseRequestStatus),\n actorUserId: z.number().int().positive(),\n actorLogin: z.string(),\n comment: z.string().nullable(),\n createdAt: DateTimeSchema,\n});\n\nexport const WarehouseOperationAttachmentSchema = z.object({\n publicId: PublicIdSchema,\n mimeType: z.string(),\n sizeBytes: z.number().int().positive(),\n originalName: z.string().nullable(),\n uploadedByLogin: z.string(),\n contentUrl: z.string(),\n createdAt: DateTimeSchema,\n});\n\nexport const WarehouseOperationSchema = z.object({\n publicId: PublicIdSchema,\n type: z.enum(WarehouseRequestType),\n status: z.enum(WarehouseRequestStatus),\n sourceWarehouse: WarehouseSchema.nullable(),\n destinationWarehouse: WarehouseSchema.nullable(),\n writeOffReason: z.enum(WarehouseWriteOffReason).nullable(),\n comment: z.string().nullable(),\n rejectionComment: z.string().nullable(),\n createdByUserId: z.number().int().positive(),\n createdByLogin: z.string(),\n approvedByUserId: z.number().int().positive().nullable(),\n approvedByLogin: z.string().nullable(),\n approvedAt: DateTimeSchema.nullable(),\n completedByUserId: z.number().int().positive().nullable(),\n completedByLogin: z.string().nullable(),\n completedAt: DateTimeSchema.nullable(),\n version: z.number().int().positive(),\n lines: z.array(WarehouseOperationLineSchema),\n events: z.array(WarehouseOperationEventSchema),\n attachments: z.array(WarehouseOperationAttachmentSchema),\n createdAt: DateTimeSchema,\n updatedAt: DateTimeSchema,\n});\n\nexport const WarehouseStockSchema = z.object({\n publicId: PublicIdSchema,\n warehouse: WarehouseSchema,\n variantPublicId: PublicIdSchema,\n sku: z.string(),\n productPublicId: PublicIdSchema,\n productCode: z.string(),\n batchNumber: z.string().nullable(),\n expiresAt: DateSchema,\n onHand: z.number().int().nonnegative(),\n reserved: z.number().int().nonnegative(),\n available: z.number().int().nonnegative(),\n expired: z.boolean(),\n version: z.number().int().positive(),\n updatedAt: DateTimeSchema,\n});\n\nexport const WarehouseMovementSchema = z.object({\n publicId: PublicIdSchema,\n warehousePublicId: PublicIdSchema,\n operationPublicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n inventoryBatchPublicId: PublicIdSchema.nullable(),\n type: z.enum(WarehouseMovementType),\n quantityDelta: z.number().int(),\n balanceAfter: z.number().int().nonnegative(),\n actorUserId: z.number().int().positive(),\n actorLogin: z.string(),\n createdAt: DateTimeSchema,\n});\n","import { z } from 'zod';\nimport { CartSchema } from '../cart/cart.schemas';\nimport { ProductUnit } from '../catalog/catalog.enums';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport { WarehouseWeeklyScheduleSchema } from '../warehouse/warehouse.schemas';\nimport {\n OrderDeliveryMethod,\n OrderEventType,\n OrderNotificationType,\n OrderPaymentMethod,\n OrderPaymentStatus,\n OrderReceiptDecision,\n OrderReceiptStatus,\n OrderStatus,\n OrderStockAvailability,\n} from './order.enums';\n\nconst PublicIdSchema = z.uuid();\nconst DateTimeSchema = z.iso.datetime();\nconst MoneySchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\nconst DecimalSchema = z.string().regex(/^\\d{1,16}(?:\\.\\d{1,3})?$/);\nconst OrderNumberSchema = z.string().regex(/^AV-\\d{8}-[A-Z0-9]{6}$/);\n\nexport const CheckoutWarehouseQuerySchema = z.object({\n countryCode: z.string().trim().toUpperCase().length(2),\n city: z.string().trim().min(1).max(160),\n});\n\nexport const CheckoutLocationSchema = z.object({\n countryCode: z.string().length(2),\n country: z.string(),\n cities: z.array(z.string()).min(1),\n});\n\nexport const CheckoutSnapshotSchema = z.object({\n cart: CartSchema,\n locations: z.array(CheckoutLocationSchema),\n mainWallet: z.object({\n balanceUsd: MoneySchema,\n availableBalanceUsd: MoneySchema,\n }),\n paymentMethods: z.array(z.enum(OrderPaymentMethod)),\n reserveDurationHours: z.literal(24),\n});\n\nexport const CheckoutWarehouseAvailabilitySchema = z.object({\n variantPublicId: PublicIdSchema,\n requestedQuantity: z.number().int().positive(),\n availableQuantity: z.number().int().nonnegative(),\n availability: z.enum(OrderStockAvailability),\n});\n\nexport const CheckoutWarehouseSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string(),\n name: z.string(),\n countryCode: z.string().length(2),\n country: z.string(),\n city: z.string(),\n address: z.string(),\n phoneNumber: z.string(),\n mapUrl: z.url(),\n timezone: z.string(),\n schedule: WarehouseWeeklyScheduleSchema,\n canFulfill: z.boolean(),\n items: z.array(CheckoutWarehouseAvailabilitySchema),\n});\n\nexport const CheckoutWarehouseListSchema = z.array(CheckoutWarehouseSchema);\n\nexport const CreateOrderRequestSchema = z\n .object({\n warehousePublicId: PublicIdSchema,\n deliveryMethod: z.literal(OrderDeliveryMethod.PICKUP),\n paymentMethod: z.enum(OrderPaymentMethod),\n walletAmountUsd: MoneySchema.optional(),\n idempotencyKey: PublicIdSchema,\n })\n .superRefine((value, context) => {\n if (\n value.paymentMethod === OrderPaymentMethod.CASH &&\n value.walletAmountUsd\n ) {\n context.addIssue({\n code: 'custom',\n path: ['walletAmountUsd'],\n message: 'Для оплаты наличными сумма кошелька не передаётся',\n });\n }\n if (\n value.paymentMethod === OrderPaymentMethod.MAIN_WALLET &&\n (!value.walletAmountUsd || value.walletAmountUsd === '0.00')\n ) {\n context.addIssue({\n code: 'custom',\n path: ['walletAmountUsd'],\n message: 'Укажите сумму оплаты с основного кошелька',\n });\n }\n });\n\nexport const OrderPublicIdParamSchema = z.object({ publicId: PublicIdSchema });\n\nexport const OrderReceiptParamSchema = z.object({\n publicId: PublicIdSchema,\n receiptPublicId: PublicIdSchema,\n});\n\nexport const OrderWarehouseSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string(),\n name: z.string(),\n countryCode: z.string().length(2),\n country: z.string(),\n city: z.string(),\n address: z.string(),\n phoneNumber: z.string(),\n mapUrl: z.url(),\n timezone: z.string(),\n schedule: WarehouseWeeklyScheduleSchema,\n});\n\nexport const OrderItemSchema = z.object({\n publicId: PublicIdSchema,\n productPublicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n productName: z.string(),\n sku: z.string(),\n variantQuantity: DecimalSchema,\n unit: z.enum(ProductUnit),\n quantity: z.number().int().positive(),\n unitPriceUsd: MoneySchema,\n lineTotalUsd: MoneySchema,\n unitPv: MoneySchema,\n lineTotalPv: MoneySchema,\n coverContentUrl: z.string().nullable(),\n});\n\nexport const OrderReceiptSchema = z.object({\n publicId: PublicIdSchema,\n status: z.enum(OrderReceiptStatus),\n originalName: z.string().nullable(),\n mimeType: z.string(),\n sizeBytes: z.number().int().positive(),\n version: z.number().int().positive(),\n rejectionReason: z.string().nullable(),\n reviewedAt: DateTimeSchema.nullable(),\n createdAt: DateTimeSchema,\n contentUrl: z.string(),\n});\n\nexport const OrderEventSchema = z.object({\n publicId: PublicIdSchema,\n type: z.enum(OrderEventType),\n actorLogin: z.string().nullable(),\n comment: z.string().nullable(),\n createdAt: DateTimeSchema,\n});\n\nexport const OrderSchema = z.object({\n publicId: PublicIdSchema,\n number: OrderNumberSchema,\n status: z.enum(OrderStatus),\n paymentStatus: z.enum(OrderPaymentStatus),\n deliveryMethod: z.enum(OrderDeliveryMethod),\n paymentMethod: z.enum(OrderPaymentMethod),\n locale: z.string().length(2),\n baseCurrencyCode: z.string().length(3),\n displayCurrencyCode: z.string().length(3),\n displayRate: z.string(),\n subtotalUsd: MoneySchema,\n totalPv: MoneySchema,\n walletPaidUsd: MoneySchema,\n walletRefundedUsd: MoneySchema,\n cashDueUsd: MoneySchema,\n reserveExpiresAt: DateTimeSchema.nullable(),\n paidAt: DateTimeSchema.nullable(),\n cancelledAt: DateTimeSchema.nullable(),\n cancellationReason: z.string().nullable(),\n warehouse: OrderWarehouseSchema,\n items: z.array(OrderItemSchema).min(1),\n receipts: z.array(OrderReceiptSchema),\n events: z.array(OrderEventSchema),\n createdAt: DateTimeSchema,\n updatedAt: DateTimeSchema,\n});\n\nexport const OrderListItemSchema = OrderSchema.omit({\n receipts: true,\n events: true,\n});\n\nexport const OrderListQuerySchema = BaseListQuerySchema.extend({\n status: z.enum(OrderStatus).optional(),\n paymentStatus: z.enum(OrderPaymentStatus).optional(),\n});\n\nexport const OrderListResponseSchema = z.object({\n items: z.array(OrderListItemSchema),\n meta: z.object({\n page: z.number().int().positive(),\n limit: z.number().int().positive(),\n total: z.number().int().nonnegative(),\n pageCount: z.number().int().nonnegative(),\n }),\n});\n\nexport const ReviewOrderReceiptRequestSchema = z\n .object({\n decision: z.enum(OrderReceiptDecision),\n version: z.number().int().positive(),\n rejectionReason: z.string().trim().min(1).max(2_000).optional(),\n })\n .superRefine((value, context) => {\n if (\n value.decision === OrderReceiptDecision.REJECT &&\n !value.rejectionReason\n ) {\n context.addIssue({\n code: 'custom',\n path: ['rejectionReason'],\n message: 'Причина отклонения обязательна',\n });\n }\n if (\n value.decision === OrderReceiptDecision.APPROVE &&\n value.rejectionReason\n ) {\n context.addIssue({\n code: 'custom',\n path: ['rejectionReason'],\n message: 'Причина не передаётся при подтверждении',\n });\n }\n });\n\nexport const OrderNotificationSchema = z.object({\n publicId: PublicIdSchema,\n orderPublicId: PublicIdSchema,\n orderNumber: OrderNumberSchema,\n type: z.enum(OrderNotificationType),\n isRead: z.boolean(),\n createdAt: DateTimeSchema,\n});\n\nexport const OrderNotificationListSchema = z.array(OrderNotificationSchema);\n"]}
1
+ {"version":3,"sources":["../src/common/pagination.schemas.ts","../src/common/list-query.schemas.ts","../src/common/id.schemas.ts","../src/user/user-role.enum.ts","../src/currency/rate.schemas.ts","../src/currency/currency.schemas.ts","../src/localization/app-locale.enum.ts","../src/localization/app-locale.schema.ts","../src/user/user.schemas.ts","../src/user/user-file-type.enum.ts","../src/user/user-file.schemas.ts","../src/auth/auth-user.contract.ts","../src/auth/refresh.contract.ts","../src/auth/sign-in.contract.ts","../src/marketing/marketing.enums.ts","../src/marketing/marketing-invitation.contract.ts","../src/auth/sign-up.contract.ts","../src/auth/registration-availability.contract.ts","../src/auth/account-actions.contract.ts","../src/wallets/wallets.enum.ts","../src/currency/money-view.schemas.ts","../src/wallets/wallets.contract.ts","../src/wallet-transaction/wallet-transaction.enums.ts","../src/wallet-transaction/wallet-transaction.schemas.ts","../src/countries/countries.contract.ts","../src/currency/exchange-rate.schemas.ts","../src/catalog/catalog.enums.ts","../src/catalog/catalog.schemas.ts","../src/cart/cart.enums.ts","../src/cart/cart.schemas.ts","../src/order/order.enums.ts","../src/warehouse/warehouse.enums.ts","../src/warehouse/warehouse.schemas.ts","../src/order/order.schemas.ts"],"names":["z","UserRole","UserFileType","BinaryBranch","MarketingMemberStatus","WalletCurrency","WalletStatus","WalletType","WalletTransactionDirection","WalletTransactionStatus","WalletTransactionReason","CartItemAvailability","PublicIdSchema","OrderDeliveryMethod","OrderPaymentMethod","OrderStatus","OrderPaymentStatus","OrderReceiptStatus","OrderReceiptDecision","OrderStockAvailability","OrderReservationStatus","OrderEventType","OrderNotificationType","CodeSchema","DateTimeSchema","MoneySchema","DecimalSchema"],"mappings":"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","file":"index.mjs","sourcesContent":["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';\n\n/** Максимум для Postgres int4 (SERIAL первичный ключ). */\nexport const INT4_MAX = 2147483647;\n\n/**\n * Идентификатор записи в БД (int4 PK).\n * Коэрсит строку из path/query в число и не пропускает значения вне диапазона\n * integer — иначе запрос падает в Postgres с `22003 out of range for type integer`.\n */\nexport const DbIdSchema = z.coerce.number().int().positive().max(INT4_MAX);\n\nexport type DbId = z.infer<typeof DbIdSchema>;\n","export enum UserRole {\n ADMIN = 'admin',\n MANAGER = 'manager',\n STAFF = 'staff',\n PARTNER = 'partner',\n}\n","import { z } from 'zod';\n\n/** numeric(30,18): up to 12 integer and 18 fractional digits. */\nexport const RatePerBaseSchema = z\n .string()\n .regex(\n /^\\d{1,12}(\\.\\d{1,18})?$/,\n 'Rate must contain at most 12 integer and 18 decimal digits',\n )\n .refine((value) => /[1-9]/.test(value), 'Rate must be greater than zero');\n","import { z } from 'zod';\nimport { RatePerBaseSchema } from './rate.schemas';\n\n/** Код валюты ISO 4217 (3 заглавные буквы). */\nexport const CurrencyCodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z]{3}$/, 'Invalid ISO 4217 currency code');\n\nexport const CurrencyCodeParamSchema = z.object({\n code: CurrencyCodeSchema,\n});\n\nexport const CurrencySchema = z.object({\n id: z.number().int().positive(),\n code: CurrencyCodeSchema,\n name: z.string().trim().max(255),\n symbol: z.string().trim().max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n isBase: z.boolean(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const CurrencyListResponseSchema = z.array(CurrencySchema);\n\nexport const CreateCurrencyRequestSchema = z.object({\n code: CurrencyCodeSchema,\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8).default(2),\n isActive: z.boolean().default(true),\n ratePerBase: RatePerBaseSchema,\n});\n\nexport const UpdateCurrencyRequestSchema = z\n .object({\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n })\n .partial();\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';\nimport { UserRole } from './user-role.enum';\nimport { CurrencyCodeSchema } from '../currency/currency.schemas';\nimport { AppLocaleSchema } from '../localization/app-locale.schema';\n\nconst socialLink = (hosts: readonly string[]) =>\n z\n .url()\n .trim()\n .max(255)\n .refine((value) => {\n const url = new URL(value);\n return (\n url.protocol === 'https:' &&\n hosts.some(\n (host) => url.hostname === host || url.hostname === `www.${host}`,\n )\n );\n }, 'Укажите безопасную ссылку на соответствующую социальную сеть');\n\nexport const UserSchema = z.object({\n id: z.number().int().positive(),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n uuid: z.string().trim().max(255),\n isActive: z.boolean(),\n isEmailVerified: z.boolean(),\n isPhoneVerified: z.boolean(),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n whatsappLink: z.string().trim().max(255).nullable(),\n instagramLink: z.string().trim().max(255).nullable(),\n telegramLink: z.string().trim().max(255).nullable(),\n displayCurrency: CurrencyCodeSchema,\n locale: AppLocaleSchema,\n role: z.enum(UserRole),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const CreateUserRequestSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n password: z.string().trim().min(6).max(255),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const UpdateUserRequestSchema = z\n .object({\n firstName: z.string().trim().min(1).max(255),\n lastName: z.string().trim().min(1).max(255),\n phoneNumber: z.string().trim().min(7).max(20),\n city: z.string().trim().min(1).max(255),\n whatsappLink: socialLink(['wa.me', 'api.whatsapp.com']).nullable(),\n instagramLink: socialLink(['instagram.com']).nullable(),\n telegramLink: socialLink(['t.me', 'telegram.me']).nullable(),\n displayCurrency: CurrencyCodeSchema,\n locale: AppLocaleSchema,\n })\n .partial()\n .strict()\n .refine((value) => Object.keys(value).length > 0, {\n message: 'Передайте хотя бы одно поле для изменения',\n });\n\nexport const ChangePasswordRequestSchema = z\n .object({\n currentPassword: z.string().trim().min(6).max(255),\n newPassword: z.string().trim().min(6).max(255),\n })\n .refine((data) => data.currentPassword !== data.newPassword, {\n message: 'Новый пароль должен отличаться от текущего',\n path: ['newPassword'],\n });\n\nexport const UserListResponseSchema = z.array(UserSchema);\n","export enum UserFileType {\n PHOTO = 'PHOTO',\n DOCUMENT = 'DOCUMENT',\n}\n","import { z } from 'zod';\nimport { UserFileType } from './user-file-type.enum';\nimport { DbIdSchema } from '../common';\n\nexport const UserFileSchema = z.object({\n id: z.number().int().positive(),\n userId: z.number().int().positive(),\n type: z.enum(UserFileType),\n url: z.string().url(),\n originalName: z.string().nullable(),\n mimeType: z.string().min(1).nullable(),\n sizeBytes: z.number().int().positive().nullable(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const UserFileListSchema = z.array(UserFileSchema);\n\n/** Path-параметр `:fileId` для операций с файлами пользователя. */\nexport const FileIdParamSchema = z.object({\n fileId: DbIdSchema,\n});\n\nexport type UserFile = z.infer<typeof UserFileSchema>;\nexport type UserFileList = z.infer<typeof UserFileListSchema>;\nexport type FileIdParam = z.infer<typeof FileIdParamSchema>;\n","import { z } from 'zod';\nimport { UserRole } from '../user';\n\nexport const AuthUserSchema = z.object({\n id: z.number(),\n login: z.string(),\n role: z.enum(UserRole),\n isActive: z.boolean(),\n});\n\nexport type AuthUser = z.infer<typeof AuthUserSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const RefreshResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type RefreshResponse = z.infer<typeof RefreshResponseSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const SignInRequestSchema = z.object({\n login: z\n .string('Логин должен быть строкой')\n .min(1, 'Логин не может быть пустым'),\n password: z\n .string('Пароль должен быть строкой')\n .min(1, 'Пароль не может быть пустым'),\n});\n\nexport const SignInResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type SignInRequest = z.infer<typeof SignInRequestSchema>;\nexport type SignInResponse = z.infer<typeof SignInResponseSchema>;\n","import { z } from 'zod';\n\nexport enum BinaryBranch {\n LEFT = 'LEFT',\n RIGHT = 'RIGHT',\n}\n\nexport enum MarketingMemberStatus {\n ACTIVE = 'ACTIVE',\n BLOCKED = 'BLOCKED',\n}\n\nexport const BinaryBranchSchema = z.enum(BinaryBranch);\nexport const MarketingMemberStatusSchema = z.enum(MarketingMemberStatus);\n","import { z } from 'zod';\nimport { BinaryBranchSchema } from './marketing.enums';\n\nexport const MarketingPublicIdentifierSchema = z\n .string()\n .trim()\n .min(3)\n .max(255);\n\nexport const MarketingInvitationTokenSchema = z\n .string()\n .trim()\n .regex(/^[A-Za-z0-9_-]{43}$/);\n\nexport const ManualMarketingPlacementSchema = z.object({\n sponsorId: MarketingPublicIdentifierSchema,\n leg: BinaryBranchSchema,\n});\n\nexport const InvitationMarketingPlacementSchema = z.object({\n invitationToken: MarketingInvitationTokenSchema,\n});\n\nexport const CreateMarketingInvitationRequestSchema = z.object({\n leg: BinaryBranchSchema,\n});\n\nexport const MarketingPlacementIdentitySchema = z.object({\n uuid: z.string().trim().min(1).max(255),\n login: z.string().trim().min(1).max(255),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n});\n\nexport const MarketingPlacementPreviewSchema = z.object({\n sponsor: MarketingPlacementIdentitySchema,\n leg: BinaryBranchSchema,\n expiresAt: z.iso.datetime().nullable(),\n});\n\nexport const CreateMarketingInvitationResponseSchema =\n MarketingPlacementPreviewSchema.extend({\n invitationToken: MarketingInvitationTokenSchema,\n });\n\nexport type ManualMarketingPlacement = z.infer<\n typeof ManualMarketingPlacementSchema\n>;\nexport type InvitationMarketingPlacement = z.infer<\n typeof InvitationMarketingPlacementSchema\n>;\nexport type CreateMarketingInvitationRequest = z.infer<\n typeof CreateMarketingInvitationRequestSchema\n>;\nexport type MarketingPlacementIdentity = z.infer<\n typeof MarketingPlacementIdentitySchema\n>;\nexport type MarketingPlacementPreview = z.infer<\n typeof MarketingPlacementPreviewSchema\n>;\nexport type CreateMarketingInvitationResponse = z.infer<\n typeof CreateMarketingInvitationResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n InvitationMarketingPlacementSchema,\n ManualMarketingPlacementSchema,\n} from '../marketing';\n\nexport const RegistrationEmailSchema = z\n .email('Введите корректный email')\n .trim()\n .toLowerCase();\n\nexport const RegistrationPhoneNumberSchema = z\n .string()\n .trim()\n .regex(/^\\+[1-9]\\d{7,14}$/, 'Введите корректный международный номер');\n\nexport const RegistrationLoginSchema = z\n .string()\n .trim()\n .min(3, 'Логин должен содержать не менее 3 символов')\n .max(255)\n .regex(/^[a-z0-9]+$/, 'Используйте только строчные латинские буквы и цифры');\n\nexport const RegistrationPasswordSchema = z\n .string()\n .min(6, 'Пароль должен содержать не менее 6 символов')\n .max(255);\n\nconst SignUpBaseSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: RegistrationEmailSchema,\n phoneNumber: RegistrationPhoneNumberSchema,\n login: RegistrationLoginSchema,\n password: RegistrationPasswordSchema,\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const SignUpRequestSchema = SignUpBaseSchema.extend({\n sponsorId: ManualMarketingPlacementSchema.shape.sponsorId.optional(),\n leg: ManualMarketingPlacementSchema.shape.leg.optional(),\n invitationToken:\n InvitationMarketingPlacementSchema.shape.invitationToken.optional(),\n}).superRefine((input, context) => {\n const hasInvitation = input.invitationToken !== undefined;\n const manualFields = [input.sponsorId, input.leg];\n const hasAnyManualField = manualFields.some((value) => value !== undefined);\n const hasEveryManualField = manualFields.every(\n (value) => value !== undefined,\n );\n\n if (\n hasInvitation === hasAnyManualField ||\n (!hasInvitation && !hasEveryManualField)\n ) {\n context.addIssue({\n code: 'custom',\n message: 'Передайте invitationToken или полный набор sponsorId и leg',\n path: ['invitationToken'],\n });\n }\n});\n\nexport type SignUpRequest = z.infer<typeof SignUpRequestSchema>;\n","import { z } from 'zod';\nimport {\n RegistrationEmailSchema,\n RegistrationLoginSchema,\n RegistrationPhoneNumberSchema,\n} from './sign-up.contract';\n\nexport const RegistrationAvailabilityRequestSchema = z\n .object({\n email: RegistrationEmailSchema.optional(),\n phoneNumber: RegistrationPhoneNumberSchema.optional(),\n login: RegistrationLoginSchema.optional(),\n })\n .refine(\n ({ email, phoneNumber, login }) =>\n email !== undefined || phoneNumber !== undefined || login !== undefined,\n 'Передайте хотя бы одно поле для проверки',\n );\n\nexport const RegistrationAvailabilityResponseSchema = z.object({\n emailAvailable: z.boolean().nullable(),\n phoneNumberAvailable: z.boolean().nullable(),\n loginAvailable: z.boolean().nullable(),\n});\n\nexport type RegistrationAvailabilityRequest = z.infer<\n typeof RegistrationAvailabilityRequestSchema\n>;\nexport type RegistrationAvailabilityResponse = z.infer<\n typeof RegistrationAvailabilityResponseSchema\n>;\n","import { z } from 'zod';\n\nconst ActionTokenSchema = z.string().trim().min(40).max(500);\n\nexport const RequestEmailVerificationSchema = z.object({\n email: z.email().trim(),\n});\n\nexport const ConfirmEmailSchema = z.object({\n token: ActionTokenSchema,\n});\n\nexport const RequestEmailChangeSchema = z.object({\n newEmail: z.email().trim(),\n currentPassword: z.string().trim().min(6).max(255),\n});\n\nexport const ConfirmEmailChangeSchema = z.object({\n token: ActionTokenSchema,\n});\n\nexport const ForgotPasswordSchema = z.object({\n email: z.email().trim(),\n});\n\nexport const ResetPasswordSchema = z.object({\n token: ActionTokenSchema,\n newPassword: z.string().trim().min(8).max(255),\n});\n\nexport type RequestEmailVerification = z.infer<\n typeof RequestEmailVerificationSchema\n>;\nexport type ConfirmEmail = z.infer<typeof ConfirmEmailSchema>;\nexport type RequestEmailChange = z.infer<typeof RequestEmailChangeSchema>;\nexport type ConfirmEmailChange = z.infer<typeof ConfirmEmailChangeSchema>;\nexport type ForgotPassword = z.infer<typeof ForgotPasswordSchema>;\nexport type ResetPassword = z.infer<typeof ResetPasswordSchema>;\n","export enum WalletCurrency {\n PV = 'PV',\n MONEY = 'MONEY',\n}\n\nexport enum WalletStatus {\n ACTIVE = 'ACTIVE',\n BLOCKED = 'BLOCKED',\n ARCHIVED = 'ARCHIVED',\n}\n\nexport enum WalletType {\n MAIN = 'MAIN',\n BONUS = 'BONUS',\n CASHBACK = 'CASHBACK',\n PREMIUM = 'PREMIUM',\n}\n","import { z } from 'zod';\nimport { CurrencyCodeSchema } from './currency.schemas';\n\n/** Денежная сумма как строка (decimal), напр. \"1234.56\". */\nexport const MoneyAmountStringSchema = z\n .string()\n .regex(/^\\d+(\\.\\d{1,8})?$/, 'Invalid money amount');\n\n/**\n * Представление денежной суммы в валюте отображения.\n * `amount` уже сконвертирован из базовой валюты по `rate`.\n */\nexport const MoneyViewSchema = z.object({\n currency: CurrencyCodeSchema,\n amount: MoneyAmountStringSchema,\n rate: z.string(),\n});\n","import { z } from 'zod';\nimport { WalletCurrency, WalletStatus, WalletType } from './wallets.enum';\nimport { MoneyViewSchema } from '../currency/money-view.schemas';\n\nexport const WalletTypeSchema = z.enum(WalletType);\nexport const WalletStatusSchema = z.enum(WalletStatus);\nexport const WalletCurrencySchema = z.enum(WalletCurrency);\n\nexport const WalletSchema = z.object({\n id: z.number().int().positive(),\n userId: z.number().int().positive(),\n type: WalletTypeSchema,\n balance: z.string(),\n blockedBalance: z.string(),\n currency: WalletCurrencySchema,\n status: WalletStatusSchema,\n /** Баланс в валюте отображения пользователя (только для денежных кошельков). */\n display: MoneyViewSchema.nullable().optional(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const WalletListResponseSchema = z.array(WalletSchema);\n\nexport const GetUserWalletsParamsSchema = z.object({\n userId: z.coerce.number().int().positive(),\n});\n\nexport const GetUserWalletByTypeParamsSchema = z.object({\n userId: z.coerce.number().int().positive(),\n type: WalletTypeSchema,\n});\n","export enum WalletTransactionDirection {\n CREDIT = 'CREDIT',\n DEBIT = 'DEBIT',\n}\n\nexport enum WalletTransactionStatus {\n COMPLETED = 'COMPLETED',\n FAILED = 'FAILED',\n}\n\nexport enum WalletTransactionReason {\n REFERRAL_BONUS = 'REFERRAL_BONUS',\n BINARY_BONUS = 'BINARY_BONUS',\n MATCHING_BONUS = 'MATCHING_BONUS',\n STATUS_BONUS = 'STATUS_BONUS',\n EXTRA_BONUS = 'EXTRA_BONUS',\n STRUCTURE_BONUS = 'STRUCTURE_BONUS',\n PRODUCT_PURCHASE = 'PRODUCT_PURCHASE',\n PLAN_PURCHASE = 'PLAN_PURCHASE',\n WITHDRAWAL = 'WITHDRAWAL',\n TRANSFER_IN = 'TRANSFER_IN',\n TRANSFER_OUT = 'TRANSFER_OUT',\n REFUND = 'REFUND',\n EXPIRATION = 'EXPIRATION',\n}\n","import { z } from 'zod';\nimport {\n WalletTransactionDirection,\n WalletTransactionReason,\n WalletTransactionStatus,\n} from './wallet-transaction.enums';\nimport { WalletCurrency, WalletType } from '../wallets';\nimport { BaseListQuerySchema, DbIdSchema } from '../common';\nimport { MoneyViewSchema } from '../currency/money-view.schemas';\n\nexport const MoneyAmountSchema = z\n .string()\n .regex(\n /^\\d{1,16}(\\.\\d{1,2})?$/,\n 'Money amount must contain at most 16 integer and 2 decimal digits',\n );\n\nexport const WalletOperationKeySchema = z\n .string()\n .trim()\n .min(1)\n .max(150)\n .regex(/^[A-Za-z0-9][A-Za-z0-9:._-]*$/, 'Invalid wallet operation key');\n\nexport const WalletTransactionDirectionSchema = z.enum(\n WalletTransactionDirection,\n);\n\nexport const WalletTransactionStatusSchema = z.enum(WalletTransactionStatus);\n\nexport const WalletTransactionReasonSchema = z.enum(WalletTransactionReason);\n\nexport const WalletTransactionSourceUserSchema = z.object({\n id: z.number().int().positive(),\n login: z.string().trim().max(255).nullable(),\n fullName: z.string().trim().max(255).nullable(),\n});\n\nexport const WalletTransactionSchema = z.object({\n id: z.number().int().positive(),\n operationKey: WalletOperationKeySchema,\n walletId: z.number().int().positive(),\n userId: z.number().int().positive(),\n walletType: z.enum(WalletType),\n direction: WalletTransactionDirectionSchema,\n reason: WalletTransactionReasonSchema,\n status: WalletTransactionStatusSchema,\n amount: MoneyAmountSchema,\n balanceBefore: MoneyAmountSchema,\n balanceAfter: MoneyAmountSchema,\n currency: z.enum(WalletCurrency),\n referenceType: z.string().trim().max(100).nullable(),\n referenceId: z.string().trim().max(100).nullable(),\n sourceUserId: z.number().int().positive().nullable(),\n initiatorUserId: z.number().int().positive().nullable(),\n comment: z.string().trim().max(500).nullable(),\n createdAt: z.string().datetime(),\n});\n\nexport const WalletTransactionDetailsSchema = WalletTransactionSchema.extend({\n sourceUser: WalletTransactionSourceUserSchema.nullable(),\n displayAmount: MoneyViewSchema.nullable().optional(),\n});\n\nexport const CreateWalletTransactionRequestSchema = z.object({\n operationKey: WalletOperationKeySchema,\n userId: z.number().int().positive(),\n walletType: z.enum(WalletType),\n direction: WalletTransactionDirectionSchema,\n reason: WalletTransactionReasonSchema,\n amount: MoneyAmountSchema,\n referenceType: z.string().trim().max(100).optional(),\n referenceId: z.string().trim().max(100).optional(),\n sourceUserId: z.number().int().positive().optional(),\n initiatorUserId: z.number().int().positive().optional(),\n comment: z.string().trim().max(500).optional(),\n});\n\nexport const WalletTransactionsListQuerySchema = BaseListQuerySchema.extend({\n walletType: z.enum(WalletType).optional(),\n direction: WalletTransactionDirectionSchema.optional(),\n reason: WalletTransactionReasonSchema.optional(),\n});\n\nexport const WalletTransactionListResponseSchema = z.array(\n WalletTransactionSchema,\n);\n\nexport const WalletTransactionDetailsListResponseSchema = z.array(\n WalletTransactionDetailsSchema,\n);\n\nexport const GetUserWalletTransactionsParamsSchema = z.object({\n userId: DbIdSchema,\n});\n","import { z } from 'zod';\n\nexport const CountryResponseSchema = z.object({\n name: z.string(),\n code: z.string().length(2),\n nativeName: z.string(),\n});\n\nexport const CityResponseSchema = z.object({\n name: z.string(),\n nativeName: z.string(),\n});\n\nexport const GetCitiesQuerySchema = z.object({\n countryCode: z.string().length(2),\n});\n\nexport const CountriesResponseSchema = z.array(CountryResponseSchema);\nexport const CitiesResponseSchema = z.array(CityResponseSchema);\n\nexport type CountryResponse = z.infer<typeof CountryResponseSchema>;\nexport type CountriesResponse = z.infer<typeof CountriesResponseSchema>;\nexport type CityResponse = z.infer<typeof CityResponseSchema>;\nexport type CitiesResponse = z.infer<typeof CitiesResponseSchema>;\nexport type GetCitiesQuery = z.infer<typeof GetCitiesQuerySchema>;\n","import { z } from 'zod';\nimport { CurrencyCodeSchema } from './currency.schemas';\nimport { RatePerBaseSchema } from './rate.schemas';\n\nexport const ExchangeRateSourceSchema = z.literal('manual');\n\nexport const ExchangeRateSchema = z.object({\n id: z.number().int().positive(),\n currencyCode: CurrencyCodeSchema,\n /** Сколько единиц валюты за 1 базовую валюту. */\n ratePerBase: z.string(),\n source: ExchangeRateSourceSchema,\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ExchangeRateListResponseSchema = z.array(ExchangeRateSchema);\n\nexport const UpdateExchangeRateRequestSchema = z.object({\n ratePerBase: RatePerBaseSchema,\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","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","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 enum OrderDeliveryMethod {\n PICKUP = 'PICKUP',\n}\n\nexport enum OrderPaymentMethod {\n CASH = 'CASH',\n MAIN_WALLET = 'MAIN_WALLET',\n}\n\nexport enum OrderStatus {\n PENDING_PAYMENT = 'PENDING_PAYMENT',\n PROCESSING = 'PROCESSING',\n READY_FOR_PICKUP = 'READY_FOR_PICKUP',\n COMPLETED = 'COMPLETED',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum OrderPaymentStatus {\n AWAITING_RECEIPT = 'AWAITING_RECEIPT',\n UNDER_REVIEW = 'UNDER_REVIEW',\n REJECTED = 'REJECTED',\n PAID = 'PAID',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum OrderReceiptStatus {\n UNDER_REVIEW = 'UNDER_REVIEW',\n APPROVED = 'APPROVED',\n REJECTED = 'REJECTED',\n}\n\nexport enum OrderReceiptDecision {\n APPROVE = 'APPROVE',\n REJECT = 'REJECT',\n}\n\nexport enum OrderStockAvailability {\n AVAILABLE = 'AVAILABLE',\n OUT_OF_STOCK = 'OUT_OF_STOCK',\n INSUFFICIENT_STOCK = 'INSUFFICIENT_STOCK',\n}\n\nexport enum OrderReservationStatus {\n ACTIVE = 'ACTIVE',\n RELEASED = 'RELEASED',\n}\n\nexport enum OrderEventType {\n CREATED = 'CREATED',\n WALLET_DEBITED = 'WALLET_DEBITED',\n RECEIPT_UPLOADED = 'RECEIPT_UPLOADED',\n PAYMENT_APPROVED = 'PAYMENT_APPROVED',\n PAYMENT_REJECTED = 'PAYMENT_REJECTED',\n CANCELLED_TIMEOUT = 'CANCELLED_TIMEOUT',\n WALLET_REFUNDED = 'WALLET_REFUNDED',\n}\n\nexport enum OrderNotificationType {\n ORDER_CREATED = 'ORDER_CREATED',\n RECEIPT_RECEIVED = 'RECEIPT_RECEIVED',\n PAYMENT_APPROVED = 'PAYMENT_APPROVED',\n PAYMENT_REJECTED = 'PAYMENT_REJECTED',\n ORDER_CANCELLED = 'ORDER_CANCELLED',\n}\n","export const WarehouseStatus = {\n DRAFT: 'DRAFT',\n ACTIVE: 'ACTIVE',\n SUSPENDED: 'SUSPENDED',\n ARCHIVED: 'ARCHIVED',\n} as const;\n\nexport type WarehouseStatus =\n (typeof WarehouseStatus)[keyof typeof WarehouseStatus];\n\nexport const WarehouseAssignmentType = {\n STAFF: 'STAFF',\n} as const;\n\nexport type WarehouseAssignmentType =\n (typeof WarehouseAssignmentType)[keyof typeof WarehouseAssignmentType];\n\nexport const WarehouseRequestType = {\n REPLENISHMENT: 'REPLENISHMENT',\n WRITE_OFF: 'WRITE_OFF',\n TRANSFER: 'TRANSFER',\n} as const;\n\nexport type WarehouseRequestType =\n (typeof WarehouseRequestType)[keyof typeof WarehouseRequestType];\n\nexport const WarehouseRequestStatus = {\n DRAFT: 'DRAFT',\n PENDING_REVIEW: 'PENDING_REVIEW',\n APPROVED: 'APPROVED',\n READY_TO_SHIP: 'READY_TO_SHIP',\n IN_TRANSIT: 'IN_TRANSIT',\n COMPLETED: 'COMPLETED',\n REJECTED: 'REJECTED',\n CANCELLED: 'CANCELLED',\n DISCREPANCY_REPORTED: 'DISCREPANCY_REPORTED',\n FAILED: 'FAILED',\n} as const;\n\nexport type WarehouseRequestStatus =\n (typeof WarehouseRequestStatus)[keyof typeof WarehouseRequestStatus];\n\nexport const WarehouseMovementType = {\n REPLENISHMENT: 'REPLENISHMENT',\n WRITE_OFF: 'WRITE_OFF',\n TRANSFER_OUT: 'TRANSFER_OUT',\n TRANSFER_IN: 'TRANSFER_IN',\n ORDER_ISSUE: 'ORDER_ISSUE',\n} as const;\n\nexport type WarehouseMovementType =\n (typeof WarehouseMovementType)[keyof typeof WarehouseMovementType];\n\nexport const WarehouseWriteOffReason = {\n DEFECT: 'DEFECT',\n DAMAGED: 'DAMAGED',\n EXPIRED: 'EXPIRED',\n LOST: 'LOST',\n INVENTORY_SHORTAGE: 'INVENTORY_SHORTAGE',\n OTHER: 'OTHER',\n} as const;\n\nexport type WarehouseWriteOffReason =\n (typeof WarehouseWriteOffReason)[keyof typeof WarehouseWriteOffReason];\n\nexport const WarehouseWeekday = {\n MONDAY: 'MONDAY',\n TUESDAY: 'TUESDAY',\n WEDNESDAY: 'WEDNESDAY',\n THURSDAY: 'THURSDAY',\n FRIDAY: 'FRIDAY',\n SATURDAY: 'SATURDAY',\n SUNDAY: 'SUNDAY',\n} as const;\n\nexport type WarehouseWeekday =\n (typeof WarehouseWeekday)[keyof typeof WarehouseWeekday];\n","import { z } from 'zod';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport {\n WarehouseAssignmentType,\n WarehouseMovementType,\n WarehouseRequestStatus,\n WarehouseRequestType,\n WarehouseStatus,\n WarehouseWeekday,\n WarehouseWriteOffReason,\n} from './warehouse.enums';\n\nconst PublicIdSchema = z.uuid();\nconst CodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);\nconst DateSchema = z.iso.date();\nconst DateTimeSchema = z.iso.datetime();\nconst TimeSchema = z.string().regex(/^([01]\\d|2[0-3]):[0-5]\\d$/);\nconst NullableTrimmedSchema = (max: number) =>\n z.string().trim().min(1).max(max).nullable().optional();\n\nexport const WarehouseDayScheduleSchema = z\n .object({\n isOpen: z.boolean(),\n opensAt: TimeSchema.nullable(),\n closesAt: TimeSchema.nullable(),\n })\n .superRefine((value, context) => {\n if (value.isOpen && (!value.opensAt || !value.closesAt)) {\n context.addIssue({\n code: 'custom',\n message: 'Для рабочего дня укажите время открытия и закрытия',\n });\n }\n if (!value.isOpen && (value.opensAt || value.closesAt)) {\n context.addIssue({\n code: 'custom',\n message: 'Для выходного дня время должно быть пустым',\n });\n }\n if (\n value.isOpen &&\n value.opensAt &&\n value.closesAt &&\n value.opensAt >= value.closesAt\n ) {\n context.addIssue({\n code: 'custom',\n message: 'Время закрытия должно быть позже времени открытия',\n });\n }\n });\n\nexport const WarehouseWeeklyScheduleSchema = z.record(\n z.enum(WarehouseWeekday),\n WarehouseDayScheduleSchema,\n);\n\nconst WarehouseFieldsSchema = z.object({\n name: z.string().trim().min(2).max(160),\n countryCode: z.string().trim().toUpperCase().length(2),\n country: z.string().trim().min(2).max(120),\n city: z.string().trim().min(1).max(160),\n address: z.string().trim().min(3).max(500),\n phoneNumber: z.string().trim().min(7).max(32),\n mapUrl: z\n .url()\n .max(2_000)\n .refine((value) => new URL(value).protocol === 'https:', {\n message: 'Ссылка на карту должна использовать HTTPS',\n }),\n timezone: z.string().trim().min(1).max(64),\n schedule: WarehouseWeeklyScheduleSchema,\n isPickupPoint: z.boolean(),\n});\n\nexport const CreateWarehouseRequestSchema = WarehouseFieldsSchema.extend({\n code: CodeSchema,\n isPickupPoint: WarehouseFieldsSchema.shape.isPickupPoint.default(true),\n});\n\nexport const UpdateWarehouseRequestSchema = WarehouseFieldsSchema.partial()\n .extend({ version: z.number().int().positive() })\n .required({ version: true });\n\nexport const WarehousePublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\n\nexport const WarehouseAssignmentParamSchema = z.object({\n publicId: PublicIdSchema,\n assignmentPublicId: PublicIdSchema,\n});\n\nexport const WarehouseListQuerySchema = BaseListQuerySchema.extend({\n status: z.enum(WarehouseStatus).optional(),\n countryCode: z.string().trim().toUpperCase().length(2).optional(),\n city: z.string().trim().min(1).max(160).optional(),\n});\n\nexport const WarehouseUserSearchQuerySchema = z.object({\n search: z.string().trim().min(2).max(100),\n page: z.coerce.number().int().min(1).default(1),\n limit: z.coerce.number().int().min(1).max(20).default(20),\n});\n\nexport const AssignWarehouseUserRequestSchema = z.object({\n userUuid: z.string().trim().min(3).max(32),\n type: z.enum(WarehouseAssignmentType),\n});\n\nexport const WarehouseRequestLineInputSchema = z.object({\n variantPublicId: PublicIdSchema,\n quantity: z.number().int().positive().max(1_000_000_000),\n expiresAt: DateSchema.nullable().optional(),\n batchNumber: NullableTrimmedSchema(120),\n comment: NullableTrimmedSchema(1_000),\n});\n\nexport const CreateWarehouseOperationRequestSchema = z\n .object({\n type: z.enum(WarehouseRequestType),\n sourceWarehousePublicId: PublicIdSchema.nullable().optional(),\n destinationWarehousePublicId: PublicIdSchema.nullable().optional(),\n writeOffReason: z.enum(WarehouseWriteOffReason).nullable().optional(),\n comment: z.string().trim().max(2_000).nullable().optional(),\n lines: z.array(WarehouseRequestLineInputSchema).min(1).max(500),\n })\n .superRefine((value, context) => {\n const source = value.sourceWarehousePublicId ?? null;\n const destination = value.destinationWarehousePublicId ?? null;\n if (value.type === WarehouseRequestType.REPLENISHMENT) {\n if (!destination || source) {\n context.addIssue({\n code: 'custom',\n path: ['destinationWarehousePublicId'],\n message: 'Для пополнения нужен только склад назначения',\n });\n }\n value.lines.forEach((line, index) => {\n if (!line.expiresAt) {\n context.addIssue({\n code: 'custom',\n path: ['lines', index, 'expiresAt'],\n message: 'Срок годности поступления обязателен',\n });\n }\n });\n }\n if (value.type === WarehouseRequestType.WRITE_OFF) {\n if (!source || destination) {\n context.addIssue({\n code: 'custom',\n path: ['sourceWarehousePublicId'],\n message: 'Для списания нужен только исходный склад',\n });\n }\n if (!value.writeOffReason) {\n context.addIssue({\n code: 'custom',\n path: ['writeOffReason'],\n message: 'Причина списания обязательна',\n });\n }\n if (!value.comment?.trim()) {\n context.addIssue({\n code: 'custom',\n path: ['comment'],\n message: 'Комментарий к списанию обязателен',\n });\n }\n }\n if (value.type === WarehouseRequestType.TRANSFER) {\n if (!source || !destination || source === destination) {\n context.addIssue({\n code: 'custom',\n path: ['destinationWarehousePublicId'],\n message: 'Укажите разные исходный склад и склад назначения',\n });\n }\n }\n });\n\nexport const WarehouseOperationPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\n\nexport const WarehouseOperationAttachmentParamSchema = z.object({\n publicId: PublicIdSchema,\n attachmentPublicId: PublicIdSchema,\n});\n\nexport const WarehouseOperationListQuerySchema = BaseListQuerySchema.extend({\n type: z.enum(WarehouseRequestType).optional(),\n status: z.enum(WarehouseRequestStatus).optional(),\n warehousePublicId: PublicIdSchema.optional(),\n createdByUserId: z.coerce.number().int().positive().optional(),\n});\n\nexport const WarehouseOperationCommentSchema = z.object({\n comment: z.string().trim().max(2_000).nullable().optional(),\n});\n\nexport const RejectWarehouseOperationRequestSchema = z.object({\n comment: z.string().trim().min(1).max(2_000),\n});\n\nexport const ExecuteWarehouseOperationRequestSchema = z.object({\n idempotencyKey: z.uuid(),\n comment: z.string().trim().max(2_000).nullable().optional(),\n});\n\nexport const ReportWarehouseDiscrepancyRequestSchema = z.object({\n comment: z.string().trim().min(1).max(2_000),\n});\n\nexport const WarehouseStockListQuerySchema = BaseListQuerySchema.extend({\n warehousePublicId: PublicIdSchema.optional(),\n variantPublicId: PublicIdSchema.optional(),\n expired: z\n .union([z.boolean(), z.enum(['true', 'false']).transform((v) => v === 'true')])\n .optional(),\n expiresBefore: DateSchema.optional(),\n});\n\nexport const WarehouseSchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n name: z.string(),\n status: z.enum(WarehouseStatus),\n countryCode: z.string().length(2),\n country: z.string(),\n city: z.string(),\n address: z.string(),\n phoneNumber: z.string(),\n mapUrl: z.string(),\n timezone: z.string(),\n schedule: WarehouseWeeklyScheduleSchema,\n isPickupPoint: z.boolean(),\n version: z.number().int().positive(),\n createdAt: DateTimeSchema,\n updatedAt: DateTimeSchema,\n});\n\nexport const WarehouseUserLookupSchema = z.object({\n id: z.number().int().positive(),\n uuid: z.string(),\n login: z.string(),\n firstName: z.string(),\n lastName: z.string(),\n email: z.email(),\n role: z.string(),\n});\n\nexport const WarehouseAssignmentSchema = z.object({\n publicId: PublicIdSchema,\n warehousePublicId: PublicIdSchema,\n type: z.enum(WarehouseAssignmentType),\n user: WarehouseUserLookupSchema,\n assignedByLogin: z.string(),\n assignedAt: DateTimeSchema,\n});\n\nexport const WarehouseOperationLineSchema = z.object({\n publicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n sku: z.string(),\n quantity: z.number().int().positive(),\n expiresAt: DateSchema.nullable(),\n batchNumber: z.string().nullable(),\n comment: z.string().nullable(),\n});\n\nexport const WarehouseOperationEventSchema = z.object({\n publicId: PublicIdSchema,\n fromStatus: z.enum(WarehouseRequestStatus).nullable(),\n toStatus: z.enum(WarehouseRequestStatus),\n actorUserId: z.number().int().positive(),\n actorLogin: z.string(),\n comment: z.string().nullable(),\n createdAt: DateTimeSchema,\n});\n\nexport const WarehouseOperationAttachmentSchema = z.object({\n publicId: PublicIdSchema,\n mimeType: z.string(),\n sizeBytes: z.number().int().positive(),\n originalName: z.string().nullable(),\n uploadedByLogin: z.string(),\n contentUrl: z.string(),\n createdAt: DateTimeSchema,\n});\n\nexport const WarehouseOperationSchema = z.object({\n publicId: PublicIdSchema,\n type: z.enum(WarehouseRequestType),\n status: z.enum(WarehouseRequestStatus),\n sourceWarehouse: WarehouseSchema.nullable(),\n destinationWarehouse: WarehouseSchema.nullable(),\n writeOffReason: z.enum(WarehouseWriteOffReason).nullable(),\n comment: z.string().nullable(),\n rejectionComment: z.string().nullable(),\n createdByUserId: z.number().int().positive(),\n createdByLogin: z.string(),\n approvedByUserId: z.number().int().positive().nullable(),\n approvedByLogin: z.string().nullable(),\n approvedAt: DateTimeSchema.nullable(),\n completedByUserId: z.number().int().positive().nullable(),\n completedByLogin: z.string().nullable(),\n completedAt: DateTimeSchema.nullable(),\n version: z.number().int().positive(),\n lines: z.array(WarehouseOperationLineSchema),\n events: z.array(WarehouseOperationEventSchema),\n attachments: z.array(WarehouseOperationAttachmentSchema),\n createdAt: DateTimeSchema,\n updatedAt: DateTimeSchema,\n});\n\nexport const WarehouseStockSchema = z.object({\n publicId: PublicIdSchema,\n warehouse: WarehouseSchema,\n variantPublicId: PublicIdSchema,\n sku: z.string(),\n productPublicId: PublicIdSchema,\n productCode: z.string(),\n batchNumber: z.string().nullable(),\n expiresAt: DateSchema,\n onHand: z.number().int().nonnegative(),\n reserved: z.number().int().nonnegative(),\n available: z.number().int().nonnegative(),\n expired: z.boolean(),\n version: z.number().int().positive(),\n updatedAt: DateTimeSchema,\n});\n\nexport const WarehouseMovementSchema = z.object({\n publicId: PublicIdSchema,\n warehousePublicId: PublicIdSchema,\n operationPublicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n inventoryBatchPublicId: PublicIdSchema.nullable(),\n type: z.enum(WarehouseMovementType),\n quantityDelta: z.number().int(),\n balanceAfter: z.number().int().nonnegative(),\n actorUserId: z.number().int().positive(),\n actorLogin: z.string(),\n createdAt: DateTimeSchema,\n});\n","import { z } from 'zod';\nimport { CartSchema } from '../cart/cart.schemas';\nimport { ProductUnit } from '../catalog/catalog.enums';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport { WarehouseWeeklyScheduleSchema } from '../warehouse/warehouse.schemas';\nimport {\n OrderDeliveryMethod,\n OrderEventType,\n OrderNotificationType,\n OrderPaymentMethod,\n OrderPaymentStatus,\n OrderReceiptDecision,\n OrderReceiptStatus,\n OrderReservationStatus,\n OrderStatus,\n OrderStockAvailability,\n} from './order.enums';\n\nconst PublicIdSchema = z.uuid();\nconst DateTimeSchema = z.iso.datetime();\nconst MoneySchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\nconst DecimalSchema = z.string().regex(/^\\d{1,16}(?:\\.\\d{1,3})?$/);\nconst OrderNumberSchema = z.string().regex(/^AV-\\d{8}-[A-Z0-9]{6}$/);\n\nexport const CheckoutWarehouseQuerySchema = z.object({\n countryCode: z.string().trim().toUpperCase().length(2),\n city: z.string().trim().min(1).max(160),\n});\n\nexport const CheckoutLocationSchema = z.object({\n countryCode: z.string().length(2),\n country: z.string(),\n cities: z.array(z.string()).min(1),\n});\n\nexport const CheckoutSnapshotSchema = z.object({\n cart: CartSchema,\n locations: z.array(CheckoutLocationSchema),\n mainWallet: z.object({\n balanceUsd: MoneySchema,\n availableBalanceUsd: MoneySchema,\n }),\n paymentMethods: z.array(z.enum(OrderPaymentMethod)),\n reserveDurationHours: z.literal(24),\n});\n\nexport const CheckoutWarehouseAvailabilitySchema = z.object({\n variantPublicId: PublicIdSchema,\n requestedQuantity: z.number().int().positive(),\n availableQuantity: z.number().int().nonnegative(),\n availability: z.enum(OrderStockAvailability),\n});\n\nexport const CheckoutWarehouseSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string(),\n name: z.string(),\n countryCode: z.string().length(2),\n country: z.string(),\n city: z.string(),\n address: z.string(),\n phoneNumber: z.string(),\n mapUrl: z.url(),\n timezone: z.string(),\n schedule: WarehouseWeeklyScheduleSchema,\n canFulfill: z.boolean(),\n items: z.array(CheckoutWarehouseAvailabilitySchema),\n});\n\nexport const CheckoutWarehouseListSchema = z.array(CheckoutWarehouseSchema);\n\nexport const CreateOrderRequestSchema = z\n .object({\n warehousePublicId: PublicIdSchema,\n deliveryMethod: z.literal(OrderDeliveryMethod.PICKUP),\n paymentMethod: z.enum(OrderPaymentMethod),\n walletAmountUsd: MoneySchema.optional(),\n idempotencyKey: PublicIdSchema,\n })\n .superRefine((value, context) => {\n if (\n value.paymentMethod === OrderPaymentMethod.CASH &&\n value.walletAmountUsd\n ) {\n context.addIssue({\n code: 'custom',\n path: ['walletAmountUsd'],\n message: 'Для оплаты наличными сумма кошелька не передаётся',\n });\n }\n if (\n value.paymentMethod === OrderPaymentMethod.MAIN_WALLET &&\n (!value.walletAmountUsd || value.walletAmountUsd === '0.00')\n ) {\n context.addIssue({\n code: 'custom',\n path: ['walletAmountUsd'],\n message: 'Укажите сумму оплаты с основного кошелька',\n });\n }\n });\n\nexport const OrderPublicIdParamSchema = z.object({ publicId: PublicIdSchema });\n\nexport const OrderReceiptParamSchema = z.object({\n publicId: PublicIdSchema,\n receiptPublicId: PublicIdSchema,\n});\n\nexport const OrderWarehouseSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string(),\n name: z.string(),\n countryCode: z.string().length(2),\n country: z.string(),\n city: z.string(),\n address: z.string(),\n phoneNumber: z.string(),\n mapUrl: z.url(),\n timezone: z.string(),\n schedule: WarehouseWeeklyScheduleSchema,\n});\n\nexport const OrderItemSchema = z.object({\n publicId: PublicIdSchema,\n productPublicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n productName: z.string(),\n sku: z.string(),\n variantQuantity: DecimalSchema,\n unit: z.enum(ProductUnit),\n quantity: z.number().int().positive(),\n unitPriceUsd: MoneySchema,\n lineTotalUsd: MoneySchema,\n unitPv: MoneySchema,\n lineTotalPv: MoneySchema,\n coverContentUrl: z.string().nullable(),\n});\n\nexport const OrderReceiptSchema = z.object({\n publicId: PublicIdSchema,\n status: z.enum(OrderReceiptStatus),\n originalName: z.string().nullable(),\n mimeType: z.string(),\n sizeBytes: z.number().int().positive(),\n version: z.number().int().positive(),\n rejectionReason: z.string().nullable(),\n reviewedAt: DateTimeSchema.nullable(),\n createdAt: DateTimeSchema,\n contentUrl: z.string(),\n});\n\nexport const OrderEventSchema = z.object({\n publicId: PublicIdSchema,\n type: z.enum(OrderEventType),\n actorLogin: z.string().nullable(),\n comment: z.string().nullable(),\n createdAt: DateTimeSchema,\n});\n\nexport const OrderSchema = z.object({\n publicId: PublicIdSchema,\n number: OrderNumberSchema,\n status: z.enum(OrderStatus),\n paymentStatus: z.enum(OrderPaymentStatus),\n deliveryMethod: z.enum(OrderDeliveryMethod),\n paymentMethod: z.enum(OrderPaymentMethod),\n locale: z.string().length(2),\n baseCurrencyCode: z.string().length(3),\n displayCurrencyCode: z.string().length(3),\n displayRate: z.string(),\n subtotalUsd: MoneySchema,\n totalPv: MoneySchema,\n walletPaidUsd: MoneySchema,\n walletRefundedUsd: MoneySchema,\n cashDueUsd: MoneySchema,\n reserveExpiresAt: DateTimeSchema.nullable(),\n paidAt: DateTimeSchema.nullable(),\n cancelledAt: DateTimeSchema.nullable(),\n cancellationReason: z.string().nullable(),\n warehouse: OrderWarehouseSchema,\n items: z.array(OrderItemSchema).min(1),\n receipts: z.array(OrderReceiptSchema),\n events: z.array(OrderEventSchema),\n createdAt: DateTimeSchema,\n updatedAt: DateTimeSchema,\n});\n\nexport const OrderListItemSchema = OrderSchema.omit({\n receipts: true,\n events: true,\n});\n\nexport const OrderListQuerySchema = BaseListQuerySchema.extend({\n status: z.enum(OrderStatus).optional(),\n paymentStatus: z.enum(OrderPaymentStatus).optional(),\n});\n\nexport const OrderListResponseSchema = z.object({\n items: z.array(OrderListItemSchema),\n meta: z.object({\n page: z.number().int().positive(),\n limit: z.number().int().positive(),\n total: z.number().int().nonnegative(),\n pageCount: z.number().int().nonnegative(),\n }),\n});\n\nexport const WarehouseOrderReservationListQuerySchema = BaseListQuerySchema.extend({\n warehousePublicId: PublicIdSchema,\n reservationStatus: z.enum(OrderReservationStatus).optional(),\n});\n\nexport const WarehouseOrderReservationSchema = z.object({\n publicId: PublicIdSchema,\n status: z.enum(OrderReservationStatus),\n quantity: z.number().int().positive(),\n createdAt: DateTimeSchema,\n releasedAt: DateTimeSchema.nullable(),\n reserveExpiresAt: DateTimeSchema.nullable(),\n releaseReason: z.string().nullable(),\n order: z.object({\n publicId: PublicIdSchema,\n number: OrderNumberSchema,\n status: z.enum(OrderStatus),\n paymentStatus: z.enum(OrderPaymentStatus),\n }),\n item: z.object({\n publicId: PublicIdSchema,\n productPublicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n productName: z.string(),\n sku: z.string(),\n coverContentUrl: z.string().nullable(),\n }),\n batch: z.object({\n publicId: PublicIdSchema,\n batchNumber: z.string().nullable(),\n expiresAt: z.iso.date(),\n }),\n});\n\nexport const WarehouseOrderReservationListResponseSchema = z.object({\n items: z.array(WarehouseOrderReservationSchema),\n meta: z.object({\n page: z.number().int().positive(),\n limit: z.number().int().positive(),\n total: z.number().int().nonnegative(),\n pageCount: z.number().int().nonnegative(),\n }),\n summary: z.object({\n activeQuantity: z.number().int().nonnegative(),\n activeReservations: z.number().int().nonnegative(),\n releasedReservations: z.number().int().nonnegative(),\n }),\n});\n\nexport const ReviewOrderReceiptRequestSchema = z\n .object({\n decision: z.enum(OrderReceiptDecision),\n version: z.number().int().positive(),\n rejectionReason: z.string().trim().min(1).max(2_000).optional(),\n })\n .superRefine((value, context) => {\n if (\n value.decision === OrderReceiptDecision.REJECT &&\n !value.rejectionReason\n ) {\n context.addIssue({\n code: 'custom',\n path: ['rejectionReason'],\n message: 'Причина отклонения обязательна',\n });\n }\n if (\n value.decision === OrderReceiptDecision.APPROVE &&\n value.rejectionReason\n ) {\n context.addIssue({\n code: 'custom',\n path: ['rejectionReason'],\n message: 'Причина не передаётся при подтверждении',\n });\n }\n });\n\nexport const OrderNotificationSchema = z.object({\n publicId: PublicIdSchema,\n orderPublicId: PublicIdSchema,\n orderNumber: OrderNumberSchema,\n type: z.enum(OrderNotificationType),\n isRead: z.boolean(),\n createdAt: DateTimeSchema,\n});\n\nexport const OrderNotificationListSchema = z.array(OrderNotificationSchema);\n"]}