aivilife-contracts 6.4.0 → 6.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +16 -1
  2. package/dist/auth/index.d.mts +2 -2
  3. package/dist/auth/index.d.ts +2 -2
  4. package/dist/auth/index.js +86 -0
  5. package/dist/auth/index.js.map +1 -1
  6. package/dist/auth/index.mjs +86 -0
  7. package/dist/auth/index.mjs.map +1 -1
  8. package/dist/box/index.d.mts +1 -1
  9. package/dist/box/index.d.ts +1 -1
  10. package/dist/box/index.js +113 -1
  11. package/dist/box/index.js.map +1 -1
  12. package/dist/box/index.mjs +113 -1
  13. package/dist/box/index.mjs.map +1 -1
  14. package/dist/{index-Bps4o0Og.d.mts → index-CBD2sGWZ.d.mts} +1 -1
  15. package/dist/{index-C0sjQqe7.d.ts → index-CGVZAovt.d.ts} +1 -1
  16. package/dist/index.d.mts +5 -5
  17. package/dist/index.d.ts +5 -5
  18. package/dist/index.js +135 -5
  19. package/dist/index.js.map +1 -1
  20. package/dist/index.mjs +120 -6
  21. package/dist/index.mjs.map +1 -1
  22. package/dist/marketing/index.d.mts +99 -3
  23. package/dist/marketing/index.d.ts +99 -3
  24. package/dist/marketing/index.js +102 -0
  25. package/dist/marketing/index.js.map +1 -1
  26. package/dist/marketing/index.mjs +88 -1
  27. package/dist/marketing/index.mjs.map +1 -1
  28. package/dist/{marketing.enums-pDwGbGCG.d.mts → marketing.enums-De2AKo0y.d.mts} +17 -1
  29. package/dist/{marketing.enums-pDwGbGCG.d.ts → marketing.enums-De2AKo0y.d.ts} +17 -1
  30. package/dist/order/index.d.mts +26 -2
  31. package/dist/order/index.d.ts +26 -2
  32. package/dist/order/index.js +114 -1
  33. package/dist/order/index.js.map +1 -1
  34. package/dist/order/index.mjs +114 -2
  35. package/dist/order/index.mjs.map +1 -1
  36. package/dist/{order.enums-DdujST4H.d.mts → order.enums-C_YmPVYH.d.mts} +6 -1
  37. package/dist/{order.enums-DdujST4H.d.ts → order.enums-C_YmPVYH.d.ts} +6 -1
  38. package/package.json +1 -1
