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.
- package/README.md +16 -1
- package/dist/auth/index.d.mts +2 -2
- package/dist/auth/index.d.ts +2 -2
- package/dist/auth/index.js +86 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/index.mjs +86 -0
- package/dist/auth/index.mjs.map +1 -1
- package/dist/box/index.d.mts +1 -1
- package/dist/box/index.d.ts +1 -1
- package/dist/box/index.js +113 -1
- package/dist/box/index.js.map +1 -1
- package/dist/box/index.mjs +113 -1
- package/dist/box/index.mjs.map +1 -1
- package/dist/{index-Bps4o0Og.d.mts → index-CBD2sGWZ.d.mts} +1 -1
- package/dist/{index-C0sjQqe7.d.ts → index-CGVZAovt.d.ts} +1 -1
- package/dist/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +135 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +120 -6
- package/dist/index.mjs.map +1 -1
- package/dist/marketing/index.d.mts +99 -3
- package/dist/marketing/index.d.ts +99 -3
- package/dist/marketing/index.js +102 -0
- package/dist/marketing/index.js.map +1 -1
- package/dist/marketing/index.mjs +88 -1
- package/dist/marketing/index.mjs.map +1 -1
- package/dist/{marketing.enums-pDwGbGCG.d.mts → marketing.enums-De2AKo0y.d.mts} +17 -1
- package/dist/{marketing.enums-pDwGbGCG.d.ts → marketing.enums-De2AKo0y.d.ts} +17 -1
- package/dist/order/index.d.mts +26 -2
- package/dist/order/index.d.ts +26 -2
- package/dist/order/index.js +114 -1
- package/dist/order/index.js.map +1 -1
- package/dist/order/index.mjs +114 -2
- package/dist/order/index.mjs.map +1 -1
- package/dist/{order.enums-DdujST4H.d.mts → order.enums-C_YmPVYH.d.mts} +6 -1
- package/dist/{order.enums-DdujST4H.d.ts → order.enums-C_YmPVYH.d.ts} +6 -1
- 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.
|
|
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.
|
package/dist/auth/index.d.mts
CHANGED
|
@@ -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-
|
|
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-
|
|
3
|
+
import '../marketing.enums-De2AKo0y.mjs';
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -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-
|
|
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-
|
|
3
|
+
import '../marketing.enums-De2AKo0y.js';
|
package/dist/auth/index.js
CHANGED
|
@@ -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();
|
package/dist/auth/index.js.map
CHANGED
|
@@ -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"]}
|
package/dist/auth/index.mjs
CHANGED
|
@@ -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();
|