package/README.md CHANGED
@@ -34,7 +34,11 @@ const credentials: SignInRequest = {
34
34
 
35
35
  ### Marketing structures
36
36
 
37
- Version `6.1.0` adds shared schemas for referral and binary trees, partner
37
+ Version `6.5.0` adds binary branch volume statistics for week, month and year
38
+ views. The response contains zero-filled UTC buckets for both branches and
39
+ period totals derived from the immutable payable-volume ledger.
40
+
41
+ Version `6.1.0` added shared schemas for referral and binary trees, partner
38
42
  search/detail, exact BOX payment stages, binary volume metrics and live
39
43
  structure invalidation events. Tree depth is validated from 1 to 10; monetary
40
44
  and PV values remain decimal strings with two fractional digits.
@@ -142,6 +146,17 @@ import {
142
146
  } from 'aivilife-contracts/marketing';
143
147
  ```
144
148
 
149
+ ## 6.7.0
150
+
151
+ - Added sponsor identity to BOX order details.
152
+ - Added the administrative sponsor reward projection and credited-result snapshot for Referral and Extra bonuses.
153
+
154
+ ## 6.6.0
155
+
156
+ - Added Binary cycle settings with configurable weekday, local time and IANA timezone.
157
+ - Added idempotent manual cycle-closing request and immutable cycle-run history contracts.
158
+ - Added aggregate Binary, Matching and rank-reward results for the administration UI.
159
+
145
160
  ## 6.0.0
146
161
 
147
162
  - Added BOX administration, exact-PV product selection, warehouse availability and checkout contracts.
@@ -1,3 +1,3 @@
1
- export { A as AuthUser, a as AuthUserSchema, C as ConfirmEmail, b as ConfirmEmailChange, c as ConfirmEmailChangeSchema, d as ConfirmEmailSchema, F as ForgotPassword, e as ForgotPasswordSchema, R as RefreshResponse, f as RefreshResponseSchema, g as RegistrationAvailabilityRequest, h as RegistrationAvailabilityRequestSchema, i as RegistrationAvailabilityResponse, j as RegistrationAvailabilityResponseSchema, k as RegistrationEmailSchema, l as RegistrationLoginSchema, m as RegistrationPasswordSchema, n as RegistrationPhoneNumberSchema, o as RequestEmailChange, p as RequestEmailChangeSchema, q as RequestEmailVerification, r as RequestEmailVerificationSchema, s as ResetPassword, t as ResetPasswordSchema, S as SignInRequest, u as SignInRequestSchema, v as SignInResponse, w as SignInResponseSchema, x as SignUpRequest, y as SignUpRequestSchema } from '../index-Bps4o0Og.mjs';
1
+ export { A as AuthUser, a as AuthUserSchema, C as ConfirmEmail, b as ConfirmEmailChange, c as ConfirmEmailChangeSchema, d as ConfirmEmailSchema, F as ForgotPassword, e as ForgotPasswordSchema, R as RefreshResponse, f as RefreshResponseSchema, g as RegistrationAvailabilityRequest, h as RegistrationAvailabilityRequestSchema, i as RegistrationAvailabilityResponse, j as RegistrationAvailabilityResponseSchema, k as RegistrationEmailSchema, l as RegistrationLoginSchema, m as RegistrationPasswordSchema, n as RegistrationPhoneNumberSchema, o as RequestEmailChange, p as RequestEmailChangeSchema, q as RequestEmailVerification, r as RequestEmailVerificationSchema, s as ResetPassword, t as ResetPasswordSchema, S as SignInRequest, u as SignInRequestSchema, v as SignInResponse, w as SignInResponseSchema, x as SignUpRequest, y as SignUpRequestSchema } from '../index-CBD2sGWZ.mjs';
2
2
  import 'zod';
3
- import '../marketing.enums-pDwGbGCG.mjs';
3
+ import '../marketing.enums-De2AKo0y.mjs';
@@ -1,3 +1,3 @@
1
- export { A as AuthUser, a as AuthUserSchema, C as ConfirmEmail, b as ConfirmEmailChange, c as ConfirmEmailChangeSchema, d as ConfirmEmailSchema, F as ForgotPassword, e as ForgotPasswordSchema, R as RefreshResponse, f as RefreshResponseSchema, g as RegistrationAvailabilityRequest, h as RegistrationAvailabilityRequestSchema, i as RegistrationAvailabilityResponse, j as RegistrationAvailabilityResponseSchema, k as RegistrationEmailSchema, l as RegistrationLoginSchema, m as RegistrationPasswordSchema, n as RegistrationPhoneNumberSchema, o as RequestEmailChange, p as RequestEmailChangeSchema, q as RequestEmailVerification, r as RequestEmailVerificationSchema, s as ResetPassword, t as ResetPasswordSchema, S as SignInRequest, u as SignInRequestSchema, v as SignInResponse, w as SignInResponseSchema, x as SignUpRequest, y as SignUpRequestSchema } from '../index-C0sjQqe7.js';
1
+ export { A as AuthUser, a as AuthUserSchema, C as ConfirmEmail, b as ConfirmEmailChange, c as ConfirmEmailChangeSchema, d as ConfirmEmailSchema, F as ForgotPassword, e as ForgotPasswordSchema, R as RefreshResponse, f as RefreshResponseSchema, g as RegistrationAvailabilityRequest, h as RegistrationAvailabilityRequestSchema, i as RegistrationAvailabilityResponse, j as RegistrationAvailabilityResponseSchema, k as RegistrationEmailSchema, l as RegistrationLoginSchema, m as RegistrationPasswordSchema, n as RegistrationPhoneNumberSchema, o as RequestEmailChange, p as RequestEmailChangeSchema, q as RequestEmailVerification, r as RequestEmailVerificationSchema, s as ResetPassword, t as ResetPasswordSchema, S as SignInRequest, u as SignInRequestSchema, v as SignInResponse, w as SignInResponseSchema, x as SignUpRequest, y as SignUpRequestSchema } from '../index-CGVZAovt.js';
2
2
  import 'zod';
3
- import '../marketing.enums-pDwGbGCG.js';
3
+ import '../marketing.enums-De2AKo0y.js';
@@ -243,6 +243,22 @@ var MarketingBonusPeriod = /* @__PURE__ */ ((MarketingBonusPeriod2) => {
243
243
  MarketingBonusPeriod2["ALL_TIME"] = "ALL_TIME";
244
244
  return MarketingBonusPeriod2;
245
245
  })(MarketingBonusPeriod || {});
246
+ var BinaryVolumeStatisticsPeriod = /* @__PURE__ */ ((BinaryVolumeStatisticsPeriod2) => {
247
+ BinaryVolumeStatisticsPeriod2["WEEK"] = "WEEK";
248
+ BinaryVolumeStatisticsPeriod2["MONTH"] = "MONTH";
249
+ BinaryVolumeStatisticsPeriod2["YEAR"] = "YEAR";
250
+ return BinaryVolumeStatisticsPeriod2;
251
+ })(BinaryVolumeStatisticsPeriod || {});
252
+ var BinaryVolumeStatisticsGranularity = /* @__PURE__ */ ((BinaryVolumeStatisticsGranularity2) => {
253
+ BinaryVolumeStatisticsGranularity2["DAY"] = "DAY";
254
+ BinaryVolumeStatisticsGranularity2["MONTH"] = "MONTH";
255
+ return BinaryVolumeStatisticsGranularity2;
256
+ })(BinaryVolumeStatisticsGranularity || {});
257
+ var BinaryCycleTrigger = /* @__PURE__ */ ((BinaryCycleTrigger2) => {
258
+ BinaryCycleTrigger2["AUTOMATIC"] = "AUTOMATIC";
259
+ BinaryCycleTrigger2["MANUAL"] = "MANUAL";
260
+ return BinaryCycleTrigger2;
261
+ })(BinaryCycleTrigger || {});
246
262
  var BinaryBranchSchema = zod.z.enum(BinaryBranch);
247
263
  var MarketingMemberStatusSchema = zod.z.enum(MarketingMemberStatus);
248
264
  zod.z.enum(MarketingVolumeKind);
@@ -251,6 +267,13 @@ var MarketingStructureKindSchema = zod.z.enum(MarketingStructureKind);
251
267
  var MarketingPartnerStageSchema = zod.z.enum(MarketingPartnerStage);
252
268
  var MarketingBonusTypeSchema = zod.z.enum(MarketingBonusType);
253
269
  var MarketingBonusPeriodSchema = zod.z.enum(MarketingBonusPeriod);
270
+ var BinaryVolumeStatisticsPeriodSchema = zod.z.enum(
271
+ BinaryVolumeStatisticsPeriod
272
+ );
273
+ var BinaryVolumeStatisticsGranularitySchema = zod.z.enum(
274
+ BinaryVolumeStatisticsGranularity
275
+ );
276
+ zod.z.enum(BinaryCycleTrigger);
254
277
  var MarketingPublicIdentifierSchema = zod.z.string().trim().min(3).max(255);
255
278
  var MarketingInvitationTokenSchema = zod.z.string().trim().regex(/^[A-Za-z0-9_-]{43}$/);
256
279
  var ManualMarketingPlacementSchema = zod.z.object({
@@ -399,6 +422,27 @@ zod.z.object({
399
422
  rootUuid: zod.z.string().trim().min(1).max(255).optional(),
400
423
  depth: zod.z.coerce.number().int().min(1).max(10).default(3)
401
424
  });
425
+ zod.z.object({
426
+ rootUuid: zod.z.string().trim().min(1).max(255).optional(),
427
+ period: BinaryVolumeStatisticsPeriodSchema.default(
428
+ "MONTH" /* MONTH */
429
+ )
430
+ });
431
+ var BinaryVolumeStatisticsPointSchema = zod.z.object({
432
+ startedAt: zod.z.iso.datetime(),
433
+ leftPv: PvSchema2,
434
+ rightPv: PvSchema2
435
+ });
436
+ zod.z.object({
437
+ period: BinaryVolumeStatisticsPeriodSchema,
438
+ granularity: BinaryVolumeStatisticsGranularitySchema,
439
+ rangeStart: zod.z.iso.datetime(),
440
+ rangeEnd: zod.z.iso.datetime(),
441
+ totalLeftPv: PvSchema2,
442
+ totalRightPv: PvSchema2,
443
+ points: zod.z.array(BinaryVolumeStatisticsPointSchema).min(1).max(31),
444
+ generatedAt: zod.z.iso.datetime()
445
+ });
402
446
  zod.z.object({
403
447
  query: zod.z.string().trim().min(2).max(255),
404
448
  kind: MarketingStructureKindSchema,
@@ -535,6 +579,48 @@ zod.z.object({
535
579
  items: zod.z.array(MarketingBonusSummaryItemSchema),
536
580
  generatedAt: zod.z.iso.datetime()
537
581
  });
582
+ var PvSchema4 = zod.z.string().regex(/^\d{1,16}\.\d{2}$/);
583
+ zod.z.object({
584
+ automaticEnabled: zod.z.boolean(),
585
+ isoWeekday: zod.z.number().int().min(1).max(7),
586
+ localTime: zod.z.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/),
587
+ timeZone: zod.z.string().trim().min(1).max(100),
588
+ openPeriodStartedAt: zod.z.iso.datetime(),
589
+ nextAutomaticRunAt: zod.z.iso.datetime(),
590
+ version: zod.z.number().int().positive()
591
+ });
592
+ zod.z.object({
593
+ automaticEnabled: zod.z.boolean(),
594
+ isoWeekday: zod.z.number().int().min(1).max(7),
595
+ localTime: zod.z.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/),
596
+ timeZone: zod.z.string().trim().min(1).max(100),
597
+ version: zod.z.number().int().positive()
598
+ });
599
+ zod.z.object({
600
+ idempotencyKey: zod.z.uuid()
601
+ });
602
+ var BinaryCycleRunSchema = zod.z.object({
603
+ publicId: zod.z.uuid(),
604
+ periodStartedAt: zod.z.iso.datetime(),
605
+ periodEndedAt: zod.z.iso.datetime(),
606
+ trigger: zod.z.enum(BinaryCycleTrigger),
607
+ processedMembers: zod.z.number().int().nonnegative(),
608
+ paidMembers: zod.z.number().int().nonnegative(),
609
+ promotedMembers: zod.z.number().int().nonnegative(),
610
+ binaryPaidPv: PvSchema4,
611
+ matchingPaidPv: PvSchema4,
612
+ statusPaidPv: PvSchema4,
613
+ createdAt: zod.z.iso.datetime()
614
+ });
615
+ zod.z.object({
616
+ items: zod.z.array(BinaryCycleRunSchema),
617
+ meta: zod.z.object({
618
+ page: zod.z.number().int().positive(),
619
+ limit: zod.z.number().int().positive(),
620
+ total: zod.z.number().int().nonnegative(),
621
+ pageCount: zod.z.number().int().nonnegative()
622
+ })
623
+ });
538
624
 
539
625
  // src/auth/sign-up.contract.ts
540
626
  var RegistrationEmailSchema = zod.z.email("\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 email").trim().toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../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/common/pagination.schemas.ts","../../src/common/list-query.schemas.ts","../../src/common/id.schemas.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/marketing/marketing-rank.contract.ts","../../src/marketing/marketing-structure.contract.ts","../../src/marketing/marketing-bonus-summary.contract.ts","../../src/auth/sign-up.contract.ts","../../src/auth/registration-availability.contract.ts","../../src/auth/account-actions.contract.ts"],"names":["UserRole","z","UserFileType","BinaryBranch","MarketingMemberStatus","MarketingVolumeKind","MarketingRankRewardType","MarketingStructureKind","MarketingPartnerStage","MarketingBonusType","MarketingBonusPeriod","PvSchema","PublicIdSchema"],"mappings":"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","file":"index.js","sourcesContent":["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';\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","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 enum MarketingVolumeKind {\n PAYABLE_BINARY = 'PAYABLE_BINARY',\n RANK = 'RANK',\n}\n\nexport enum MarketingRankRewardType {\n NONE = 'NONE',\n PV = 'PV',\n GIFT = 'GIFT',\n PV_AND_GIFT = 'PV_AND_GIFT',\n}\n\nexport enum MarketingStructureKind {\n REFERRAL = 'REFERRAL',\n BINARY = 'BINARY',\n}\n\nexport enum MarketingPartnerStage {\n REGISTERED = 'REGISTERED',\n INITIAL_PAYMENT_AWAITING_RECEIPT = 'INITIAL_PAYMENT_AWAITING_RECEIPT',\n INITIAL_PAYMENT_UNDER_REVIEW = 'INITIAL_PAYMENT_UNDER_REVIEW',\n INITIAL_PAYMENT_REJECTED = 'INITIAL_PAYMENT_REJECTED',\n ACTIVE = 'ACTIVE',\n UPGRADE_PAYMENT_AWAITING_RECEIPT = 'UPGRADE_PAYMENT_AWAITING_RECEIPT',\n UPGRADE_PAYMENT_UNDER_REVIEW = 'UPGRADE_PAYMENT_UNDER_REVIEW',\n UPGRADE_PAYMENT_REJECTED = 'UPGRADE_PAYMENT_REJECTED',\n}\n\nexport enum MarketingBonusType {\n REFERRAL = 'REFERRAL',\n BINARY = 'BINARY',\n MATCHING = 'MATCHING',\n EXTRA = 'EXTRA',\n STRUCTURAL = 'STRUCTURAL',\n STATUS = 'STATUS',\n}\n\nexport enum MarketingBonusPeriod {\n LAST_7_DAYS = 'LAST_7_DAYS',\n LAST_30_DAYS = 'LAST_30_DAYS',\n LAST_90_DAYS = 'LAST_90_DAYS',\n ALL_TIME = 'ALL_TIME',\n}\n\nexport const BinaryBranchSchema = z.enum(BinaryBranch);\nexport const MarketingMemberStatusSchema = z.enum(MarketingMemberStatus);\nexport const MarketingVolumeKindSchema = z.enum(MarketingVolumeKind);\nexport const MarketingRankRewardTypeSchema = z.enum(MarketingRankRewardType);\nexport const MarketingStructureKindSchema = z.enum(MarketingStructureKind);\nexport const MarketingPartnerStageSchema = z.enum(MarketingPartnerStage);\nexport const MarketingBonusTypeSchema = z.enum(MarketingBonusType);\nexport const MarketingBonusPeriodSchema = z.enum(MarketingBonusPeriod);\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 { AppLocaleSchema } from '../localization/app-locale.schema';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport { MarketingRankRewardType } from './marketing.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 PvSchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\nconst InputPvSchema = z\n .string()\n .trim()\n .regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/);\nconst PercentSchema = z.number().int().min(0).max(100);\n\nexport const MarketingRankTranslationInputSchema = z.object({\n locale: AppLocaleSchema,\n name: z.string().trim().min(1).max(160),\n description: z.string().trim().max(2_000).nullable().optional(),\n rewardName: z.string().trim().max(255).nullable().optional(),\n});\n\nexport const MarketingMatchingLevelInputSchema = z.object({\n level: z.number().int().positive().max(1_000),\n percent: PercentSchema,\n});\n\nconst UniqueTranslationsSchema = z\n .array(MarketingRankTranslationInputSchema)\n .min(1)\n .max(4)\n .refine(\n (items) => new Set(items.map((item) => item.locale)).size === items.length,\n 'Перевод для каждого языка можно передать только один раз',\n );\n\nconst UniqueMatchingLevelsSchema = z\n .array(MarketingMatchingLevelInputSchema)\n .max(1_000)\n .refine(\n (items) => new Set(items.map((item) => item.level)).size === items.length,\n 'Каждый уровень Matching можно передать только один раз',\n );\n\nconst MarketingRankFieldsSchema = z.object({\n code: CodeSchema,\n sortOrder: z.number().int().min(0).max(1_000_000),\n isDefault: z.boolean(),\n requiredWeakLegPv: InputPvSchema,\n maxBinaryPayoutPv: InputPvSchema.nullable(),\n rewardType: z.enum(MarketingRankRewardType),\n rewardPv: InputPvSchema.nullable(),\n rewardImageUrl: z.url().max(2_000).nullable(),\n translations: UniqueTranslationsSchema,\n matchingLevels: UniqueMatchingLevelsSchema,\n});\n\nconst validateReward = (\n value: z.infer<typeof MarketingRankFieldsSchema>,\n context: z.RefinementCtx,\n) => {\n const includesPv =\n value.rewardType === MarketingRankRewardType.PV ||\n value.rewardType === MarketingRankRewardType.PV_AND_GIFT;\n const includesGift =\n value.rewardType === MarketingRankRewardType.GIFT ||\n value.rewardType === MarketingRankRewardType.PV_AND_GIFT;\n if (includesPv && (!value.rewardPv || Number(value.rewardPv) <= 0)) {\n context.addIssue({\n code: 'custom',\n path: ['rewardPv'],\n message: 'Для PV-награды укажите сумму больше нуля',\n });\n }\n if (!includesPv && value.rewardPv !== null) {\n context.addIssue({\n code: 'custom',\n path: ['rewardPv'],\n message: 'PV можно указать только для PV-награды',\n });\n }\n if (includesGift && value.translations.some((item) => !item.rewardName)) {\n context.addIssue({\n code: 'custom',\n path: ['translations'],\n message: 'Для подарка укажите название награды на каждом языке',\n });\n }\n if (!includesGift && value.rewardImageUrl !== null) {\n context.addIssue({\n code: 'custom',\n path: ['rewardImageUrl'],\n message: 'Изображение можно указать только для подарка',\n });\n }\n};\n\nexport const CreateMarketingRankRequestSchema =\n MarketingRankFieldsSchema.extend({\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n isDefault: z.boolean().default(false),\n maxBinaryPayoutPv: InputPvSchema.nullable().default(null),\n rewardType: z\n .enum(MarketingRankRewardType)\n .default(MarketingRankRewardType.NONE),\n rewardPv: InputPvSchema.nullable().default(null),\n rewardImageUrl: z.url().max(2_000).nullable().default(null),\n matchingLevels: UniqueMatchingLevelsSchema.default([]),\n }).superRefine(validateReward);\n\nexport const UpdateMarketingRankRequestSchema =\n MarketingRankFieldsSchema.partial()\n .extend({ version: z.number().int().positive() })\n .superRefine((value, context) => {\n const includesPv =\n value.rewardType === MarketingRankRewardType.PV ||\n value.rewardType === MarketingRankRewardType.PV_AND_GIFT;\n if (\n value.rewardType !== undefined &&\n !includesPv &&\n value.rewardPv !== undefined &&\n value.rewardPv !== null\n ) {\n context.addIssue({\n code: 'custom',\n path: ['rewardPv'],\n message: 'PV можно указать только для PV-награды',\n });\n }\n });\n\nexport const MarketingRankPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\n\nexport const MarketingRankListQuerySchema = BaseListQuerySchema;\n\nexport const MarketingMatchingLevelSchema =\n MarketingMatchingLevelInputSchema.extend({ publicId: PublicIdSchema });\n\nexport const MarketingRankSchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n sortOrder: z.number().int().nonnegative(),\n isDefault: z.boolean(),\n requiredWeakLegPv: PvSchema,\n maxBinaryPayoutPv: PvSchema.nullable(),\n rewardType: z.enum(MarketingRankRewardType),\n rewardPv: PvSchema.nullable(),\n rewardImageUrl: z.string().nullable(),\n memberCount: z.number().int().nonnegative(),\n version: z.number().int().positive(),\n translations: z.array(MarketingRankTranslationInputSchema),\n matchingLevels: z.array(MarketingMatchingLevelSchema),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const MarketingRankListResponseSchema = z.object({\n items: z.array(MarketingRankSchema),\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 type CreateMarketingRankRequest = z.infer<\n typeof CreateMarketingRankRequestSchema\n>;\nexport type UpdateMarketingRankRequest = z.infer<\n typeof UpdateMarketingRankRequestSchema\n>;\nexport type MarketingRankListQuery = z.infer<\n typeof MarketingRankListQuerySchema\n>;\nexport type MarketingRankResponse = z.infer<typeof MarketingRankSchema>;\nexport type MarketingRankListResponse = z.infer<\n typeof MarketingRankListResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n BinaryBranchSchema,\n MarketingMemberStatusSchema,\n MarketingPartnerStageSchema,\n MarketingStructureKindSchema,\n} from './marketing.enums';\n\nconst PvSchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\nconst PublicIdSchema = z.uuid();\n\nexport const MarketingStructureQuerySchema = z.object({\n rootUuid: z.string().trim().min(1).max(255).optional(),\n depth: z.coerce.number().int().min(1).max(10).default(3),\n});\n\nexport const MarketingStructureSearchQuerySchema = z.object({\n query: z.string().trim().min(2).max(255),\n kind: MarketingStructureKindSchema,\n limit: z.coerce.number().int().min(1).max(25).default(10),\n});\n\nexport const MarketingStructureMemberParamSchema = z.object({\n uuid: z.string().trim().min(1).max(255),\n});\n\nexport const MarketingStructureMemberQuerySchema = z.object({\n kind: MarketingStructureKindSchema,\n});\n\nexport const MarketingStructureRankSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string().trim().min(1).max(64),\n name: z.string().trim().min(1).max(160),\n maxBinaryPayoutPv: PvSchema.nullable(),\n});\n\nexport const MarketingStructureBoxSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string().trim().min(1).max(64),\n name: z.string().trim().min(1).max(160),\n pvBudget: PvSchema,\n});\n\nexport const MarketingStructureBinaryVolumesSchema = z.object({\n payableLeftPv: PvSchema,\n payableRightPv: PvSchema,\n cumulativeLeftPv: PvSchema,\n cumulativeRightPv: PvSchema,\n lastIncrement: z\n .object({\n branch: BinaryBranchSchema,\n amountPv: PvSchema,\n occurredAt: z.iso.datetime(),\n })\n .nullable(),\n});\n\nexport const MarketingStructureMemberSchema = 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 marketingStatus: MarketingMemberStatusSchema,\n stage: MarketingPartnerStageSchema,\n parentUuid: z.string().trim().min(1).max(255).nullable(),\n directSponsorUuid: z.string().trim().min(1).max(255).nullable(),\n preferredBranch: BinaryBranchSchema.nullable(),\n binaryBranch: BinaryBranchSchema.nullable(),\n isBinaryPlaced: z.boolean(),\n personalReferralSequence: z.number().int().positive().nullable(),\n isExtraBonusSource: z.boolean(),\n depth: z.number().int().nonnegative(),\n hasChildren: z.boolean(),\n rank: MarketingStructureRankSchema,\n activeBox: MarketingStructureBoxSchema.nullable(),\n pendingBox: MarketingStructureBoxSchema.nullable(),\n hasAvatar: z.boolean(),\n binaryVolumes: MarketingStructureBinaryVolumesSchema.nullable(),\n joinedAt: z.iso.datetime(),\n activatedAt: z.iso.datetime().nullable(),\n});\n\nexport const MarketingStructureSummarySchema = z.object({\n directPartners: z.number().int().nonnegative(),\n visiblePartners: z.number().int().nonnegative(),\n activePartners: z.number().int().nonnegative(),\n awaitingPayment: z.number().int().nonnegative(),\n registeredOnly: z.number().int().nonnegative(),\n});\n\nexport const ReferralStructureResponseSchema = z.object({\n kind: z.literal('REFERRAL'),\n root: MarketingStructureMemberSchema,\n nodes: z.array(MarketingStructureMemberSchema),\n summary: MarketingStructureSummarySchema,\n requestedDepth: z.number().int().min(1).max(10),\n generatedAt: z.iso.datetime(),\n});\n\nexport const BinaryStructureMetricsSchema = z.object({\n payableLeftPv: PvSchema,\n payableRightPv: PvSchema,\n cumulativeLeftPv: PvSchema,\n cumulativeRightPv: PvSchema,\n weakBranch: BinaryBranchSchema.nullable(),\n weakBranchPv: PvSchema,\n binaryPercent: z.number().int().min(0).max(100),\n payoutLimitPv: PvSchema.nullable(),\n estimatedPayoutPv: PvSchema,\n leftPartners: z.number().int().nonnegative(),\n rightPartners: z.number().int().nonnegative(),\n currentCycleNumber: z.number().int().positive().nullable(),\n currentCycleClosesAt: z.iso.datetime().nullable(),\n});\n\nexport const BinaryStructureResponseSchema = z.object({\n kind: z.literal('BINARY'),\n root: MarketingStructureMemberSchema,\n nodes: z.array(MarketingStructureMemberSchema),\n pendingPlacements: z.array(MarketingStructureMemberSchema),\n summary: MarketingStructureSummarySchema,\n metrics: BinaryStructureMetricsSchema,\n requestedDepth: z.number().int().min(1).max(10),\n generatedAt: z.iso.datetime(),\n});\n\nexport const MarketingStructureSearchResponseSchema = z.object({\n items: z.array(MarketingStructureMemberSchema),\n});\n\nexport const MarketingStructureMemberDetailSchema =\n MarketingStructureMemberSchema.extend({\n email: z.email(),\n phoneNumber: z.string().trim().max(20),\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 });\n\nexport const MarketingStructureEventSchema = z.object({\n type: z.literal('STRUCTURE_CHANGED'),\n revision: z.string().uuid(),\n occurredAt: z.iso.datetime(),\n});\n\nexport type MarketingStructureQuery = z.infer<\n typeof MarketingStructureQuerySchema\n>;\nexport type MarketingStructureSearchQuery = z.infer<\n typeof MarketingStructureSearchQuerySchema\n>;\nexport type MarketingStructureMemberQuery = z.infer<\n typeof MarketingStructureMemberQuerySchema\n>;\nexport type MarketingStructureMember = z.infer<\n typeof MarketingStructureMemberSchema\n>;\nexport type ReferralStructureResponse = z.infer<\n typeof ReferralStructureResponseSchema\n>;\nexport type BinaryStructureResponse = z.infer<\n typeof BinaryStructureResponseSchema\n>;\nexport type MarketingStructureSearchResponse = z.infer<\n typeof MarketingStructureSearchResponseSchema\n>;\nexport type MarketingStructureMemberDetail = z.infer<\n typeof MarketingStructureMemberDetailSchema\n>;\nexport type MarketingStructureEvent = z.infer<\n typeof MarketingStructureEventSchema\n>;\n","import { z } from 'zod';\nimport {\n MarketingBonusPeriod,\n MarketingBonusPeriodSchema,\n MarketingBonusTypeSchema,\n} from './marketing.enums';\n\nconst PvSchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\n\nexport const MarketingBonusSummaryQuerySchema = z.object({\n period: MarketingBonusPeriodSchema.default(MarketingBonusPeriod.LAST_30_DAYS),\n});\n\nexport const MarketingBonusSummaryItemSchema = z.object({\n type: MarketingBonusTypeSchema,\n amountPv: PvSchema,\n transactionCount: z.number().int().nonnegative(),\n shareBasisPoints: z.number().int().min(0).max(10_000),\n lastCreditedAt: z.iso.datetime().nullable(),\n});\n\nexport const MarketingBonusSummaryResponseSchema = z.object({\n period: MarketingBonusPeriodSchema,\n from: z.iso.datetime().nullable(),\n to: z.iso.datetime(),\n totalPv: PvSchema,\n transactionCount: z.number().int().nonnegative(),\n items: z.array(MarketingBonusSummaryItemSchema),\n generatedAt: z.iso.datetime(),\n});\n\nexport type MarketingBonusSummaryQuery = z.infer<\n typeof MarketingBonusSummaryQuerySchema\n>;\nexport type MarketingBonusSummaryItem = z.infer<\n typeof MarketingBonusSummaryItemSchema\n>;\nexport type MarketingBonusSummaryResponse = z.infer<\n typeof MarketingBonusSummaryResponseSchema\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"]}
1
+ {"version":3,"sources":["../../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/common/pagination.schemas.ts","../../src/common/list-query.schemas.ts","../../src/common/id.schemas.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/marketing/marketing-rank.contract.ts","../../src/marketing/marketing-structure.contract.ts","../../src/marketing/marketing-bonus-summary.contract.ts","../../src/marketing/marketing-binary-cycle.contract.ts","../../src/auth/sign-up.contract.ts","../../src/auth/registration-availability.contract.ts","../../src/auth/account-actions.contract.ts"],"names":["UserRole","z","UserFileType","BinaryBranch","MarketingMemberStatus","MarketingVolumeKind","MarketingRankRewardType","MarketingStructureKind","MarketingPartnerStage","MarketingBonusType","MarketingBonusPeriod","BinaryVolumeStatisticsPeriod","BinaryVolumeStatisticsGranularity","BinaryCycleTrigger","PvSchema","PublicIdSchema"],"mappings":"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","file":"index.js","sourcesContent":["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';\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","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 enum MarketingVolumeKind {\n PAYABLE_BINARY = 'PAYABLE_BINARY',\n RANK = 'RANK',\n}\n\nexport enum MarketingRankRewardType {\n NONE = 'NONE',\n PV = 'PV',\n GIFT = 'GIFT',\n PV_AND_GIFT = 'PV_AND_GIFT',\n}\n\nexport enum MarketingStructureKind {\n REFERRAL = 'REFERRAL',\n BINARY = 'BINARY',\n}\n\nexport enum MarketingPartnerStage {\n REGISTERED = 'REGISTERED',\n INITIAL_PAYMENT_AWAITING_RECEIPT = 'INITIAL_PAYMENT_AWAITING_RECEIPT',\n INITIAL_PAYMENT_UNDER_REVIEW = 'INITIAL_PAYMENT_UNDER_REVIEW',\n INITIAL_PAYMENT_REJECTED = 'INITIAL_PAYMENT_REJECTED',\n ACTIVE = 'ACTIVE',\n UPGRADE_PAYMENT_AWAITING_RECEIPT = 'UPGRADE_PAYMENT_AWAITING_RECEIPT',\n UPGRADE_PAYMENT_UNDER_REVIEW = 'UPGRADE_PAYMENT_UNDER_REVIEW',\n UPGRADE_PAYMENT_REJECTED = 'UPGRADE_PAYMENT_REJECTED',\n}\n\nexport enum MarketingBonusType {\n REFERRAL = 'REFERRAL',\n BINARY = 'BINARY',\n MATCHING = 'MATCHING',\n EXTRA = 'EXTRA',\n STRUCTURAL = 'STRUCTURAL',\n STATUS = 'STATUS',\n}\n\nexport enum MarketingBonusPeriod {\n LAST_7_DAYS = 'LAST_7_DAYS',\n LAST_30_DAYS = 'LAST_30_DAYS',\n LAST_90_DAYS = 'LAST_90_DAYS',\n ALL_TIME = 'ALL_TIME',\n}\n\nexport enum BinaryVolumeStatisticsPeriod {\n WEEK = 'WEEK',\n MONTH = 'MONTH',\n YEAR = 'YEAR',\n}\n\nexport enum BinaryVolumeStatisticsGranularity {\n DAY = 'DAY',\n MONTH = 'MONTH',\n}\n\nexport enum BinaryCycleTrigger {\n AUTOMATIC = 'AUTOMATIC',\n MANUAL = 'MANUAL',\n}\n\nexport const BinaryBranchSchema = z.enum(BinaryBranch);\nexport const MarketingMemberStatusSchema = z.enum(MarketingMemberStatus);\nexport const MarketingVolumeKindSchema = z.enum(MarketingVolumeKind);\nexport const MarketingRankRewardTypeSchema = z.enum(MarketingRankRewardType);\nexport const MarketingStructureKindSchema = z.enum(MarketingStructureKind);\nexport const MarketingPartnerStageSchema = z.enum(MarketingPartnerStage);\nexport const MarketingBonusTypeSchema = z.enum(MarketingBonusType);\nexport const MarketingBonusPeriodSchema = z.enum(MarketingBonusPeriod);\nexport const BinaryVolumeStatisticsPeriodSchema = z.enum(\n BinaryVolumeStatisticsPeriod,\n);\nexport const BinaryVolumeStatisticsGranularitySchema = z.enum(\n BinaryVolumeStatisticsGranularity,\n);\nexport const BinaryCycleTriggerSchema = z.enum(BinaryCycleTrigger);\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 { AppLocaleSchema } from '../localization/app-locale.schema';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport { MarketingRankRewardType } from './marketing.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 PvSchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\nconst InputPvSchema = z\n .string()\n .trim()\n .regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/);\nconst PercentSchema = z.number().int().min(0).max(100);\n\nexport const MarketingRankTranslationInputSchema = z.object({\n locale: AppLocaleSchema,\n name: z.string().trim().min(1).max(160),\n description: z.string().trim().max(2_000).nullable().optional(),\n rewardName: z.string().trim().max(255).nullable().optional(),\n});\n\nexport const MarketingMatchingLevelInputSchema = z.object({\n level: z.number().int().positive().max(1_000),\n percent: PercentSchema,\n});\n\nconst UniqueTranslationsSchema = z\n .array(MarketingRankTranslationInputSchema)\n .min(1)\n .max(4)\n .refine(\n (items) => new Set(items.map((item) => item.locale)).size === items.length,\n 'Перевод для каждого языка можно передать только один раз',\n );\n\nconst UniqueMatchingLevelsSchema = z\n .array(MarketingMatchingLevelInputSchema)\n .max(1_000)\n .refine(\n (items) => new Set(items.map((item) => item.level)).size === items.length,\n 'Каждый уровень Matching можно передать только один раз',\n );\n\nconst MarketingRankFieldsSchema = z.object({\n code: CodeSchema,\n sortOrder: z.number().int().min(0).max(1_000_000),\n isDefault: z.boolean(),\n requiredWeakLegPv: InputPvSchema,\n maxBinaryPayoutPv: InputPvSchema.nullable(),\n rewardType: z.enum(MarketingRankRewardType),\n rewardPv: InputPvSchema.nullable(),\n rewardImageUrl: z.url().max(2_000).nullable(),\n translations: UniqueTranslationsSchema,\n matchingLevels: UniqueMatchingLevelsSchema,\n});\n\nconst validateReward = (\n value: z.infer<typeof MarketingRankFieldsSchema>,\n context: z.RefinementCtx,\n) => {\n const includesPv =\n value.rewardType === MarketingRankRewardType.PV ||\n value.rewardType === MarketingRankRewardType.PV_AND_GIFT;\n const includesGift =\n value.rewardType === MarketingRankRewardType.GIFT ||\n value.rewardType === MarketingRankRewardType.PV_AND_GIFT;\n if (includesPv && (!value.rewardPv || Number(value.rewardPv) <= 0)) {\n context.addIssue({\n code: 'custom',\n path: ['rewardPv'],\n message: 'Для PV-награды укажите сумму больше нуля',\n });\n }\n if (!includesPv && value.rewardPv !== null) {\n context.addIssue({\n code: 'custom',\n path: ['rewardPv'],\n message: 'PV можно указать только для PV-награды',\n });\n }\n if (includesGift && value.translations.some((item) => !item.rewardName)) {\n context.addIssue({\n code: 'custom',\n path: ['translations'],\n message: 'Для подарка укажите название награды на каждом языке',\n });\n }\n if (!includesGift && value.rewardImageUrl !== null) {\n context.addIssue({\n code: 'custom',\n path: ['rewardImageUrl'],\n message: 'Изображение можно указать только для подарка',\n });\n }\n};\n\nexport const CreateMarketingRankRequestSchema =\n MarketingRankFieldsSchema.extend({\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n isDefault: z.boolean().default(false),\n maxBinaryPayoutPv: InputPvSchema.nullable().default(null),\n rewardType: z\n .enum(MarketingRankRewardType)\n .default(MarketingRankRewardType.NONE),\n rewardPv: InputPvSchema.nullable().default(null),\n rewardImageUrl: z.url().max(2_000).nullable().default(null),\n matchingLevels: UniqueMatchingLevelsSchema.default([]),\n }).superRefine(validateReward);\n\nexport const UpdateMarketingRankRequestSchema =\n MarketingRankFieldsSchema.partial()\n .extend({ version: z.number().int().positive() })\n .superRefine((value, context) => {\n const includesPv =\n value.rewardType === MarketingRankRewardType.PV ||\n value.rewardType === MarketingRankRewardType.PV_AND_GIFT;\n if (\n value.rewardType !== undefined &&\n !includesPv &&\n value.rewardPv !== undefined &&\n value.rewardPv !== null\n ) {\n context.addIssue({\n code: 'custom',\n path: ['rewardPv'],\n message: 'PV можно указать только для PV-награды',\n });\n }\n });\n\nexport const MarketingRankPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\n\nexport const MarketingRankListQuerySchema = BaseListQuerySchema;\n\nexport const MarketingMatchingLevelSchema =\n MarketingMatchingLevelInputSchema.extend({ publicId: PublicIdSchema });\n\nexport const MarketingRankSchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n sortOrder: z.number().int().nonnegative(),\n isDefault: z.boolean(),\n requiredWeakLegPv: PvSchema,\n maxBinaryPayoutPv: PvSchema.nullable(),\n rewardType: z.enum(MarketingRankRewardType),\n rewardPv: PvSchema.nullable(),\n rewardImageUrl: z.string().nullable(),\n memberCount: z.number().int().nonnegative(),\n version: z.number().int().positive(),\n translations: z.array(MarketingRankTranslationInputSchema),\n matchingLevels: z.array(MarketingMatchingLevelSchema),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const MarketingRankListResponseSchema = z.object({\n items: z.array(MarketingRankSchema),\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 type CreateMarketingRankRequest = z.infer<\n typeof CreateMarketingRankRequestSchema\n>;\nexport type UpdateMarketingRankRequest = z.infer<\n typeof UpdateMarketingRankRequestSchema\n>;\nexport type MarketingRankListQuery = z.infer<\n typeof MarketingRankListQuerySchema\n>;\nexport type MarketingRankResponse = z.infer<typeof MarketingRankSchema>;\nexport type MarketingRankListResponse = z.infer<\n typeof MarketingRankListResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n BinaryBranchSchema,\n BinaryVolumeStatisticsGranularitySchema,\n BinaryVolumeStatisticsPeriod,\n BinaryVolumeStatisticsPeriodSchema,\n MarketingMemberStatusSchema,\n MarketingPartnerStageSchema,\n MarketingStructureKindSchema,\n} from './marketing.enums';\n\nconst PvSchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\nconst PublicIdSchema = z.uuid();\n\nexport const MarketingStructureQuerySchema = z.object({\n rootUuid: z.string().trim().min(1).max(255).optional(),\n depth: z.coerce.number().int().min(1).max(10).default(3),\n});\n\nexport const BinaryVolumeStatisticsQuerySchema = z.object({\n rootUuid: z.string().trim().min(1).max(255).optional(),\n period: BinaryVolumeStatisticsPeriodSchema.default(\n BinaryVolumeStatisticsPeriod.MONTH,\n ),\n});\n\nexport const BinaryVolumeStatisticsPointSchema = z.object({\n startedAt: z.iso.datetime(),\n leftPv: PvSchema,\n rightPv: PvSchema,\n});\n\nexport const BinaryVolumeStatisticsResponseSchema = z.object({\n period: BinaryVolumeStatisticsPeriodSchema,\n granularity: BinaryVolumeStatisticsGranularitySchema,\n rangeStart: z.iso.datetime(),\n rangeEnd: z.iso.datetime(),\n totalLeftPv: PvSchema,\n totalRightPv: PvSchema,\n points: z.array(BinaryVolumeStatisticsPointSchema).min(1).max(31),\n generatedAt: z.iso.datetime(),\n});\n\nexport const MarketingStructureSearchQuerySchema = z.object({\n query: z.string().trim().min(2).max(255),\n kind: MarketingStructureKindSchema,\n limit: z.coerce.number().int().min(1).max(25).default(10),\n});\n\nexport const MarketingStructureMemberParamSchema = z.object({\n uuid: z.string().trim().min(1).max(255),\n});\n\nexport const MarketingStructureMemberQuerySchema = z.object({\n kind: MarketingStructureKindSchema,\n});\n\nexport const MarketingStructureRankSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string().trim().min(1).max(64),\n name: z.string().trim().min(1).max(160),\n maxBinaryPayoutPv: PvSchema.nullable(),\n});\n\nexport const MarketingStructureBoxSchema = z.object({\n publicId: PublicIdSchema,\n code: z.string().trim().min(1).max(64),\n name: z.string().trim().min(1).max(160),\n pvBudget: PvSchema,\n});\n\nexport const MarketingStructureBinaryVolumesSchema = z.object({\n payableLeftPv: PvSchema,\n payableRightPv: PvSchema,\n cumulativeLeftPv: PvSchema,\n cumulativeRightPv: PvSchema,\n lastIncrement: z\n .object({\n branch: BinaryBranchSchema,\n amountPv: PvSchema,\n occurredAt: z.iso.datetime(),\n })\n .nullable(),\n});\n\nexport const MarketingStructureMemberSchema = 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 marketingStatus: MarketingMemberStatusSchema,\n stage: MarketingPartnerStageSchema,\n parentUuid: z.string().trim().min(1).max(255).nullable(),\n directSponsorUuid: z.string().trim().min(1).max(255).nullable(),\n preferredBranch: BinaryBranchSchema.nullable(),\n binaryBranch: BinaryBranchSchema.nullable(),\n isBinaryPlaced: z.boolean(),\n personalReferralSequence: z.number().int().positive().nullable(),\n isExtraBonusSource: z.boolean(),\n depth: z.number().int().nonnegative(),\n hasChildren: z.boolean(),\n rank: MarketingStructureRankSchema,\n activeBox: MarketingStructureBoxSchema.nullable(),\n pendingBox: MarketingStructureBoxSchema.nullable(),\n hasAvatar: z.boolean(),\n binaryVolumes: MarketingStructureBinaryVolumesSchema.nullable(),\n joinedAt: z.iso.datetime(),\n activatedAt: z.iso.datetime().nullable(),\n});\n\nexport const MarketingStructureSummarySchema = z.object({\n directPartners: z.number().int().nonnegative(),\n visiblePartners: z.number().int().nonnegative(),\n activePartners: z.number().int().nonnegative(),\n awaitingPayment: z.number().int().nonnegative(),\n registeredOnly: z.number().int().nonnegative(),\n});\n\nexport const ReferralStructureResponseSchema = z.object({\n kind: z.literal('REFERRAL'),\n root: MarketingStructureMemberSchema,\n nodes: z.array(MarketingStructureMemberSchema),\n summary: MarketingStructureSummarySchema,\n requestedDepth: z.number().int().min(1).max(10),\n generatedAt: z.iso.datetime(),\n});\n\nexport const BinaryStructureMetricsSchema = z.object({\n payableLeftPv: PvSchema,\n payableRightPv: PvSchema,\n cumulativeLeftPv: PvSchema,\n cumulativeRightPv: PvSchema,\n weakBranch: BinaryBranchSchema.nullable(),\n weakBranchPv: PvSchema,\n binaryPercent: z.number().int().min(0).max(100),\n payoutLimitPv: PvSchema.nullable(),\n estimatedPayoutPv: PvSchema,\n leftPartners: z.number().int().nonnegative(),\n rightPartners: z.number().int().nonnegative(),\n currentCycleNumber: z.number().int().positive().nullable(),\n currentCycleClosesAt: z.iso.datetime().nullable(),\n});\n\nexport const BinaryStructureResponseSchema = z.object({\n kind: z.literal('BINARY'),\n root: MarketingStructureMemberSchema,\n nodes: z.array(MarketingStructureMemberSchema),\n pendingPlacements: z.array(MarketingStructureMemberSchema),\n summary: MarketingStructureSummarySchema,\n metrics: BinaryStructureMetricsSchema,\n requestedDepth: z.number().int().min(1).max(10),\n generatedAt: z.iso.datetime(),\n});\n\nexport const MarketingStructureSearchResponseSchema = z.object({\n items: z.array(MarketingStructureMemberSchema),\n});\n\nexport const MarketingStructureMemberDetailSchema =\n MarketingStructureMemberSchema.extend({\n email: z.email(),\n phoneNumber: z.string().trim().max(20),\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 });\n\nexport const MarketingStructureEventSchema = z.object({\n type: z.literal('STRUCTURE_CHANGED'),\n revision: z.string().uuid(),\n occurredAt: z.iso.datetime(),\n});\n\nexport type MarketingStructureQuery = z.infer<\n typeof MarketingStructureQuerySchema\n>;\nexport type BinaryVolumeStatisticsQuery = z.infer<\n typeof BinaryVolumeStatisticsQuerySchema\n>;\nexport type BinaryVolumeStatisticsResponse = z.infer<\n typeof BinaryVolumeStatisticsResponseSchema\n>;\nexport type MarketingStructureSearchQuery = z.infer<\n typeof MarketingStructureSearchQuerySchema\n>;\nexport type MarketingStructureMemberQuery = z.infer<\n typeof MarketingStructureMemberQuerySchema\n>;\nexport type MarketingStructureMember = z.infer<\n typeof MarketingStructureMemberSchema\n>;\nexport type ReferralStructureResponse = z.infer<\n typeof ReferralStructureResponseSchema\n>;\nexport type BinaryStructureResponse = z.infer<\n typeof BinaryStructureResponseSchema\n>;\nexport type MarketingStructureSearchResponse = z.infer<\n typeof MarketingStructureSearchResponseSchema\n>;\nexport type MarketingStructureMemberDetail = z.infer<\n typeof MarketingStructureMemberDetailSchema\n>;\nexport type MarketingStructureEvent = z.infer<\n typeof MarketingStructureEventSchema\n>;\n","import { z } from 'zod';\nimport {\n MarketingBonusPeriod,\n MarketingBonusPeriodSchema,\n MarketingBonusTypeSchema,\n} from './marketing.enums';\n\nconst PvSchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\n\nexport const MarketingBonusSummaryQuerySchema = z.object({\n period: MarketingBonusPeriodSchema.default(MarketingBonusPeriod.LAST_30_DAYS),\n});\n\nexport const MarketingBonusSummaryItemSchema = z.object({\n type: MarketingBonusTypeSchema,\n amountPv: PvSchema,\n transactionCount: z.number().int().nonnegative(),\n shareBasisPoints: z.number().int().min(0).max(10_000),\n lastCreditedAt: z.iso.datetime().nullable(),\n});\n\nexport const MarketingBonusSummaryResponseSchema = z.object({\n period: MarketingBonusPeriodSchema,\n from: z.iso.datetime().nullable(),\n to: z.iso.datetime(),\n totalPv: PvSchema,\n transactionCount: z.number().int().nonnegative(),\n items: z.array(MarketingBonusSummaryItemSchema),\n generatedAt: z.iso.datetime(),\n});\n\nexport type MarketingBonusSummaryQuery = z.infer<\n typeof MarketingBonusSummaryQuerySchema\n>;\nexport type MarketingBonusSummaryItem = z.infer<\n typeof MarketingBonusSummaryItemSchema\n>;\nexport type MarketingBonusSummaryResponse = z.infer<\n typeof MarketingBonusSummaryResponseSchema\n>;\n","import { z } from 'zod';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport { BinaryCycleTrigger } from './marketing.enums';\n\nconst PvSchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\n\nexport const BinaryCycleSettingsSchema = z.object({\n automaticEnabled: z.boolean(),\n isoWeekday: z.number().int().min(1).max(7),\n localTime: z.string().regex(/^([01]\\d|2[0-3]):[0-5]\\d$/),\n timeZone: z.string().trim().min(1).max(100),\n openPeriodStartedAt: z.iso.datetime(),\n nextAutomaticRunAt: z.iso.datetime(),\n version: z.number().int().positive(),\n});\n\nexport const UpdateBinaryCycleSettingsRequestSchema = z.object({\n automaticEnabled: z.boolean(),\n isoWeekday: z.number().int().min(1).max(7),\n localTime: z.string().regex(/^([01]\\d|2[0-3]):[0-5]\\d$/),\n timeZone: z.string().trim().min(1).max(100),\n version: z.number().int().positive(),\n});\n\nexport const CloseBinaryCycleRequestSchema = z.object({\n idempotencyKey: z.uuid(),\n});\n\nexport const BinaryCycleRunSchema = z.object({\n publicId: z.uuid(),\n periodStartedAt: z.iso.datetime(),\n periodEndedAt: z.iso.datetime(),\n trigger: z.enum(BinaryCycleTrigger),\n processedMembers: z.number().int().nonnegative(),\n paidMembers: z.number().int().nonnegative(),\n promotedMembers: z.number().int().nonnegative(),\n binaryPaidPv: PvSchema,\n matchingPaidPv: PvSchema,\n statusPaidPv: PvSchema,\n createdAt: z.iso.datetime(),\n});\n\nexport const BinaryCycleRunListQuerySchema = BaseListQuerySchema;\n\nexport const BinaryCycleRunListResponseSchema = z.object({\n items: z.array(BinaryCycleRunSchema),\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 type BinaryCycleSettingsResponse = z.infer<\n typeof BinaryCycleSettingsSchema\n>;\nexport type UpdateBinaryCycleSettingsRequest = z.infer<\n typeof UpdateBinaryCycleSettingsRequestSchema\n>;\nexport type CloseBinaryCycleRequest = z.infer<\n typeof CloseBinaryCycleRequestSchema\n>;\nexport type BinaryCycleRunResponse = z.infer<typeof BinaryCycleRunSchema>;\nexport type BinaryCycleRunListQuery = z.infer<\n typeof BinaryCycleRunListQuerySchema\n>;\nexport type BinaryCycleRunListResponse = z.infer<\n typeof BinaryCycleRunListResponseSchema\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"]}
@@ -241,6 +241,22 @@ var MarketingBonusPeriod = /* @__PURE__ */ ((MarketingBonusPeriod2) => {
241
241
  MarketingBonusPeriod2["ALL_TIME"] = "ALL_TIME";
242
242
  return MarketingBonusPeriod2;
243
243
  })(MarketingBonusPeriod || {});
244
+ var BinaryVolumeStatisticsPeriod = /* @__PURE__ */ ((BinaryVolumeStatisticsPeriod2) => {
245
+ BinaryVolumeStatisticsPeriod2["WEEK"] = "WEEK";
246
+ BinaryVolumeStatisticsPeriod2["MONTH"] = "MONTH";
247
+ BinaryVolumeStatisticsPeriod2["YEAR"] = "YEAR";
248
+ return BinaryVolumeStatisticsPeriod2;
249
+ })(BinaryVolumeStatisticsPeriod || {});
250
+ var BinaryVolumeStatisticsGranularity = /* @__PURE__ */ ((BinaryVolumeStatisticsGranularity2) => {
251
+ BinaryVolumeStatisticsGranularity2["DAY"] = "DAY";
252
+ BinaryVolumeStatisticsGranularity2["MONTH"] = "MONTH";
253
+ return BinaryVolumeStatisticsGranularity2;
254
+ })(BinaryVolumeStatisticsGranularity || {});
255
+ var BinaryCycleTrigger = /* @__PURE__ */ ((BinaryCycleTrigger2) => {
256
+ BinaryCycleTrigger2["AUTOMATIC"] = "AUTOMATIC";
257
+ BinaryCycleTrigger2["MANUAL"] = "MANUAL";
258
+ return BinaryCycleTrigger2;
259
+ })(BinaryCycleTrigger || {});
244
260
  var BinaryBranchSchema = z.enum(BinaryBranch);
245
261
  var MarketingMemberStatusSchema = z.enum(MarketingMemberStatus);
246
262
  z.enum(MarketingVolumeKind);
@@ -249,6 +265,13 @@ var MarketingStructureKindSchema = z.enum(MarketingStructureKind);
249
265
  var MarketingPartnerStageSchema = z.enum(MarketingPartnerStage);
250
266
  var MarketingBonusTypeSchema = z.enum(MarketingBonusType);
251
267
  var MarketingBonusPeriodSchema = z.enum(MarketingBonusPeriod);
268
+ var BinaryVolumeStatisticsPeriodSchema = z.enum(
269
+ BinaryVolumeStatisticsPeriod
270
+ );
271
+ var BinaryVolumeStatisticsGranularitySchema = z.enum(
272
+ BinaryVolumeStatisticsGranularity
273
+ );
274
+ z.enum(BinaryCycleTrigger);
252
275
  var MarketingPublicIdentifierSchema = z.string().trim().min(3).max(255);
253
276
  var MarketingInvitationTokenSchema = z.string().trim().regex(/^[A-Za-z0-9_-]{43}$/);
254
277
  var ManualMarketingPlacementSchema = z.object({
@@ -397,6 +420,27 @@ z.object({
397
420
  rootUuid: z.string().trim().min(1).max(255).optional(),
398
421
  depth: z.coerce.number().int().min(1).max(10).default(3)
399
422
  });
423
+ z.object({
424
+ rootUuid: z.string().trim().min(1).max(255).optional(),
425
+ period: BinaryVolumeStatisticsPeriodSchema.default(
426
+ "MONTH" /* MONTH */
427
+ )
428
+ });
429
+ var BinaryVolumeStatisticsPointSchema = z.object({
430
+ startedAt: z.iso.datetime(),
431
+ leftPv: PvSchema2,
432
+ rightPv: PvSchema2
433
+ });
434
+ z.object({
435
+ period: BinaryVolumeStatisticsPeriodSchema,
436
+ granularity: BinaryVolumeStatisticsGranularitySchema,
437
+ rangeStart: z.iso.datetime(),
438
+ rangeEnd: z.iso.datetime(),
439
+ totalLeftPv: PvSchema2,
440
+ totalRightPv: PvSchema2,
441
+ points: z.array(BinaryVolumeStatisticsPointSchema).min(1).max(31),
442
+ generatedAt: z.iso.datetime()
443
+ });
400
444
  z.object({
401
445
  query: z.string().trim().min(2).max(255),
402
446
  kind: MarketingStructureKindSchema,
@@ -533,6 +577,48 @@ z.object({
533
577
  items: z.array(MarketingBonusSummaryItemSchema),
534
578
  generatedAt: z.iso.datetime()
535
579
  });
580
+ var PvSchema4 = z.string().regex(/^\d{1,16}\.\d{2}$/);
581
+ z.object({
582
+ automaticEnabled: z.boolean(),
583
+ isoWeekday: z.number().int().min(1).max(7),
584
+ localTime: z.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/),
585
+ timeZone: z.string().trim().min(1).max(100),
586
+ openPeriodStartedAt: z.iso.datetime(),
587
+ nextAutomaticRunAt: z.iso.datetime(),
588
+ version: z.number().int().positive()
589
+ });
590
+ z.object({
591
+ automaticEnabled: z.boolean(),
592
+ isoWeekday: z.number().int().min(1).max(7),
593
+ localTime: z.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/),
594
+ timeZone: z.string().trim().min(1).max(100),
595
+ version: z.number().int().positive()
596
+ });
597
+ z.object({
598
+ idempotencyKey: z.uuid()
599
+ });
600
+ var BinaryCycleRunSchema = z.object({
601
+ publicId: z.uuid(),
602
+ periodStartedAt: z.iso.datetime(),
603
+ periodEndedAt: z.iso.datetime(),
604
+ trigger: z.enum(BinaryCycleTrigger),
605
+ processedMembers: z.number().int().nonnegative(),
606
+ paidMembers: z.number().int().nonnegative(),
607
+ promotedMembers: z.number().int().nonnegative(),
608
+ binaryPaidPv: PvSchema4,
609
+ matchingPaidPv: PvSchema4,
610
+ statusPaidPv: PvSchema4,
611
+ createdAt: z.iso.datetime()
612
+ });
613
+ z.object({
614
+ items: z.array(BinaryCycleRunSchema),
615
+ meta: z.object({
616
+ page: z.number().int().positive(),
617
+ limit: z.number().int().positive(),
618
+ total: z.number().int().nonnegative(),
619
+ pageCount: z.number().int().nonnegative()
620
+ })
621
+ });
536
622
 
537
623
  // src/auth/sign-up.contract.ts
538
624
  var RegistrationEmailSchema = z.email("\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 email").trim().toLowerCase();