aivilife-contracts 4.0.0 → 4.2.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/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
- import { U as UserRole, B as BinaryBranch } from './marketing.enums-DGUBL79s.js';
3
- export { A as AuthUser, a as AuthUserSchema, b as BinaryBranchSchema, C as ConfirmEmail, c as ConfirmEmailSchema, F as ForgotPassword, d as ForgotPasswordSchema, M as MarketingMemberStatus, e as MarketingMemberStatusSchema, 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 RequestEmailVerification, p as RequestEmailVerificationSchema, q as ResetPassword, r as ResetPasswordSchema, S as SignInRequest, s as SignInRequestSchema, t as SignInResponse, u as SignInResponseSchema, v as SignUpRequest, w as SignUpRequestSchema } from './marketing.enums-DGUBL79s.js';
2
+ import { U as UserRole, B as BinaryBranch } from './marketing.enums-pV5acC3L.js';
3
+ export { A as AuthUser, a as AuthUserSchema, b as BinaryBranchSchema, C as ConfirmEmail, c as ConfirmEmailChange, d as ConfirmEmailChangeSchema, e as ConfirmEmailSchema, F as ForgotPassword, f as ForgotPasswordSchema, M as MarketingMemberStatus, g as MarketingMemberStatusSchema, R as RefreshResponse, h as RefreshResponseSchema, i as RegistrationAvailabilityRequest, j as RegistrationAvailabilityRequestSchema, k as RegistrationAvailabilityResponse, l as RegistrationAvailabilityResponseSchema, m as RegistrationEmailSchema, n as RegistrationLoginSchema, o as RegistrationPasswordSchema, p as RegistrationPhoneNumberSchema, q as RequestEmailChange, r as RequestEmailChangeSchema, s as RequestEmailVerification, t as RequestEmailVerificationSchema, u as ResetPassword, v as ResetPasswordSchema, S as SignInRequest, w as SignInRequestSchema, x as SignInResponse, y as SignInResponseSchema, z as SignUpRequest, D as SignUpRequestSchema } from './marketing.enums-pV5acC3L.js';
4
+ export { AppLocale, SupportedLocales } from './localization/index.js';
4
5
 
5
6
  declare const PageSchema: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
6
7
  declare const LimitSchema: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
@@ -71,6 +72,12 @@ declare const UserSchema: z.ZodObject<{
71
72
  instagramLink: z.ZodNullable<z.ZodString>;
72
73
  telegramLink: z.ZodNullable<z.ZodString>;
73
74
  displayCurrency: z.ZodString;
75
+ locale: z.ZodEnum<{
76
+ readonly RU: "ru";
77
+ readonly KK: "kk";
78
+ readonly UZ: "uz";
79
+ readonly EN: "en";
80
+ }>;
74
81
  role: z.ZodEnum<typeof UserRole>;
75
82
  createdAt: z.ZodISODateTime;
76
83
  updatedAt: z.ZodISODateTime;
@@ -89,14 +96,19 @@ declare const CreateUserRequestSchema: z.ZodObject<{
89
96
  declare const UpdateUserRequestSchema: z.ZodObject<{
90
97
  firstName: z.ZodOptional<z.ZodString>;
91
98
  lastName: z.ZodOptional<z.ZodString>;
92
- countryCode: z.ZodOptional<z.ZodString>;
93
- country: z.ZodOptional<z.ZodString>;
99
+ phoneNumber: z.ZodOptional<z.ZodString>;
94
100
  city: z.ZodOptional<z.ZodString>;
95
- whatsappLink: z.ZodOptional<z.ZodNullable<z.ZodString>>;
96
- instagramLink: z.ZodOptional<z.ZodNullable<z.ZodString>>;
97
- telegramLink: z.ZodOptional<z.ZodNullable<z.ZodString>>;
101
+ whatsappLink: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
102
+ instagramLink: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
103
+ telegramLink: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
98
104
  displayCurrency: z.ZodOptional<z.ZodString>;
99
- }, z.core.$strip>;
105
+ locale: z.ZodOptional<z.ZodEnum<{
106
+ readonly RU: "ru";
107
+ readonly KK: "kk";
108
+ readonly UZ: "uz";
109
+ readonly EN: "en";
110
+ }>>;
111
+ }, z.core.$strict>;
100
112
  declare const ChangePasswordRequestSchema: z.ZodObject<{
101
113
  currentPassword: z.ZodString;
102
114
  newPassword: z.ZodString;
@@ -119,6 +131,12 @@ declare const UserListResponseSchema: z.ZodArray<z.ZodObject<{
119
131
  instagramLink: z.ZodNullable<z.ZodString>;
120
132
  telegramLink: z.ZodNullable<z.ZodString>;
121
133
  displayCurrency: z.ZodString;
134
+ locale: z.ZodEnum<{
135
+ readonly RU: "ru";
136
+ readonly KK: "kk";
137
+ readonly UZ: "uz";
138
+ readonly EN: "en";
139
+ }>;
122
140
  role: z.ZodEnum<typeof UserRole>;
123
141
  createdAt: z.ZodISODateTime;
124
142
  updatedAt: z.ZodISODateTime;
@@ -561,4 +579,11 @@ type MarketingPlacementIdentity = z.infer<typeof MarketingPlacementIdentitySchem
561
579
  type MarketingPlacementPreview = z.infer<typeof MarketingPlacementPreviewSchema>;
562
580
  type CreateMarketingInvitationResponse = z.infer<typeof CreateMarketingInvitationResponseSchema>;
563
581
 
564
- export { type BaseListQuery, BaseListQuerySchema, BinaryBranch, type ChangePasswordRequest, ChangePasswordRequestSchema, type CitiesResponse, CitiesResponseSchema, type CityResponse, CityResponseSchema, type CountriesResponse, CountriesResponseSchema, type CountryResponse, CountryResponseSchema, type CreateCurrencyRequest, CreateCurrencyRequestSchema, type CreateMarketingInvitationRequest, CreateMarketingInvitationRequestSchema, type CreateMarketingInvitationResponse, CreateMarketingInvitationResponseSchema, CreateUserRequestSchema, type CreateWalletTransactionRequest, CreateWalletTransactionRequestSchema, type Currency, CurrencyCodeParamSchema, CurrencyCodeSchema, type CurrencyListResponse, CurrencyListResponseSchema, type CurrencyResponse, CurrencySchema, DateFromSchema, DateToSchema, type DbId, DbIdSchema, type ExchangeRate, type ExchangeRateListResponse, ExchangeRateListResponseSchema, type ExchangeRateResponse, ExchangeRateSchema, ExchangeRateSourceSchema, type FileIdParam, FileIdParamSchema, type GetCitiesQuery, GetCitiesQuerySchema, type GetUserWalletByTypeParams, GetUserWalletByTypeParamsSchema, GetUserWalletTransactionsParamsSchema, type GetUserWalletsParams, GetUserWalletsParamsSchema, INT4_MAX, type InvitationMarketingPlacement, InvitationMarketingPlacementSchema, LimitSchema, type ManualMarketingPlacement, ManualMarketingPlacementSchema, MarketingInvitationTokenSchema, type MarketingPlacementIdentity, MarketingPlacementIdentitySchema, type MarketingPlacementPreview, MarketingPlacementPreviewSchema, MarketingPublicIdentifierSchema, MoneyAmountSchema, MoneyAmountStringSchema, type MoneyView, MoneyViewSchema, PageSchema, type PaginatedResponse, type PaginatedResponseMeta, type PaginationQuery, PaginationQuerySchema, RatePerBaseSchema, SearchSchema, type SortOrder, SortOrderSchema, type UpdateCurrencyRequest, UpdateCurrencyRequestSchema, type UpdateExchangeRateRequest, UpdateExchangeRateRequestSchema, UpdateUserRequestSchema, type UserCreateRequest, type UserFile, type UserFileList, UserFileListSchema, UserFileSchema, UserFileType, type UserListResponse, UserListResponseSchema, type UserResponse, UserRole, UserSchema, type UserUpdateRequest, WalletCurrency, WalletCurrencySchema, type WalletListResponse, WalletListResponseSchema, WalletOperationKeySchema, type WalletResponse, WalletSchema, WalletStatus, WalletStatusSchema, WalletTransactionDetailsListResponseSchema, type WalletTransactionDetailsResponse, WalletTransactionDetailsSchema, WalletTransactionDirection, WalletTransactionDirectionSchema, WalletTransactionListResponseSchema, WalletTransactionReason, WalletTransactionReasonSchema, type WalletTransactionResponse, WalletTransactionSchema, WalletTransactionSourceUserSchema, WalletTransactionStatus, WalletTransactionStatusSchema, type WalletTransactionsListQuery, WalletTransactionsListQuerySchema, WalletType, WalletTypeSchema };
582
+ declare const AppLocaleSchema: z.ZodEnum<{
583
+ readonly RU: "ru";
584
+ readonly KK: "kk";
585
+ readonly UZ: "uz";
586
+ readonly EN: "en";
587
+ }>;
588
+
589
+ export { AppLocaleSchema, type BaseListQuery, BaseListQuerySchema, BinaryBranch, type ChangePasswordRequest, ChangePasswordRequestSchema, type CitiesResponse, CitiesResponseSchema, type CityResponse, CityResponseSchema, type CountriesResponse, CountriesResponseSchema, type CountryResponse, CountryResponseSchema, type CreateCurrencyRequest, CreateCurrencyRequestSchema, type CreateMarketingInvitationRequest, CreateMarketingInvitationRequestSchema, type CreateMarketingInvitationResponse, CreateMarketingInvitationResponseSchema, CreateUserRequestSchema, type CreateWalletTransactionRequest, CreateWalletTransactionRequestSchema, type Currency, CurrencyCodeParamSchema, CurrencyCodeSchema, type CurrencyListResponse, CurrencyListResponseSchema, type CurrencyResponse, CurrencySchema, DateFromSchema, DateToSchema, type DbId, DbIdSchema, type ExchangeRate, type ExchangeRateListResponse, ExchangeRateListResponseSchema, type ExchangeRateResponse, ExchangeRateSchema, ExchangeRateSourceSchema, type FileIdParam, FileIdParamSchema, type GetCitiesQuery, GetCitiesQuerySchema, type GetUserWalletByTypeParams, GetUserWalletByTypeParamsSchema, GetUserWalletTransactionsParamsSchema, type GetUserWalletsParams, GetUserWalletsParamsSchema, INT4_MAX, type InvitationMarketingPlacement, InvitationMarketingPlacementSchema, LimitSchema, type ManualMarketingPlacement, ManualMarketingPlacementSchema, MarketingInvitationTokenSchema, type MarketingPlacementIdentity, MarketingPlacementIdentitySchema, type MarketingPlacementPreview, MarketingPlacementPreviewSchema, MarketingPublicIdentifierSchema, MoneyAmountSchema, MoneyAmountStringSchema, type MoneyView, MoneyViewSchema, PageSchema, type PaginatedResponse, type PaginatedResponseMeta, type PaginationQuery, PaginationQuerySchema, RatePerBaseSchema, SearchSchema, type SortOrder, SortOrderSchema, type UpdateCurrencyRequest, UpdateCurrencyRequestSchema, type UpdateExchangeRateRequest, UpdateExchangeRateRequestSchema, UpdateUserRequestSchema, type UserCreateRequest, type UserFile, type UserFileList, UserFileListSchema, UserFileSchema, UserFileType, type UserListResponse, UserListResponseSchema, type UserResponse, UserRole, UserSchema, type UserUpdateRequest, WalletCurrency, WalletCurrencySchema, type WalletListResponse, WalletListResponseSchema, WalletOperationKeySchema, type WalletResponse, WalletSchema, WalletStatus, WalletStatusSchema, WalletTransactionDetailsListResponseSchema, type WalletTransactionDetailsResponse, WalletTransactionDetailsSchema, WalletTransactionDirection, WalletTransactionDirectionSchema, WalletTransactionListResponseSchema, WalletTransactionReason, WalletTransactionReasonSchema, type WalletTransactionResponse, WalletTransactionSchema, WalletTransactionSourceUserSchema, WalletTransactionStatus, WalletTransactionStatusSchema, type WalletTransactionsListQuery, WalletTransactionsListQuerySchema, WalletType, WalletTypeSchema };
package/dist/index.js CHANGED
@@ -69,7 +69,25 @@ var UpdateCurrencyRequestSchema = zod.z.object({
69
69
  isActive: zod.z.boolean()
70
70
  }).partial();
71
71
 
72
+ // src/localization/app-locale.enum.ts
73
+ var AppLocale = {
74
+ RU: "ru",
75
+ KK: "kk",
76
+ UZ: "uz",
77
+ EN: "en"
78
+ };
79
+ var SupportedLocales = Object.values(
80
+ AppLocale
81
+ );
82
+
83
+ // src/localization/app-locale.schema.ts
84
+ var AppLocaleSchema = zod.z.enum(AppLocale);
85
+
72
86
  // src/user/user.schemas.ts
87
+ var socialLink = (hosts) => zod.z.url().trim().max(255).refine((value) => {
88
+ const url = new URL(value);
89
+ return url.protocol === "https:" && hosts.some((host) => url.hostname === host || url.hostname === `www.${host}`);
90
+ }, "\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u0443\u044E \u0441\u0441\u044B\u043B\u043A\u0443 \u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0443\u044E \u0441\u043E\u0446\u0438\u0430\u043B\u044C\u043D\u0443\u044E \u0441\u0435\u0442\u044C");
73
91
  var UserSchema = zod.z.object({
74
92
  id: zod.z.number().int().positive(),
75
93
  firstName: zod.z.string().trim().max(255),
@@ -88,6 +106,7 @@ var UserSchema = zod.z.object({
88
106
  instagramLink: zod.z.string().trim().max(255).nullable(),
89
107
  telegramLink: zod.z.string().trim().max(255).nullable(),
90
108
  displayCurrency: CurrencyCodeSchema,
109
+ locale: AppLocaleSchema,
91
110
  role: zod.z.enum(UserRole),
92
111
  createdAt: zod.z.iso.datetime(),
93
112
  updatedAt: zod.z.iso.datetime()
@@ -106,14 +125,16 @@ var CreateUserRequestSchema = zod.z.object({
106
125
  var UpdateUserRequestSchema = zod.z.object({
107
126
  firstName: zod.z.string().trim().min(1).max(255),
108
127
  lastName: zod.z.string().trim().min(1).max(255),
109
- countryCode: zod.z.string().trim().length(2),
110
- country: zod.z.string().trim().min(1).max(255),
128
+ phoneNumber: zod.z.string().trim().min(7).max(20),
111
129
  city: zod.z.string().trim().min(1).max(255),
112
- whatsappLink: zod.z.string().trim().max(255).nullable(),
113
- instagramLink: zod.z.string().trim().max(255).nullable(),
114
- telegramLink: zod.z.string().trim().max(255).nullable(),
115
- displayCurrency: CurrencyCodeSchema
116
- }).partial();
130
+ whatsappLink: socialLink(["wa.me", "api.whatsapp.com"]).nullable(),
131
+ instagramLink: socialLink(["instagram.com"]).nullable(),
132
+ telegramLink: socialLink(["t.me", "telegram.me"]).nullable(),
133
+ displayCurrency: CurrencyCodeSchema,
134
+ locale: AppLocaleSchema
135
+ }).partial().strict().refine((value) => Object.keys(value).length > 0, {
136
+ message: "\u041F\u0435\u0440\u0435\u0434\u0430\u0439\u0442\u0435 \u0445\u043E\u0442\u044F \u0431\u044B \u043E\u0434\u043D\u043E \u043F\u043E\u043B\u0435 \u0434\u043B\u044F \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F"
137
+ });
117
138
  var ChangePasswordRequestSchema = zod.z.object({
118
139
  currentPassword: zod.z.string().trim().min(6).max(255),
119
140
  newPassword: zod.z.string().trim().min(6).max(255)
@@ -261,6 +282,13 @@ var RequestEmailVerificationSchema = zod.z.object({
261
282
  var ConfirmEmailSchema = zod.z.object({
262
283
  token: ActionTokenSchema
263
284
  });
285
+ var RequestEmailChangeSchema = zod.z.object({
286
+ newEmail: zod.z.email().trim(),
287
+ currentPassword: zod.z.string().trim().min(6).max(255)
288
+ });
289
+ var ConfirmEmailChangeSchema = zod.z.object({
290
+ token: ActionTokenSchema
291
+ });
264
292
  var ForgotPasswordSchema = zod.z.object({
265
293
  email: zod.z.email().trim()
266
294
  });
@@ -443,6 +471,8 @@ var UpdateExchangeRateRequestSchema = zod.z.object({
443
471
  ratePerBase: RatePerBaseSchema
444
472
  });
445
473
 
474
+ exports.AppLocale = AppLocale;
475
+ exports.AppLocaleSchema = AppLocaleSchema;
446
476
  exports.AuthUserSchema = AuthUserSchema;
447
477
  exports.BaseListQuerySchema = BaseListQuerySchema;
448
478
  exports.BinaryBranch = BinaryBranch;
@@ -450,6 +480,7 @@ exports.BinaryBranchSchema = BinaryBranchSchema;
450
480
  exports.ChangePasswordRequestSchema = ChangePasswordRequestSchema;
451
481
  exports.CitiesResponseSchema = CitiesResponseSchema;
452
482
  exports.CityResponseSchema = CityResponseSchema;
483
+ exports.ConfirmEmailChangeSchema = ConfirmEmailChangeSchema;
453
484
  exports.ConfirmEmailSchema = ConfirmEmailSchema;
454
485
  exports.CountriesResponseSchema = CountriesResponseSchema;
455
486
  exports.CountryResponseSchema = CountryResponseSchema;
@@ -497,6 +528,7 @@ exports.RegistrationEmailSchema = RegistrationEmailSchema;
497
528
  exports.RegistrationLoginSchema = RegistrationLoginSchema;
498
529
  exports.RegistrationPasswordSchema = RegistrationPasswordSchema;
499
530
  exports.RegistrationPhoneNumberSchema = RegistrationPhoneNumberSchema;
531
+ exports.RequestEmailChangeSchema = RequestEmailChangeSchema;
500
532
  exports.RequestEmailVerificationSchema = RequestEmailVerificationSchema;
501
533
  exports.ResetPasswordSchema = ResetPasswordSchema;
502
534
  exports.SearchSchema = SearchSchema;
@@ -504,6 +536,7 @@ exports.SignInRequestSchema = SignInRequestSchema;
504
536
  exports.SignInResponseSchema = SignInResponseSchema;
505
537
  exports.SignUpRequestSchema = SignUpRequestSchema;
506
538
  exports.SortOrderSchema = SortOrderSchema;
539
+ exports.SupportedLocales = SupportedLocales;
507
540
  exports.UpdateCurrencyRequestSchema = UpdateCurrencyRequestSchema;
508
541
  exports.UpdateExchangeRateRequestSchema = UpdateExchangeRateRequestSchema;
509
542
  exports.UpdateUserRequestSchema = UpdateUserRequestSchema;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/pagination.schemas.ts","../src/common/list-query.schemas.ts","../src/common/id.schemas.ts","../src/user/user-role.enum.ts","../src/currency/rate.schemas.ts","../src/currency/currency.schemas.ts","../src/user/user.schemas.ts","../src/user/user-file-type.enum.ts","../src/user/user-file.schemas.ts","../src/auth/auth-user.contract.ts","../src/auth/refresh.contract.ts","../src/auth/sign-in.contract.ts","../src/marketing/marketing.enums.ts","../src/marketing/marketing-invitation.contract.ts","../src/auth/sign-up.contract.ts","../src/auth/registration-availability.contract.ts","../src/auth/account-actions.contract.ts","../src/wallets/wallets.enum.ts","../src/currency/money-view.schemas.ts","../src/wallets/wallets.contract.ts","../src/wallet-transaction/wallet-transaction.enums.ts","../src/wallet-transaction/wallet-transaction.schemas.ts","../src/countries/countries.contract.ts","../src/currency/exchange-rate.schemas.ts"],"names":["z","UserRole","UserFileType","BinaryBranch","MarketingMemberStatus","WalletCurrency","WalletStatus","WalletType","WalletTransactionDirection","WalletTransactionStatus","WalletTransactionReason"],"mappings":";;;;;AAEO,IAAM,UAAA,GAAaA,KAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,CAAC;AAC3D,IAAM,WAAA,GAAcA,KAAA,CAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAQ,EAAE;AACtE,IAAM,eAAA,GAAkBA,MAAE,IAAA,CAAK,CAAC,OAAO,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM;AAE9D,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAM,WAAW,QAAA,EAAS;AAAA,EAC1B,KAAA,EAAO,YAAY,QAAA;AACrB,CAAC;ACNM,IAAM,iBAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA;AAC7C,IAAM,eAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA;AAE3C,IAAM,YAAA,GAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,EAAK,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA;AAEvD,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,IAAA,EAAM,WAAW,QAAA,EAAS;AAAA,EAC1B,KAAA,EAAO,YAAY,QAAA,EAAS;AAAA,EAC5B,MAAA,EAAQ,YAAA;AAAA,EACR,QAAA,EAAU,cAAA;AAAA,EACV,MAAA,EAAQ,YAAA;AAAA,EACR,SAAA,EAAW,gBAAgB,QAAA;AAC7B,CAAC;ACZM,IAAM,QAAA,GAAW;AAOjB,IAAM,UAAA,GAAaA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,EAAS,CAAE,GAAA,CAAI,QAAQ;;;ACVlE,IAAK,QAAA,qBAAAC,SAAAA,KAAL;AACL,EAAAA,UAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,UAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,UAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,UAAA,SAAA,CAAA,GAAU,SAAA;AAJA,EAAA,OAAAA,SAAAA;AAAA,CAAA,EAAA,QAAA,IAAA,EAAA;ACGL,IAAM,iBAAA,GAAoBD,KAAAA,CAC9B,MAAA,EAAO,CACP,KAAA;AAAA,EACC,yBAAA;AAAA,EACA;AACF,CAAA,CACC,OAAO,CAAC,KAAA,KAAU,QAAQ,IAAA,CAAK,KAAK,GAAG,gCAAgC;;;ACLnE,IAAM,kBAAA,GAAqBA,KAAAA,CAC/B,MAAA,EAAO,CACP,IAAA,GACA,WAAA,EAAY,CACZ,KAAA,CAAM,YAAA,EAAc,gCAAgC;AAEhD,IAAM,uBAAA,GAA0BA,MAAE,MAAA,CAAO;AAAA,EAC9C,IAAA,EAAM;AACR,CAAC;AAEM,IAAM,cAAA,GAAiBA,MAAE,MAAA,CAAO;AAAA,EACrC,IAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC9B,IAAA,EAAM,kBAAA;AAAA,EACN,MAAMA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAC/B,QAAQA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,EAAE,CAAA;AAAA,EAChC,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA;AAAA,EAC5C,QAAA,EAAUA,MAAE,OAAA,EAAQ;AAAA,EACpB,MAAA,EAAQA,MAAE,OAAA,EAAQ;AAAA,EAClB,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACxB,CAAC;AAEM,IAAM,0BAAA,GAA6BA,KAAAA,CAAE,KAAA,CAAM,cAAc;AAEzD,IAAM,2BAAA,GAA8BA,MAAE,MAAA,CAAO;AAAA,EAClD,IAAA,EAAM,kBAAA;AAAA,EACN,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACtC,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EACvC,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAQ,CAAC,CAAA;AAAA,EACvD,QAAA,EAAUA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA;AAAA,EAClC,WAAA,EAAa;AACf,CAAC;AAEM,IAAM,2BAAA,GAA8BA,MACxC,MAAA,CAAO;AAAA,EACN,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACtC,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EACvC,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA;AAAA,EAC5C,QAAA,EAAUA,MAAE,OAAA;AACd,CAAC,EACA,OAAA;;;ACxCI,IAAM,UAAA,GAAaA,MAAE,MAAA,CAAO;AAAA,EACjC,IAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC9B,WAAWA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACpC,UAAUA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACnC,KAAA,EAAOA,KAAAA,CAAE,KAAA,EAAM,CAAE,IAAA,EAAK;AAAA,EACtB,aAAaA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,EAAE,CAAA;AAAA,EACrC,OAAOA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAChC,MAAMA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAC/B,QAAA,EAAUA,MAAE,OAAA,EAAQ;AAAA,EACpB,eAAA,EAAiBA,MAAE,OAAA,EAAQ;AAAA,EAC3B,eAAA,EAAiBA,MAAE,OAAA,EAAQ;AAAA,EAC3B,aAAaA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,OAAO,CAAC,CAAA;AAAA,EACvC,SAASA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAClC,MAAMA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAC/B,YAAA,EAAcA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAClD,aAAA,EAAeA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACnD,YAAA,EAAcA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAClD,eAAA,EAAiB,kBAAA;AAAA,EACjB,IAAA,EAAMA,KAAAA,CAAE,IAAA,CAAK,QAAQ,CAAA;AAAA,EACrB,SAAA,EAAWA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS;AAAA,EAC1B,SAAA,EAAWA,KAAAA,CAAE,GAAA,CAAI,QAAA;AACnB,CAAC;AAEM,IAAM,uBAAA,GAA0BA,MAAE,MAAA,CAAO;AAAA,EAC9C,WAAWA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACpC,UAAUA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACnC,KAAA,EAAOA,KAAAA,CAAE,KAAA,EAAM,CAAE,IAAA,EAAK;AAAA,EACtB,aAAaA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,EAAE,CAAA;AAAA,EACrC,OAAOA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAChC,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EAC1C,aAAaA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,OAAO,CAAC,CAAA;AAAA,EACvC,SAASA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAClC,MAAMA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG;AACjC,CAAC;AAEM,IAAM,uBAAA,GAA0BA,MACpC,MAAA,CAAO;AAAA,EACN,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EAC3C,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EAC1C,aAAaA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,OAAO,CAAC,CAAA;AAAA,EACvC,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACzC,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACtC,YAAA,EAAcA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAClD,aAAA,EAAeA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACnD,YAAA,EAAcA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAClD,eAAA,EAAiB;AACnB,CAAC,EACA,OAAA;AAEI,IAAM,2BAAA,GAA8BA,MACxC,MAAA,CAAO;AAAA,EACN,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACjD,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG;AAC/C,CAAC,EACA,MAAA,CAAO,CAAC,SAAS,IAAA,CAAK,eAAA,KAAoB,KAAK,WAAA,EAAa;AAAA,EAC3D,OAAA,EAAS,qOAAA;AAAA,EACT,IAAA,EAAM,CAAC,aAAa;AACtB,CAAC;AAEI,IAAM,sBAAA,GAAyBA,KAAAA,CAAE,KAAA,CAAM,UAAU;;;AC/DjD,IAAK,YAAA,qBAAAE,aAAAA,KAAL;AACL,EAAAA,cAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,cAAA,UAAA,CAAA,GAAW,UAAA;AAFD,EAAA,OAAAA,aAAAA;AAAA,CAAA,EAAA,YAAA,IAAA,EAAA;ACIL,IAAM,cAAA,GAAiBF,MAAE,MAAA,CAAO;AAAA,EACrC,IAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC9B,QAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAClC,IAAA,EAAMA,KAAAA,CAAE,IAAA,CAAK,YAAY,CAAA;AAAA,EACzB,GAAA,EAAKA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI;AAAA,EACpB,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,UAAUA,KAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,CAAC,EAAE,QAAA,EAAS;AAAA,EACrC,SAAA,EAAWA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EAChD,SAAA,EAAWA,KAAAA,CAAE,GAAA,CAAI,QAAA,EAAS;AAAA,EAC1B,SAAA,EAAWA,KAAAA,CAAE,GAAA,CAAI,QAAA;AACnB,CAAC;AAEM,IAAM,kBAAA,GAAqBA,KAAAA,CAAE,KAAA,CAAM,cAAc;AAGjD,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,MAAA,EAAQ;AACV,CAAC;;;AClBM,IAAM,cAAA,GAAiBA,MAAE,MAAA,CAAO;AAAA,EACrC,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,EACb,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,KAAAA,CAAE,IAAA,CAAK,QAAQ,CAAA;AAAA,EACrB,QAAA,EAAUA,MAAE,OAAA;AACd,CAAC;ACLM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,WAAA,EAAaA,MAAE,MAAA,EAAO;AAAA,EACtB,IAAA,EAAM;AACR,CAAC;ACHM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,OAAOA,KAAAA,CACJ,MAAA,CAAO,yIAA2B,CAAA,CAClC,GAAA,CAAI,GAAG,0IAA4B,CAAA;AAAA,EACtC,UAAUA,KAAAA,CACP,MAAA,CAAO,+IAA4B,CAAA,CACnC,GAAA,CAAI,GAAG,gJAA6B;AACzC,CAAC;AAEM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,WAAA,EAAaA,MAAE,MAAA,EAAO;AAAA,EACtB,IAAA,EAAM;AACR,CAAC;ACbM,IAAK,YAAA,qBAAAG,aAAAA,KAAL;AACL,EAAAA,cAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,cAAA,OAAA,CAAA,GAAQ,OAAA;AAFE,EAAA,OAAAA,aAAAA;AAAA,CAAA,EAAA,YAAA,IAAA,EAAA;AAKL,IAAK,qBAAA,qBAAAC,sBAAAA,KAAL;AACL,EAAAA,uBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,uBAAA,SAAA,CAAA,GAAU,SAAA;AAFA,EAAA,OAAAA,sBAAAA;AAAA,CAAA,EAAA,qBAAA,IAAA,EAAA;AAKL,IAAM,kBAAA,GAAqBJ,KAAAA,CAAE,IAAA,CAAK,YAAY;AAC9C,IAAM,2BAAA,GAA8BA,KAAAA,CAAE,IAAA,CAAK,qBAAqB;ACVhE,IAAM,+BAAA,GAAkCA,KAAAA,CAC5C,MAAA,EAAO,CACP,IAAA,GACA,GAAA,CAAI,CAAC,CAAA,CACL,GAAA,CAAI,GAAG;AAEH,IAAM,iCAAiCA,KAAAA,CAC3C,MAAA,GACA,IAAA,EAAK,CACL,MAAM,qBAAqB;AAEvB,IAAM,8BAAA,GAAiCA,MAAE,MAAA,CAAO;AAAA,EACrD,SAAA,EAAW,+BAAA;AAAA,EACX,GAAA,EAAK;AACP,CAAC;AAEM,IAAM,kCAAA,GAAqCA,MAAE,MAAA,CAAO;AAAA,EACzD,eAAA,EAAiB;AACnB,CAAC;AAEM,IAAM,sCAAA,GAAyCA,MAAE,MAAA,CAAO;AAAA,EAC7D,GAAA,EAAK;AACP,CAAC;AAEM,IAAM,gCAAA,GAAmCA,MAAE,MAAA,CAAO;AAAA,EACvD,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACtC,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACvC,WAAWA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACpC,UAAUA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG;AACrC,CAAC;AAEM,IAAM,+BAAA,GAAkCA,MAAE,MAAA,CAAO;AAAA,EACtD,OAAA,EAAS,gCAAA;AAAA,EACT,GAAA,EAAK,kBAAA;AAAA,EACL,SAAA,EAAWA,KAAAA,CAAE,GAAA,CAAI,QAAA,GAAW,QAAA;AAC9B,CAAC;AAEM,IAAM,uCAAA,GACX,gCAAgC,MAAA,CAAO;AAAA,EACrC,eAAA,EAAiB;AACnB,CAAC;;;ACrCI,IAAM,0BAA0BA,KAAAA,CACpC,KAAA,CAAM,+GAA0B,CAAA,CAChC,IAAA,GACA,WAAA;AAEI,IAAM,6BAAA,GAAgCA,MAC1C,MAAA,EAAO,CACP,MAAK,CACL,KAAA,CAAM,qBAAqB,uNAAwC;AAE/D,IAAM,uBAAA,GAA0BA,KAAAA,CACpC,MAAA,EAAO,CACP,IAAA,EAAK,CACL,GAAA,CAAI,CAAA,EAAG,2NAA4C,CAAA,CACnD,GAAA,CAAI,GAAG,CAAA,CACP,KAAA;AAAA,EACC,aAAA;AAAA,EACA;AACF;AAEK,IAAM,0BAAA,GAA6BA,MACvC,MAAA,EAAO,CACP,IAAI,CAAA,EAAG,iOAA6C,CAAA,CACpD,GAAA,CAAI,GAAG;AAEV,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EAChC,WAAWA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACpC,UAAUA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EACnC,KAAA,EAAO,uBAAA;AAAA,EACP,WAAA,EAAa,6BAAA;AAAA,EACb,KAAA,EAAO,uBAAA;AAAA,EACP,QAAA,EAAU,0BAAA;AAAA,EACV,aAAaA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,OAAO,CAAC,CAAA;AAAA,EACvC,SAASA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG,CAAA;AAAA,EAClC,MAAMA,KAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,GAAG;AACjC,CAAC,CAAA;AAEM,IAAM,mBAAA,GAAsB,iBAAiB,MAAA,CAAO;AAAA,EACzD,SAAA,EAAW,8BAAA,CAA+B,KAAA,CAAM,SAAA,CAAU,QAAA,EAAS;AAAA,EACnE,GAAA,EAAK,8BAAA,CAA+B,KAAA,CAAM,GAAA,CAAI,QAAA,EAAS;AAAA,EACvD,eAAA,EACE,kCAAA,CAAmC,KAAA,CAAM,eAAA,CAAgB,QAAA;AAC7D,CAAC,CAAA,CAAE,WAAA,CAAY,CAAC,KAAA,EAAO,OAAA,KAAY;AACjC,EAAA,MAAM,aAAA,GAAgB,MAAM,eAAA,KAAoB,MAAA;AAChD,EAAA,MAAM,YAAA,GAAe,CAAC,KAAA,CAAM,SAAA,EAAW,MAAM,GAAG,CAAA;AAChD,EAAA,MAAM,oBAAoB,YAAA,CAAa,IAAA,CAAK,CAAC,KAAA,KAAU,UAAU,MAAS,CAAA;AAC1E,EAAA,MAAM,sBAAsB,YAAA,CAAa,KAAA;AAAA,IACvC,CAAC,UAAU,KAAA,KAAU;AAAA,GACvB;AAEA,EAAA,IACE,aAAA,KAAkB,iBAAA,IACjB,CAAC,aAAA,IAAiB,CAAC,mBAAA,EACpB;AACA,IAAA,OAAA,CAAQ,QAAA,CAAS;AAAA,MACf,IAAA,EAAM,QAAA;AAAA,MACN,OAAA,EAAS,oLAAA;AAAA,MACT,IAAA,EAAM,CAAC,iBAAiB;AAAA,KACzB,CAAA;AAAA,EACH;AACF,CAAC;AC3DM,IAAM,qCAAA,GAAwCA,MAClD,MAAA,CAAO;AAAA,EACN,KAAA,EAAO,wBAAwB,QAAA,EAAS;AAAA,EACxC,WAAA,EAAa,8BAA8B,QAAA,EAAS;AAAA,EACpD,KAAA,EAAO,wBAAwB,QAAA;AACjC,CAAC,CAAA,CACA,MAAA;AAAA,EACC,CAAC,EAAE,KAAA,EAAO,WAAA,EAAa,KAAA,OACrB,KAAA,KAAU,MAAA,IAAa,WAAA,KAAgB,MAAA,IAAa,KAAA,KAAU,MAAA;AAAA,EAChE;AACF;AAEK,IAAM,sCAAA,GAAyCA,MAAE,MAAA,CAAO;AAAA,EAC7D,cAAA,EAAgBA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EACrC,oBAAA,EAAsBA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC3C,cAAA,EAAgBA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAC9B,CAAC;ACrBD,IAAM,iBAAA,GAAoBA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,EAAE,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAEpD,IAAM,8BAAA,GAAiCA,MAAE,MAAA,CAAO;AAAA,EACrD,KAAA,EAAOA,KAAAA,CAAE,KAAA,EAAM,CAAE,IAAA;AACnB,CAAC;AAEM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,KAAA,EAAO;AACT,CAAC;AAEM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,KAAA,EAAOA,KAAAA,CAAE,KAAA,EAAM,CAAE,IAAA;AACnB,CAAC;AAEM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,KAAA,EAAO,iBAAA;AAAA,EACP,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG;AAC/C,CAAC;;;ACnBM,IAAK,cAAA,qBAAAK,eAAAA,KAAL;AACL,EAAAA,gBAAA,IAAA,CAAA,GAAK,IAAA;AACL,EAAAA,gBAAA,OAAA,CAAA,GAAQ,OAAA;AAFE,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;AAKL,IAAK,YAAA,qBAAAC,aAAAA,KAAL;AACL,EAAAA,cAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,cAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,cAAA,UAAA,CAAA,GAAW,UAAA;AAHD,EAAA,OAAAA,aAAAA;AAAA,CAAA,EAAA,YAAA,IAAA,EAAA;AAML,IAAK,UAAA,qBAAAC,WAAAA,KAAL;AACL,EAAAA,YAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,YAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,YAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,YAAA,SAAA,CAAA,GAAU,SAAA;AAJA,EAAA,OAAAA,WAAAA;AAAA,CAAA,EAAA,UAAA,IAAA,EAAA;ACPL,IAAM,0BAA0BP,KAAAA,CACpC,MAAA,EAAO,CACP,KAAA,CAAM,qBAAqB,sBAAsB;AAM7C,IAAM,eAAA,GAAkBA,MAAE,MAAA,CAAO;AAAA,EACtC,QAAA,EAAU,kBAAA;AAAA,EACV,MAAA,EAAQ,uBAAA;AAAA,EACR,IAAA,EAAMA,MAAE,MAAA;AACV,CAAC;;;ACZM,IAAM,gBAAA,GAAmBA,KAAAA,CAAE,IAAA,CAAK,UAAU;AAC1C,IAAM,kBAAA,GAAqBA,KAAAA,CAAE,IAAA,CAAK,YAAY;AAC9C,IAAM,oBAAA,GAAuBA,KAAAA,CAAE,IAAA,CAAK,cAAc;AAElD,IAAM,YAAA,GAAeA,MAAE,MAAA,CAAO;AAAA,EACnC,IAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC9B,QAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAClC,IAAA,EAAM,gBAAA;AAAA,EACN,OAAA,EAASA,MAAE,MAAA,EAAO;AAAA,EAClB,cAAA,EAAgBA,MAAE,MAAA,EAAO;AAAA,EACzB,QAAA,EAAU,oBAAA;AAAA,EACV,MAAA,EAAQ,kBAAA;AAAA;AAAA,EAER,OAAA,EAAS,eAAA,CAAgB,QAAA,EAAS,CAAE,QAAA,EAAS;AAAA,EAC7C,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACxB,CAAC;AAEM,IAAM,wBAAA,GAA2BA,KAAAA,CAAE,KAAA,CAAM,YAAY;AAErD,IAAM,0BAAA,GAA6BA,MAAE,MAAA,CAAO;AAAA,EACjD,QAAQA,KAAAA,CAAE,MAAA,CAAO,QAAO,CAAE,GAAA,GAAM,QAAA;AAClC,CAAC;AAEM,IAAM,+BAAA,GAAkCA,MAAE,MAAA,CAAO;AAAA,EACtD,QAAQA,KAAAA,CAAE,MAAA,CAAO,QAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EACzC,IAAA,EAAM;AACR,CAAC;;;AC/BM,IAAK,0BAAA,qBAAAQ,2BAAAA,KAAL;AACL,EAAAA,4BAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,4BAAA,OAAA,CAAA,GAAQ,OAAA;AAFE,EAAA,OAAAA,2BAAAA;AAAA,CAAA,EAAA,0BAAA,IAAA,EAAA;AAKL,IAAK,uBAAA,qBAAAC,wBAAAA,KAAL;AACL,EAAAA,yBAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,yBAAA,QAAA,CAAA,GAAS,QAAA;AAFC,EAAA,OAAAA,wBAAAA;AAAA,CAAA,EAAA,uBAAA,IAAA,EAAA;AAKL,IAAK,uBAAA,qBAAAC,wBAAAA,KAAL;AACL,EAAAA,yBAAA,gBAAA,CAAA,GAAiB,gBAAA;AACjB,EAAAA,yBAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,yBAAA,gBAAA,CAAA,GAAiB,gBAAA;AACjB,EAAAA,yBAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,yBAAA,aAAA,CAAA,GAAc,aAAA;AACd,EAAAA,yBAAA,iBAAA,CAAA,GAAkB,iBAAA;AAClB,EAAAA,yBAAA,kBAAA,CAAA,GAAmB,kBAAA;AACnB,EAAAA,yBAAA,eAAA,CAAA,GAAgB,eAAA;AAChB,EAAAA,yBAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,yBAAA,aAAA,CAAA,GAAc,aAAA;AACd,EAAAA,yBAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,yBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,yBAAA,YAAA,CAAA,GAAa,YAAA;AAbH,EAAA,OAAAA,wBAAAA;AAAA,CAAA,EAAA,uBAAA,IAAA,EAAA;ACAL,IAAM,iBAAA,GAAoBV,KAAAA,CAC9B,MAAA,EAAO,CACP,KAAA;AAAA,EACC,wBAAA;AAAA,EACA;AACF;AAEK,IAAM,wBAAA,GAA2BA,KAAAA,CACrC,MAAA,EAAO,CACP,MAAK,CACL,GAAA,CAAI,CAAC,CAAA,CACL,GAAA,CAAI,GAAG,CAAA,CACP,KAAA,CAAM,iCAAiC,8BAA8B;AAEjE,IAAM,mCAAmCA,KAAAA,CAAE,IAAA;AAAA,EAChD;AACF;AAEO,IAAM,6BAAA,GAAgCA,KAAAA,CAAE,IAAA,CAAK,uBAAuB;AAEpE,IAAM,6BAAA,GAAgCA,KAAAA,CAAE,IAAA,CAAK,uBAAuB;AAEpE,IAAM,iCAAA,GAAoCA,MAAE,MAAA,CAAO;AAAA,EACxD,IAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC9B,KAAA,EAAOA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAC3C,QAAA,EAAUA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA;AACvC,CAAC;AAEM,IAAM,uBAAA,GAA0BA,MAAE,MAAA,CAAO;AAAA,EAC9C,IAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC9B,YAAA,EAAc,wBAAA;AAAA,EACd,UAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EACpC,QAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAClC,UAAA,EAAYA,KAAAA,CAAE,IAAA,CAAK,UAAU,CAAA;AAAA,EAC7B,SAAA,EAAW,gCAAA;AAAA,EACX,MAAA,EAAQ,6BAAA;AAAA,EACR,MAAA,EAAQ,6BAAA;AAAA,EACR,MAAA,EAAQ,iBAAA;AAAA,EACR,aAAA,EAAe,iBAAA;AAAA,EACf,YAAA,EAAc,iBAAA;AAAA,EACd,QAAA,EAAUA,KAAAA,CAAE,IAAA,CAAK,cAAc,CAAA;AAAA,EAC/B,aAAA,EAAeA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACnD,WAAA,EAAaA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,YAAA,EAAcA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EACnD,eAAA,EAAiBA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EACtD,OAAA,EAASA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EAC7C,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACxB,CAAC;AAEM,IAAM,8BAAA,GAAiC,wBAAwB,MAAA,CAAO;AAAA,EAC3E,UAAA,EAAY,kCAAkC,QAAA,EAAS;AAAA,EACvD,aAAA,EAAe,eAAA,CAAgB,QAAA,EAAS,CAAE,QAAA;AAC5C,CAAC;AAEM,IAAM,oCAAA,GAAuCA,MAAE,MAAA,CAAO;AAAA,EAC3D,YAAA,EAAc,wBAAA;AAAA,EACd,QAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAClC,UAAA,EAAYA,KAAAA,CAAE,IAAA,CAAK,UAAU,CAAA;AAAA,EAC7B,SAAA,EAAW,gCAAA;AAAA,EACX,MAAA,EAAQ,6BAAA;AAAA,EACR,MAAA,EAAQ,iBAAA;AAAA,EACR,aAAA,EAAeA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACnD,WAAA,EAAaA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS;AAAA,EACjD,YAAA,EAAcA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EACnD,eAAA,EAAiBA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EACtD,OAAA,EAASA,MAAE,MAAA,EAAO,CAAE,MAAK,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA;AACtC,CAAC;AAEM,IAAM,iCAAA,GAAoC,oBAAoB,MAAA,CAAO;AAAA,EAC1E,UAAA,EAAYA,KAAAA,CAAE,IAAA,CAAK,UAAU,EAAE,QAAA,EAAS;AAAA,EACxC,SAAA,EAAW,iCAAiC,QAAA,EAAS;AAAA,EACrD,MAAA,EAAQ,8BAA8B,QAAA;AACxC,CAAC;AAEM,IAAM,sCAAsCA,KAAAA,CAAE,KAAA;AAAA,EACnD;AACF;AAEO,IAAM,6CAA6CA,KAAAA,CAAE,KAAA;AAAA,EAC1D;AACF;AAEO,IAAM,qCAAA,GAAwCA,MAAE,MAAA,CAAO;AAAA,EAC5D,MAAA,EAAQ;AACV,CAAC;AC5FM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,OAAO,CAAC,CAAA;AAAA,EACzB,UAAA,EAAYA,MAAE,MAAA;AAChB,CAAC;AAEM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,EACf,UAAA,EAAYA,MAAE,MAAA;AAChB,CAAC;AAEM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,OAAO,CAAC;AAClC,CAAC;AAEM,IAAM,uBAAA,GAA0BA,KAAAA,CAAE,KAAA,CAAM,qBAAqB;AAC7D,IAAM,oBAAA,GAAuBA,KAAAA,CAAE,KAAA,CAAM,kBAAkB;ACdvD,IAAM,wBAAA,GAA2BA,KAAAA,CAAE,OAAA,CAAQ,QAAQ;AAEnD,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,IAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC9B,YAAA,EAAc,kBAAA;AAAA;AAAA,EAEd,WAAA,EAAaA,MAAE,MAAA,EAAO;AAAA,EACtB,MAAA,EAAQ,wBAAA;AAAA,EACR,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACxB,CAAC;AAEM,IAAM,8BAAA,GAAiCA,KAAAA,CAAE,KAAA,CAAM,kBAAkB;AAEjE,IAAM,+BAAA,GAAkCA,MAAE,MAAA,CAAO;AAAA,EACtD,WAAA,EAAa;AACf,CAAC","file":"index.js","sourcesContent":["import { z } from 'zod';\n\nexport const PageSchema = z.coerce.number().int().min(1).default(1);\nexport const LimitSchema = z.coerce.number().int().min(1).max(100).default(20);\nexport const SortOrderSchema = z.enum(['asc', 'desc']).default('desc');\n\nexport const PaginationQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n});\n","import { z } from 'zod';\nimport { LimitSchema, PageSchema, SortOrderSchema } from './pagination.schemas';\n\nexport const DateFromSchema = z.string().datetime().optional();\nexport const DateToSchema = z.string().datetime().optional();\n\nexport const SearchSchema = z.string().trim().min(1).max(255).optional();\n\nexport const BaseListQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n search: SearchSchema,\n dateFrom: DateFromSchema,\n dateTo: DateToSchema,\n sortOrder: SortOrderSchema.optional(),\n});\n","import { z } from 'zod';\n\n/** Максимум для Postgres int4 (SERIAL первичный ключ). */\nexport const INT4_MAX = 2147483647;\n\n/**\n * Идентификатор записи в БД (int4 PK).\n * Коэрсит строку из path/query в число и не пропускает значения вне диапазона\n * integer — иначе запрос падает в Postgres с `22003 out of range for type integer`.\n */\nexport const DbIdSchema = z.coerce.number().int().positive().max(INT4_MAX);\n\nexport type DbId = z.infer<typeof DbIdSchema>;\n","export enum UserRole {\n ADMIN = 'admin',\n MANAGER = 'manager',\n STAFF = 'staff',\n PARTNER = 'partner',\n}\n","import { z } from 'zod';\n\n/** numeric(30,18): up to 12 integer and 18 fractional digits. */\nexport const RatePerBaseSchema = z\n .string()\n .regex(\n /^\\d{1,12}(\\.\\d{1,18})?$/,\n 'Rate must contain at most 12 integer and 18 decimal digits',\n )\n .refine((value) => /[1-9]/.test(value), 'Rate must be greater than zero');\n","import { z } from 'zod';\nimport { RatePerBaseSchema } from './rate.schemas';\n\n/** Код валюты ISO 4217 (3 заглавные буквы). */\nexport const CurrencyCodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z]{3}$/, 'Invalid ISO 4217 currency code');\n\nexport const CurrencyCodeParamSchema = z.object({\n code: CurrencyCodeSchema,\n});\n\nexport const CurrencySchema = z.object({\n id: z.number().int().positive(),\n code: CurrencyCodeSchema,\n name: z.string().trim().max(255),\n symbol: z.string().trim().max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n isBase: z.boolean(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const CurrencyListResponseSchema = z.array(CurrencySchema);\n\nexport const CreateCurrencyRequestSchema = z.object({\n code: CurrencyCodeSchema,\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8).default(2),\n isActive: z.boolean().default(true),\n ratePerBase: RatePerBaseSchema,\n});\n\nexport const UpdateCurrencyRequestSchema = z\n .object({\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n })\n .partial();\n","import { z } from 'zod';\nimport { UserRole } from './user-role.enum';\nimport { CurrencyCodeSchema } from '../currency/currency.schemas';\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 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 countryCode: z.string().trim().length(2),\n country: z.string().trim().min(1).max(255),\n city: z.string().trim().min(1).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 })\n .partial();\n\nexport const ChangePasswordRequestSchema = z\n .object({\n currentPassword: z.string().trim().min(6).max(255),\n newPassword: z.string().trim().min(6).max(255),\n })\n .refine((data) => data.currentPassword !== data.newPassword, {\n message: 'Новый пароль должен отличаться от текущего',\n path: ['newPassword'],\n });\n\nexport const UserListResponseSchema = z.array(UserSchema);\n","export enum UserFileType {\n PHOTO = 'PHOTO',\n DOCUMENT = 'DOCUMENT',\n}\n","import { z } from 'zod';\nimport { UserFileType } from './user-file-type.enum';\nimport { DbIdSchema } from '../common';\n\nexport const UserFileSchema = z.object({\n id: z.number().int().positive(),\n userId: z.number().int().positive(),\n type: z.enum(UserFileType),\n url: z.string().url(),\n originalName: z.string().nullable(),\n mimeType: z.string().min(1).nullable(),\n sizeBytes: z.number().int().positive().nullable(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const UserFileListSchema = z.array(UserFileSchema);\n\n/** Path-параметр `:fileId` для операций с файлами пользователя. */\nexport const FileIdParamSchema = z.object({\n fileId: DbIdSchema,\n});\n\nexport type UserFile = z.infer<typeof UserFileSchema>;\nexport type UserFileList = z.infer<typeof UserFileListSchema>;\nexport type FileIdParam = z.infer<typeof FileIdParamSchema>;\n","import { z } from 'zod';\nimport { UserRole } from '../user';\n\nexport const AuthUserSchema = z.object({\n id: z.number(),\n login: z.string(),\n role: z.enum(UserRole),\n isActive: z.boolean(),\n});\n\nexport type AuthUser = z.infer<typeof AuthUserSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const RefreshResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type RefreshResponse = z.infer<typeof RefreshResponseSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const SignInRequestSchema = z.object({\n login: z\n .string('Логин должен быть строкой')\n .min(1, 'Логин не может быть пустым'),\n password: z\n .string('Пароль должен быть строкой')\n .min(1, 'Пароль не может быть пустым'),\n});\n\nexport const SignInResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type SignInRequest = z.infer<typeof SignInRequestSchema>;\nexport type SignInResponse = z.infer<typeof SignInResponseSchema>;\n","import { z } from 'zod';\n\nexport enum BinaryBranch {\n LEFT = 'LEFT',\n RIGHT = 'RIGHT',\n}\n\nexport enum MarketingMemberStatus {\n ACTIVE = 'ACTIVE',\n BLOCKED = 'BLOCKED',\n}\n\nexport const BinaryBranchSchema = z.enum(BinaryBranch);\nexport const MarketingMemberStatusSchema = z.enum(MarketingMemberStatus);\n","import { z } from 'zod';\nimport { BinaryBranchSchema } from './marketing.enums';\n\nexport const MarketingPublicIdentifierSchema = z\n .string()\n .trim()\n .min(3)\n .max(255);\n\nexport const MarketingInvitationTokenSchema = z\n .string()\n .trim()\n .regex(/^[A-Za-z0-9_-]{43}$/);\n\nexport const ManualMarketingPlacementSchema = z.object({\n sponsorId: MarketingPublicIdentifierSchema,\n leg: BinaryBranchSchema,\n});\n\nexport const InvitationMarketingPlacementSchema = z.object({\n invitationToken: MarketingInvitationTokenSchema,\n});\n\nexport const CreateMarketingInvitationRequestSchema = z.object({\n leg: BinaryBranchSchema,\n});\n\nexport const MarketingPlacementIdentitySchema = z.object({\n uuid: z.string().trim().min(1).max(255),\n login: z.string().trim().min(1).max(255),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n});\n\nexport const MarketingPlacementPreviewSchema = z.object({\n sponsor: MarketingPlacementIdentitySchema,\n leg: BinaryBranchSchema,\n expiresAt: z.iso.datetime().nullable(),\n});\n\nexport const CreateMarketingInvitationResponseSchema =\n MarketingPlacementPreviewSchema.extend({\n invitationToken: MarketingInvitationTokenSchema,\n });\n\nexport type ManualMarketingPlacement = z.infer<\n typeof ManualMarketingPlacementSchema\n>;\nexport type InvitationMarketingPlacement = z.infer<\n typeof InvitationMarketingPlacementSchema\n>;\nexport type CreateMarketingInvitationRequest = z.infer<\n typeof CreateMarketingInvitationRequestSchema\n>;\nexport type MarketingPlacementIdentity = z.infer<\n typeof MarketingPlacementIdentitySchema\n>;\nexport type MarketingPlacementPreview = z.infer<\n typeof MarketingPlacementPreviewSchema\n>;\nexport type CreateMarketingInvitationResponse = z.infer<\n typeof CreateMarketingInvitationResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n InvitationMarketingPlacementSchema,\n ManualMarketingPlacementSchema,\n} from '../marketing';\n\nexport const RegistrationEmailSchema = z\n .email('Введите корректный email')\n .trim()\n .toLowerCase();\n\nexport const RegistrationPhoneNumberSchema = z\n .string()\n .trim()\n .regex(/^\\+[1-9]\\d{7,14}$/, 'Введите корректный международный номер');\n\nexport const RegistrationLoginSchema = z\n .string()\n .trim()\n .min(3, 'Логин должен содержать не менее 3 символов')\n .max(255)\n .regex(\n /^[a-z0-9]+$/,\n 'Используйте только строчные латинские буквы и цифры',\n );\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 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 ForgotPassword = z.infer<typeof ForgotPasswordSchema>;\nexport type ResetPassword = z.infer<typeof ResetPasswordSchema>;\n","export enum WalletCurrency {\n PV = 'PV',\n MONEY = 'MONEY',\n}\n\nexport enum WalletStatus {\n ACTIVE = 'ACTIVE',\n BLOCKED = 'BLOCKED',\n ARCHIVED = 'ARCHIVED',\n}\n\nexport enum WalletType {\n MAIN = 'MAIN',\n BONUS = 'BONUS',\n CASHBACK = 'CASHBACK',\n PREMIUM = 'PREMIUM',\n}\n","import { z } from 'zod';\nimport { CurrencyCodeSchema } from './currency.schemas';\n\n/** Денежная сумма как строка (decimal), напр. \"1234.56\". */\nexport const MoneyAmountStringSchema = z\n .string()\n .regex(/^\\d+(\\.\\d{1,8})?$/, 'Invalid money amount');\n\n/**\n * Представление денежной суммы в валюте отображения.\n * `amount` уже сконвертирован из базовой валюты по `rate`.\n */\nexport const MoneyViewSchema = z.object({\n currency: CurrencyCodeSchema,\n amount: MoneyAmountStringSchema,\n rate: z.string(),\n});\n","import { z } from 'zod';\nimport { WalletCurrency, WalletStatus, WalletType } from './wallets.enum';\nimport { MoneyViewSchema } from '../currency/money-view.schemas';\n\nexport const WalletTypeSchema = z.enum(WalletType);\nexport const WalletStatusSchema = z.enum(WalletStatus);\nexport const WalletCurrencySchema = z.enum(WalletCurrency);\n\nexport const WalletSchema = z.object({\n id: z.number().int().positive(),\n userId: z.number().int().positive(),\n type: WalletTypeSchema,\n balance: z.string(),\n blockedBalance: z.string(),\n currency: WalletCurrencySchema,\n status: WalletStatusSchema,\n /** Баланс в валюте отображения пользователя (только для денежных кошельков). */\n display: MoneyViewSchema.nullable().optional(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const WalletListResponseSchema = z.array(WalletSchema);\n\nexport const GetUserWalletsParamsSchema = z.object({\n userId: z.coerce.number().int().positive(),\n});\n\nexport const GetUserWalletByTypeParamsSchema = z.object({\n userId: z.coerce.number().int().positive(),\n type: WalletTypeSchema,\n});\n","export enum WalletTransactionDirection {\n CREDIT = 'CREDIT',\n DEBIT = 'DEBIT',\n}\n\nexport enum WalletTransactionStatus {\n COMPLETED = 'COMPLETED',\n FAILED = 'FAILED',\n}\n\nexport enum WalletTransactionReason {\n REFERRAL_BONUS = 'REFERRAL_BONUS',\n BINARY_BONUS = 'BINARY_BONUS',\n MATCHING_BONUS = 'MATCHING_BONUS',\n STATUS_BONUS = 'STATUS_BONUS',\n EXTRA_BONUS = 'EXTRA_BONUS',\n STRUCTURE_BONUS = 'STRUCTURE_BONUS',\n PRODUCT_PURCHASE = 'PRODUCT_PURCHASE',\n PLAN_PURCHASE = 'PLAN_PURCHASE',\n WITHDRAWAL = 'WITHDRAWAL',\n TRANSFER_IN = 'TRANSFER_IN',\n TRANSFER_OUT = 'TRANSFER_OUT',\n REFUND = 'REFUND',\n EXPIRATION = 'EXPIRATION',\n}\n","import { z } from 'zod';\nimport {\n WalletTransactionDirection,\n WalletTransactionReason,\n WalletTransactionStatus,\n} from './wallet-transaction.enums';\nimport { WalletCurrency, WalletType } from '../wallets';\nimport { BaseListQuerySchema, DbIdSchema } from '../common';\nimport { MoneyViewSchema } from '../currency/money-view.schemas';\n\nexport const MoneyAmountSchema = z\n .string()\n .regex(\n /^\\d{1,16}(\\.\\d{1,2})?$/,\n 'Money amount must contain at most 16 integer and 2 decimal digits',\n );\n\nexport const WalletOperationKeySchema = z\n .string()\n .trim()\n .min(1)\n .max(150)\n .regex(/^[A-Za-z0-9][A-Za-z0-9:._-]*$/, 'Invalid wallet operation key');\n\nexport const WalletTransactionDirectionSchema = z.enum(\n WalletTransactionDirection,\n);\n\nexport const WalletTransactionStatusSchema = z.enum(WalletTransactionStatus);\n\nexport const WalletTransactionReasonSchema = z.enum(WalletTransactionReason);\n\nexport const WalletTransactionSourceUserSchema = z.object({\n id: z.number().int().positive(),\n login: z.string().trim().max(255).nullable(),\n fullName: z.string().trim().max(255).nullable(),\n});\n\nexport const WalletTransactionSchema = z.object({\n id: z.number().int().positive(),\n operationKey: WalletOperationKeySchema,\n walletId: z.number().int().positive(),\n userId: z.number().int().positive(),\n walletType: z.enum(WalletType),\n direction: WalletTransactionDirectionSchema,\n reason: WalletTransactionReasonSchema,\n status: WalletTransactionStatusSchema,\n amount: MoneyAmountSchema,\n balanceBefore: MoneyAmountSchema,\n balanceAfter: MoneyAmountSchema,\n currency: z.enum(WalletCurrency),\n referenceType: z.string().trim().max(100).nullable(),\n referenceId: z.string().trim().max(100).nullable(),\n sourceUserId: z.number().int().positive().nullable(),\n initiatorUserId: z.number().int().positive().nullable(),\n comment: z.string().trim().max(500).nullable(),\n createdAt: z.string().datetime(),\n});\n\nexport const WalletTransactionDetailsSchema = WalletTransactionSchema.extend({\n sourceUser: WalletTransactionSourceUserSchema.nullable(),\n displayAmount: MoneyViewSchema.nullable().optional(),\n});\n\nexport const CreateWalletTransactionRequestSchema = z.object({\n operationKey: WalletOperationKeySchema,\n userId: z.number().int().positive(),\n walletType: z.enum(WalletType),\n direction: WalletTransactionDirectionSchema,\n reason: WalletTransactionReasonSchema,\n amount: MoneyAmountSchema,\n referenceType: z.string().trim().max(100).optional(),\n referenceId: z.string().trim().max(100).optional(),\n sourceUserId: z.number().int().positive().optional(),\n initiatorUserId: z.number().int().positive().optional(),\n comment: z.string().trim().max(500).optional(),\n});\n\nexport const WalletTransactionsListQuerySchema = BaseListQuerySchema.extend({\n walletType: z.enum(WalletType).optional(),\n direction: WalletTransactionDirectionSchema.optional(),\n reason: WalletTransactionReasonSchema.optional(),\n});\n\nexport const WalletTransactionListResponseSchema = z.array(\n WalletTransactionSchema,\n);\n\nexport const WalletTransactionDetailsListResponseSchema = z.array(\n WalletTransactionDetailsSchema,\n);\n\nexport const GetUserWalletTransactionsParamsSchema = z.object({\n userId: DbIdSchema,\n});\n","import { z } from 'zod';\n\nexport const CountryResponseSchema = z.object({\n name: z.string(),\n code: z.string().length(2),\n nativeName: z.string(),\n});\n\nexport const CityResponseSchema = z.object({\n name: z.string(),\n nativeName: z.string(),\n});\n\nexport const GetCitiesQuerySchema = z.object({\n countryCode: z.string().length(2),\n});\n\nexport const CountriesResponseSchema = z.array(CountryResponseSchema);\nexport const CitiesResponseSchema = z.array(CityResponseSchema);\n\nexport type CountryResponse = z.infer<typeof CountryResponseSchema>;\nexport type CountriesResponse = z.infer<typeof CountriesResponseSchema>;\nexport type CityResponse = z.infer<typeof CityResponseSchema>;\nexport type CitiesResponse = z.infer<typeof CitiesResponseSchema>;\nexport type GetCitiesQuery = z.infer<typeof GetCitiesQuerySchema>;\n","import { z } from 'zod';\nimport { CurrencyCodeSchema } from './currency.schemas';\nimport { RatePerBaseSchema } from './rate.schemas';\n\nexport const ExchangeRateSourceSchema = z.literal('manual');\n\nexport const ExchangeRateSchema = z.object({\n id: z.number().int().positive(),\n currencyCode: CurrencyCodeSchema,\n /** Сколько единиц валюты за 1 базовую валюту. */\n ratePerBase: z.string(),\n source: ExchangeRateSourceSchema,\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ExchangeRateListResponseSchema = z.array(ExchangeRateSchema);\n\nexport const UpdateExchangeRateRequestSchema = z.object({\n ratePerBase: RatePerBaseSchema,\n});\n"]}
1
+ {"version":3,"sources":["../src/common/pagination.schemas.ts","../src/common/list-query.schemas.ts","../src/common/id.schemas.ts","../src/user/user-role.enum.ts","../src/currency/rate.schemas.ts","../src/currency/currency.schemas.ts","../src/localization/app-locale.enum.ts","../src/localization/app-locale.schema.ts","../src/user/user.schemas.ts","../src/user/user-file-type.enum.ts","../src/user/user-file.schemas.ts","../src/auth/auth-user.contract.ts","../src/auth/refresh.contract.ts","../src/auth/sign-in.contract.ts","../src/marketing/marketing.enums.ts","../src/marketing/marketing-invitation.contract.ts","../src/auth/sign-up.contract.ts","../src/auth/registration-availability.contract.ts","../src/auth/account-actions.contract.ts","../src/wallets/wallets.enum.ts","../src/currency/money-view.schemas.ts","../src/wallets/wallets.contract.ts","../src/wallet-transaction/wallet-transaction.enums.ts","../src/wallet-transaction/wallet-transaction.schemas.ts","../src/countries/countries.contract.ts","../src/currency/exchange-rate.schemas.ts"],"names":["z","UserRole","UserFileType","BinaryBranch","MarketingMemberStatus","WalletCurrency","WalletStatus","WalletType","WalletTransactionDirection","WalletTransactionStatus","WalletTransactionReason"],"mappings":"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","file":"index.js","sourcesContent":["import { z } from 'zod';\n\nexport const PageSchema = z.coerce.number().int().min(1).default(1);\nexport const LimitSchema = z.coerce.number().int().min(1).max(100).default(20);\nexport const SortOrderSchema = z.enum(['asc', 'desc']).default('desc');\n\nexport const PaginationQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n});\n","import { z } from 'zod';\nimport { LimitSchema, PageSchema, SortOrderSchema } from './pagination.schemas';\n\nexport const DateFromSchema = z.string().datetime().optional();\nexport const DateToSchema = z.string().datetime().optional();\n\nexport const SearchSchema = z.string().trim().min(1).max(255).optional();\n\nexport const BaseListQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n search: SearchSchema,\n dateFrom: DateFromSchema,\n dateTo: DateToSchema,\n sortOrder: SortOrderSchema.optional(),\n});\n","import { z } from 'zod';\n\n/** Максимум для Postgres int4 (SERIAL первичный ключ). */\nexport const INT4_MAX = 2147483647;\n\n/**\n * Идентификатор записи в БД (int4 PK).\n * Коэрсит строку из path/query в число и не пропускает значения вне диапазона\n * integer — иначе запрос падает в Postgres с `22003 out of range for type integer`.\n */\nexport const DbIdSchema = z.coerce.number().int().positive().max(INT4_MAX);\n\nexport type DbId = z.infer<typeof DbIdSchema>;\n","export enum UserRole {\n ADMIN = 'admin',\n MANAGER = 'manager',\n STAFF = 'staff',\n PARTNER = 'partner',\n}\n","import { z } from 'zod';\n\n/** numeric(30,18): up to 12 integer and 18 fractional digits. */\nexport const RatePerBaseSchema = z\n .string()\n .regex(\n /^\\d{1,12}(\\.\\d{1,18})?$/,\n 'Rate must contain at most 12 integer and 18 decimal digits',\n )\n .refine((value) => /[1-9]/.test(value), 'Rate must be greater than zero');\n","import { z } from 'zod';\nimport { RatePerBaseSchema } from './rate.schemas';\n\n/** Код валюты ISO 4217 (3 заглавные буквы). */\nexport const CurrencyCodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z]{3}$/, 'Invalid ISO 4217 currency code');\n\nexport const CurrencyCodeParamSchema = z.object({\n code: CurrencyCodeSchema,\n});\n\nexport const CurrencySchema = z.object({\n id: z.number().int().positive(),\n code: CurrencyCodeSchema,\n name: z.string().trim().max(255),\n symbol: z.string().trim().max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n isBase: z.boolean(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const CurrencyListResponseSchema = z.array(CurrencySchema);\n\nexport const CreateCurrencyRequestSchema = z.object({\n code: CurrencyCodeSchema,\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8).default(2),\n isActive: z.boolean().default(true),\n ratePerBase: RatePerBaseSchema,\n});\n\nexport const UpdateCurrencyRequestSchema = z\n .object({\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n })\n .partial();\n","export const AppLocale = {\n RU: 'ru',\n KK: 'kk',\n UZ: 'uz',\n EN: 'en',\n} as const;\n\nexport type AppLocale = (typeof AppLocale)[keyof typeof AppLocale];\n\nexport const SupportedLocales = Object.values(\n AppLocale,\n) as readonly AppLocale[];\n","import { z } from 'zod';\nimport { AppLocale } from './app-locale.enum';\n\nexport const AppLocaleSchema = z.enum(AppLocale);\n","import { z } from 'zod';\nimport { UserRole } from './user-role.enum';\nimport { CurrencyCodeSchema } from '../currency/currency.schemas';\nimport { AppLocaleSchema } from '../localization/app-locale.schema';\n\nconst socialLink = (hosts: readonly string[]) =>\n z\n .url()\n .trim()\n .max(255)\n .refine((value) => {\n const url = new URL(value);\n return (\n url.protocol === 'https:' &&\n hosts.some((host) => url.hostname === host || url.hostname === `www.${host}`)\n );\n }, 'Укажите безопасную ссылку на соответствующую социальную сеть');\n\nexport const UserSchema = z.object({\n id: z.number().int().positive(),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n uuid: z.string().trim().max(255),\n isActive: z.boolean(),\n isEmailVerified: z.boolean(),\n isPhoneVerified: z.boolean(),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n whatsappLink: z.string().trim().max(255).nullable(),\n instagramLink: z.string().trim().max(255).nullable(),\n telegramLink: z.string().trim().max(255).nullable(),\n displayCurrency: CurrencyCodeSchema,\n locale: AppLocaleSchema,\n role: z.enum(UserRole),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const CreateUserRequestSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n password: z.string().trim().min(6).max(255),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const UpdateUserRequestSchema = z\n .object({\n firstName: z.string().trim().min(1).max(255),\n lastName: z.string().trim().min(1).max(255),\n phoneNumber: z.string().trim().min(7).max(20),\n city: z.string().trim().min(1).max(255),\n whatsappLink: socialLink(['wa.me', 'api.whatsapp.com']).nullable(),\n instagramLink: socialLink(['instagram.com']).nullable(),\n telegramLink: socialLink(['t.me', 'telegram.me']).nullable(),\n displayCurrency: CurrencyCodeSchema,\n locale: AppLocaleSchema,\n })\n .partial()\n .strict()\n .refine((value) => Object.keys(value).length > 0, {\n message: 'Передайте хотя бы одно поле для изменения',\n });\n\nexport const ChangePasswordRequestSchema = z\n .object({\n currentPassword: z.string().trim().min(6).max(255),\n newPassword: z.string().trim().min(6).max(255),\n })\n .refine((data) => data.currentPassword !== data.newPassword, {\n message: 'Новый пароль должен отличаться от текущего',\n path: ['newPassword'],\n });\n\nexport const UserListResponseSchema = z.array(UserSchema);\n","export enum UserFileType {\n PHOTO = 'PHOTO',\n DOCUMENT = 'DOCUMENT',\n}\n","import { z } from 'zod';\nimport { UserFileType } from './user-file-type.enum';\nimport { DbIdSchema } from '../common';\n\nexport const UserFileSchema = z.object({\n id: z.number().int().positive(),\n userId: z.number().int().positive(),\n type: z.enum(UserFileType),\n url: z.string().url(),\n originalName: z.string().nullable(),\n mimeType: z.string().min(1).nullable(),\n sizeBytes: z.number().int().positive().nullable(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const UserFileListSchema = z.array(UserFileSchema);\n\n/** Path-параметр `:fileId` для операций с файлами пользователя. */\nexport const FileIdParamSchema = z.object({\n fileId: DbIdSchema,\n});\n\nexport type UserFile = z.infer<typeof UserFileSchema>;\nexport type UserFileList = z.infer<typeof UserFileListSchema>;\nexport type FileIdParam = z.infer<typeof FileIdParamSchema>;\n","import { z } from 'zod';\nimport { UserRole } from '../user';\n\nexport const AuthUserSchema = z.object({\n id: z.number(),\n login: z.string(),\n role: z.enum(UserRole),\n isActive: z.boolean(),\n});\n\nexport type AuthUser = z.infer<typeof AuthUserSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const RefreshResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type RefreshResponse = z.infer<typeof RefreshResponseSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const SignInRequestSchema = z.object({\n login: z\n .string('Логин должен быть строкой')\n .min(1, 'Логин не может быть пустым'),\n password: z\n .string('Пароль должен быть строкой')\n .min(1, 'Пароль не может быть пустым'),\n});\n\nexport const SignInResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type SignInRequest = z.infer<typeof SignInRequestSchema>;\nexport type SignInResponse = z.infer<typeof SignInResponseSchema>;\n","import { z } from 'zod';\n\nexport enum BinaryBranch {\n LEFT = 'LEFT',\n RIGHT = 'RIGHT',\n}\n\nexport enum MarketingMemberStatus {\n ACTIVE = 'ACTIVE',\n BLOCKED = 'BLOCKED',\n}\n\nexport const BinaryBranchSchema = z.enum(BinaryBranch);\nexport const MarketingMemberStatusSchema = z.enum(MarketingMemberStatus);\n","import { z } from 'zod';\nimport { BinaryBranchSchema } from './marketing.enums';\n\nexport const MarketingPublicIdentifierSchema = z\n .string()\n .trim()\n .min(3)\n .max(255);\n\nexport const MarketingInvitationTokenSchema = z\n .string()\n .trim()\n .regex(/^[A-Za-z0-9_-]{43}$/);\n\nexport const ManualMarketingPlacementSchema = z.object({\n sponsorId: MarketingPublicIdentifierSchema,\n leg: BinaryBranchSchema,\n});\n\nexport const InvitationMarketingPlacementSchema = z.object({\n invitationToken: MarketingInvitationTokenSchema,\n});\n\nexport const CreateMarketingInvitationRequestSchema = z.object({\n leg: BinaryBranchSchema,\n});\n\nexport const MarketingPlacementIdentitySchema = z.object({\n uuid: z.string().trim().min(1).max(255),\n login: z.string().trim().min(1).max(255),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n});\n\nexport const MarketingPlacementPreviewSchema = z.object({\n sponsor: MarketingPlacementIdentitySchema,\n leg: BinaryBranchSchema,\n expiresAt: z.iso.datetime().nullable(),\n});\n\nexport const CreateMarketingInvitationResponseSchema =\n MarketingPlacementPreviewSchema.extend({\n invitationToken: MarketingInvitationTokenSchema,\n });\n\nexport type ManualMarketingPlacement = z.infer<\n typeof ManualMarketingPlacementSchema\n>;\nexport type InvitationMarketingPlacement = z.infer<\n typeof InvitationMarketingPlacementSchema\n>;\nexport type CreateMarketingInvitationRequest = z.infer<\n typeof CreateMarketingInvitationRequestSchema\n>;\nexport type MarketingPlacementIdentity = z.infer<\n typeof MarketingPlacementIdentitySchema\n>;\nexport type MarketingPlacementPreview = z.infer<\n typeof MarketingPlacementPreviewSchema\n>;\nexport type CreateMarketingInvitationResponse = z.infer<\n typeof CreateMarketingInvitationResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n InvitationMarketingPlacementSchema,\n ManualMarketingPlacementSchema,\n} from '../marketing';\n\nexport const RegistrationEmailSchema = z\n .email('Введите корректный email')\n .trim()\n .toLowerCase();\n\nexport const RegistrationPhoneNumberSchema = z\n .string()\n .trim()\n .regex(/^\\+[1-9]\\d{7,14}$/, 'Введите корректный международный номер');\n\nexport const RegistrationLoginSchema = z\n .string()\n .trim()\n .min(3, 'Логин должен содержать не менее 3 символов')\n .max(255)\n .regex(\n /^[a-z0-9]+$/,\n 'Используйте только строчные латинские буквы и цифры',\n );\n\nexport const RegistrationPasswordSchema = z\n .string()\n .min(6, 'Пароль должен содержать не менее 6 символов')\n .max(255);\n\nconst SignUpBaseSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: RegistrationEmailSchema,\n phoneNumber: RegistrationPhoneNumberSchema,\n login: RegistrationLoginSchema,\n password: RegistrationPasswordSchema,\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const SignUpRequestSchema = SignUpBaseSchema.extend({\n sponsorId: ManualMarketingPlacementSchema.shape.sponsorId.optional(),\n leg: ManualMarketingPlacementSchema.shape.leg.optional(),\n invitationToken:\n InvitationMarketingPlacementSchema.shape.invitationToken.optional(),\n}).superRefine((input, context) => {\n const hasInvitation = input.invitationToken !== undefined;\n const manualFields = [input.sponsorId, input.leg];\n const hasAnyManualField = manualFields.some((value) => value !== undefined);\n const hasEveryManualField = manualFields.every(\n (value) => value !== undefined,\n );\n\n if (\n hasInvitation === hasAnyManualField ||\n (!hasInvitation && !hasEveryManualField)\n ) {\n context.addIssue({\n code: 'custom',\n message: 'Передайте invitationToken или полный набор sponsorId и leg',\n path: ['invitationToken'],\n });\n }\n});\n\nexport type SignUpRequest = z.infer<typeof SignUpRequestSchema>;\n","import { z } from 'zod';\nimport {\n RegistrationEmailSchema,\n RegistrationLoginSchema,\n RegistrationPhoneNumberSchema,\n} from './sign-up.contract';\n\nexport const RegistrationAvailabilityRequestSchema = z\n .object({\n email: RegistrationEmailSchema.optional(),\n phoneNumber: RegistrationPhoneNumberSchema.optional(),\n login: RegistrationLoginSchema.optional(),\n })\n .refine(\n ({ email, phoneNumber, login }) =>\n email !== undefined || phoneNumber !== undefined || login !== undefined,\n 'Передайте хотя бы одно поле для проверки',\n );\n\nexport const RegistrationAvailabilityResponseSchema = z.object({\n emailAvailable: z.boolean().nullable(),\n phoneNumberAvailable: z.boolean().nullable(),\n loginAvailable: z.boolean().nullable(),\n});\n\nexport type RegistrationAvailabilityRequest = z.infer<\n typeof RegistrationAvailabilityRequestSchema\n>;\nexport type RegistrationAvailabilityResponse = z.infer<\n typeof RegistrationAvailabilityResponseSchema\n>;\n","import { z } from 'zod';\n\nconst ActionTokenSchema = z.string().trim().min(40).max(500);\n\nexport const RequestEmailVerificationSchema = z.object({\n email: z.email().trim(),\n});\n\nexport const ConfirmEmailSchema = z.object({\n token: ActionTokenSchema,\n});\n\nexport const RequestEmailChangeSchema = z.object({\n newEmail: z.email().trim(),\n currentPassword: z.string().trim().min(6).max(255),\n});\n\nexport const ConfirmEmailChangeSchema = z.object({\n token: ActionTokenSchema,\n});\n\nexport const ForgotPasswordSchema = z.object({\n email: z.email().trim(),\n});\n\nexport const ResetPasswordSchema = z.object({\n token: ActionTokenSchema,\n newPassword: z.string().trim().min(8).max(255),\n});\n\nexport type RequestEmailVerification = z.infer<\n typeof RequestEmailVerificationSchema\n>;\nexport type ConfirmEmail = z.infer<typeof ConfirmEmailSchema>;\nexport type RequestEmailChange = z.infer<typeof RequestEmailChangeSchema>;\nexport type ConfirmEmailChange = z.infer<typeof ConfirmEmailChangeSchema>;\nexport type ForgotPassword = z.infer<typeof ForgotPasswordSchema>;\nexport type ResetPassword = z.infer<typeof ResetPasswordSchema>;\n","export enum WalletCurrency {\n PV = 'PV',\n MONEY = 'MONEY',\n}\n\nexport enum WalletStatus {\n ACTIVE = 'ACTIVE',\n BLOCKED = 'BLOCKED',\n ARCHIVED = 'ARCHIVED',\n}\n\nexport enum WalletType {\n MAIN = 'MAIN',\n BONUS = 'BONUS',\n CASHBACK = 'CASHBACK',\n PREMIUM = 'PREMIUM',\n}\n","import { z } from 'zod';\nimport { CurrencyCodeSchema } from './currency.schemas';\n\n/** Денежная сумма как строка (decimal), напр. \"1234.56\". */\nexport const MoneyAmountStringSchema = z\n .string()\n .regex(/^\\d+(\\.\\d{1,8})?$/, 'Invalid money amount');\n\n/**\n * Представление денежной суммы в валюте отображения.\n * `amount` уже сконвертирован из базовой валюты по `rate`.\n */\nexport const MoneyViewSchema = z.object({\n currency: CurrencyCodeSchema,\n amount: MoneyAmountStringSchema,\n rate: z.string(),\n});\n","import { z } from 'zod';\nimport { WalletCurrency, WalletStatus, WalletType } from './wallets.enum';\nimport { MoneyViewSchema } from '../currency/money-view.schemas';\n\nexport const WalletTypeSchema = z.enum(WalletType);\nexport const WalletStatusSchema = z.enum(WalletStatus);\nexport const WalletCurrencySchema = z.enum(WalletCurrency);\n\nexport const WalletSchema = z.object({\n id: z.number().int().positive(),\n userId: z.number().int().positive(),\n type: WalletTypeSchema,\n balance: z.string(),\n blockedBalance: z.string(),\n currency: WalletCurrencySchema,\n status: WalletStatusSchema,\n /** Баланс в валюте отображения пользователя (только для денежных кошельков). */\n display: MoneyViewSchema.nullable().optional(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const WalletListResponseSchema = z.array(WalletSchema);\n\nexport const GetUserWalletsParamsSchema = z.object({\n userId: z.coerce.number().int().positive(),\n});\n\nexport const GetUserWalletByTypeParamsSchema = z.object({\n userId: z.coerce.number().int().positive(),\n type: WalletTypeSchema,\n});\n","export enum WalletTransactionDirection {\n CREDIT = 'CREDIT',\n DEBIT = 'DEBIT',\n}\n\nexport enum WalletTransactionStatus {\n COMPLETED = 'COMPLETED',\n FAILED = 'FAILED',\n}\n\nexport enum WalletTransactionReason {\n REFERRAL_BONUS = 'REFERRAL_BONUS',\n BINARY_BONUS = 'BINARY_BONUS',\n MATCHING_BONUS = 'MATCHING_BONUS',\n STATUS_BONUS = 'STATUS_BONUS',\n EXTRA_BONUS = 'EXTRA_BONUS',\n STRUCTURE_BONUS = 'STRUCTURE_BONUS',\n PRODUCT_PURCHASE = 'PRODUCT_PURCHASE',\n PLAN_PURCHASE = 'PLAN_PURCHASE',\n WITHDRAWAL = 'WITHDRAWAL',\n TRANSFER_IN = 'TRANSFER_IN',\n TRANSFER_OUT = 'TRANSFER_OUT',\n REFUND = 'REFUND',\n EXPIRATION = 'EXPIRATION',\n}\n","import { z } from 'zod';\nimport {\n WalletTransactionDirection,\n WalletTransactionReason,\n WalletTransactionStatus,\n} from './wallet-transaction.enums';\nimport { WalletCurrency, WalletType } from '../wallets';\nimport { BaseListQuerySchema, DbIdSchema } from '../common';\nimport { MoneyViewSchema } from '../currency/money-view.schemas';\n\nexport const MoneyAmountSchema = z\n .string()\n .regex(\n /^\\d{1,16}(\\.\\d{1,2})?$/,\n 'Money amount must contain at most 16 integer and 2 decimal digits',\n );\n\nexport const WalletOperationKeySchema = z\n .string()\n .trim()\n .min(1)\n .max(150)\n .regex(/^[A-Za-z0-9][A-Za-z0-9:._-]*$/, 'Invalid wallet operation key');\n\nexport const WalletTransactionDirectionSchema = z.enum(\n WalletTransactionDirection,\n);\n\nexport const WalletTransactionStatusSchema = z.enum(WalletTransactionStatus);\n\nexport const WalletTransactionReasonSchema = z.enum(WalletTransactionReason);\n\nexport const WalletTransactionSourceUserSchema = z.object({\n id: z.number().int().positive(),\n login: z.string().trim().max(255).nullable(),\n fullName: z.string().trim().max(255).nullable(),\n});\n\nexport const WalletTransactionSchema = z.object({\n id: z.number().int().positive(),\n operationKey: WalletOperationKeySchema,\n walletId: z.number().int().positive(),\n userId: z.number().int().positive(),\n walletType: z.enum(WalletType),\n direction: WalletTransactionDirectionSchema,\n reason: WalletTransactionReasonSchema,\n status: WalletTransactionStatusSchema,\n amount: MoneyAmountSchema,\n balanceBefore: MoneyAmountSchema,\n balanceAfter: MoneyAmountSchema,\n currency: z.enum(WalletCurrency),\n referenceType: z.string().trim().max(100).nullable(),\n referenceId: z.string().trim().max(100).nullable(),\n sourceUserId: z.number().int().positive().nullable(),\n initiatorUserId: z.number().int().positive().nullable(),\n comment: z.string().trim().max(500).nullable(),\n createdAt: z.string().datetime(),\n});\n\nexport const WalletTransactionDetailsSchema = WalletTransactionSchema.extend({\n sourceUser: WalletTransactionSourceUserSchema.nullable(),\n displayAmount: MoneyViewSchema.nullable().optional(),\n});\n\nexport const CreateWalletTransactionRequestSchema = z.object({\n operationKey: WalletOperationKeySchema,\n userId: z.number().int().positive(),\n walletType: z.enum(WalletType),\n direction: WalletTransactionDirectionSchema,\n reason: WalletTransactionReasonSchema,\n amount: MoneyAmountSchema,\n referenceType: z.string().trim().max(100).optional(),\n referenceId: z.string().trim().max(100).optional(),\n sourceUserId: z.number().int().positive().optional(),\n initiatorUserId: z.number().int().positive().optional(),\n comment: z.string().trim().max(500).optional(),\n});\n\nexport const WalletTransactionsListQuerySchema = BaseListQuerySchema.extend({\n walletType: z.enum(WalletType).optional(),\n direction: WalletTransactionDirectionSchema.optional(),\n reason: WalletTransactionReasonSchema.optional(),\n});\n\nexport const WalletTransactionListResponseSchema = z.array(\n WalletTransactionSchema,\n);\n\nexport const WalletTransactionDetailsListResponseSchema = z.array(\n WalletTransactionDetailsSchema,\n);\n\nexport const GetUserWalletTransactionsParamsSchema = z.object({\n userId: DbIdSchema,\n});\n","import { z } from 'zod';\n\nexport const CountryResponseSchema = z.object({\n name: z.string(),\n code: z.string().length(2),\n nativeName: z.string(),\n});\n\nexport const CityResponseSchema = z.object({\n name: z.string(),\n nativeName: z.string(),\n});\n\nexport const GetCitiesQuerySchema = z.object({\n countryCode: z.string().length(2),\n});\n\nexport const CountriesResponseSchema = z.array(CountryResponseSchema);\nexport const CitiesResponseSchema = z.array(CityResponseSchema);\n\nexport type CountryResponse = z.infer<typeof CountryResponseSchema>;\nexport type CountriesResponse = z.infer<typeof CountriesResponseSchema>;\nexport type CityResponse = z.infer<typeof CityResponseSchema>;\nexport type CitiesResponse = z.infer<typeof CitiesResponseSchema>;\nexport type GetCitiesQuery = z.infer<typeof GetCitiesQuerySchema>;\n","import { z } from 'zod';\nimport { CurrencyCodeSchema } from './currency.schemas';\nimport { RatePerBaseSchema } from './rate.schemas';\n\nexport const ExchangeRateSourceSchema = z.literal('manual');\n\nexport const ExchangeRateSchema = z.object({\n id: z.number().int().positive(),\n currencyCode: CurrencyCodeSchema,\n /** Сколько единиц валюты за 1 базовую валюту. */\n ratePerBase: z.string(),\n source: ExchangeRateSourceSchema,\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ExchangeRateListResponseSchema = z.array(ExchangeRateSchema);\n\nexport const UpdateExchangeRateRequestSchema = z.object({\n ratePerBase: RatePerBaseSchema,\n});\n"]}
package/dist/index.mjs CHANGED
@@ -67,7 +67,25 @@ var UpdateCurrencyRequestSchema = z.object({
67
67
  isActive: z.boolean()
68
68
  }).partial();
69
69
 
70
+ // src/localization/app-locale.enum.ts
71
+ var AppLocale = {
72
+ RU: "ru",
73
+ KK: "kk",
74
+ UZ: "uz",
75
+ EN: "en"
76
+ };
77
+ var SupportedLocales = Object.values(
78
+ AppLocale
79
+ );
80
+
81
+ // src/localization/app-locale.schema.ts
82
+ var AppLocaleSchema = z.enum(AppLocale);
83
+
70
84
  // src/user/user.schemas.ts
85
+ var socialLink = (hosts) => z.url().trim().max(255).refine((value) => {
86
+ const url = new URL(value);
87
+ return url.protocol === "https:" && hosts.some((host) => url.hostname === host || url.hostname === `www.${host}`);
88
+ }, "\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u0443\u044E \u0441\u0441\u044B\u043B\u043A\u0443 \u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0443\u044E \u0441\u043E\u0446\u0438\u0430\u043B\u044C\u043D\u0443\u044E \u0441\u0435\u0442\u044C");
71
89
  var UserSchema = z.object({
72
90
  id: z.number().int().positive(),
73
91
  firstName: z.string().trim().max(255),
@@ -86,6 +104,7 @@ var UserSchema = z.object({
86
104
  instagramLink: z.string().trim().max(255).nullable(),
87
105
  telegramLink: z.string().trim().max(255).nullable(),
88
106
  displayCurrency: CurrencyCodeSchema,
107
+ locale: AppLocaleSchema,
89
108
  role: z.enum(UserRole),
90
109
  createdAt: z.iso.datetime(),
91
110
  updatedAt: z.iso.datetime()
@@ -104,14 +123,16 @@ var CreateUserRequestSchema = z.object({
104
123
  var UpdateUserRequestSchema = z.object({
105
124
  firstName: z.string().trim().min(1).max(255),
106
125
  lastName: z.string().trim().min(1).max(255),
107
- countryCode: z.string().trim().length(2),
108
- country: z.string().trim().min(1).max(255),
126
+ phoneNumber: z.string().trim().min(7).max(20),
109
127
  city: z.string().trim().min(1).max(255),
110
- whatsappLink: z.string().trim().max(255).nullable(),
111
- instagramLink: z.string().trim().max(255).nullable(),
112
- telegramLink: z.string().trim().max(255).nullable(),
113
- displayCurrency: CurrencyCodeSchema
114
- }).partial();
128
+ whatsappLink: socialLink(["wa.me", "api.whatsapp.com"]).nullable(),
129
+ instagramLink: socialLink(["instagram.com"]).nullable(),
130
+ telegramLink: socialLink(["t.me", "telegram.me"]).nullable(),
131
+ displayCurrency: CurrencyCodeSchema,
132
+ locale: AppLocaleSchema
133
+ }).partial().strict().refine((value) => Object.keys(value).length > 0, {
134
+ message: "\u041F\u0435\u0440\u0435\u0434\u0430\u0439\u0442\u0435 \u0445\u043E\u0442\u044F \u0431\u044B \u043E\u0434\u043D\u043E \u043F\u043E\u043B\u0435 \u0434\u043B\u044F \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F"
135
+ });
115
136
  var ChangePasswordRequestSchema = z.object({
116
137
  currentPassword: z.string().trim().min(6).max(255),
117
138
  newPassword: z.string().trim().min(6).max(255)
@@ -259,6 +280,13 @@ var RequestEmailVerificationSchema = z.object({
259
280
  var ConfirmEmailSchema = z.object({
260
281
  token: ActionTokenSchema
261
282
  });
283
+ var RequestEmailChangeSchema = z.object({
284
+ newEmail: z.email().trim(),
285
+ currentPassword: z.string().trim().min(6).max(255)
286
+ });
287
+ var ConfirmEmailChangeSchema = z.object({
288
+ token: ActionTokenSchema
289
+ });
262
290
  var ForgotPasswordSchema = z.object({
263
291
  email: z.email().trim()
264
292
  });
@@ -441,6 +469,6 @@ var UpdateExchangeRateRequestSchema = z.object({
441
469
  ratePerBase: RatePerBaseSchema
442
470
  });
443
471
 
444
- export { AuthUserSchema, BaseListQuerySchema, BinaryBranch, BinaryBranchSchema, ChangePasswordRequestSchema, CitiesResponseSchema, CityResponseSchema, ConfirmEmailSchema, CountriesResponseSchema, CountryResponseSchema, CreateCurrencyRequestSchema, CreateMarketingInvitationRequestSchema, CreateMarketingInvitationResponseSchema, CreateUserRequestSchema, CreateWalletTransactionRequestSchema, CurrencyCodeParamSchema, CurrencyCodeSchema, CurrencyListResponseSchema, CurrencySchema, DateFromSchema, DateToSchema, DbIdSchema, ExchangeRateListResponseSchema, ExchangeRateSchema, ExchangeRateSourceSchema, FileIdParamSchema, ForgotPasswordSchema, GetCitiesQuerySchema, GetUserWalletByTypeParamsSchema, GetUserWalletTransactionsParamsSchema, GetUserWalletsParamsSchema, INT4_MAX, InvitationMarketingPlacementSchema, LimitSchema, ManualMarketingPlacementSchema, MarketingInvitationTokenSchema, MarketingMemberStatus, MarketingMemberStatusSchema, MarketingPlacementIdentitySchema, MarketingPlacementPreviewSchema, MarketingPublicIdentifierSchema, MoneyAmountSchema, MoneyAmountStringSchema, MoneyViewSchema, PageSchema, PaginationQuerySchema, RatePerBaseSchema, RefreshResponseSchema, RegistrationAvailabilityRequestSchema, RegistrationAvailabilityResponseSchema, RegistrationEmailSchema, RegistrationLoginSchema, RegistrationPasswordSchema, RegistrationPhoneNumberSchema, RequestEmailVerificationSchema, ResetPasswordSchema, SearchSchema, SignInRequestSchema, SignInResponseSchema, SignUpRequestSchema, SortOrderSchema, UpdateCurrencyRequestSchema, UpdateExchangeRateRequestSchema, UpdateUserRequestSchema, UserFileListSchema, UserFileSchema, UserFileType, UserListResponseSchema, UserRole, UserSchema, WalletCurrency, WalletCurrencySchema, WalletListResponseSchema, WalletOperationKeySchema, WalletSchema, WalletStatus, WalletStatusSchema, WalletTransactionDetailsListResponseSchema, WalletTransactionDetailsSchema, WalletTransactionDirection, WalletTransactionDirectionSchema, WalletTransactionListResponseSchema, WalletTransactionReason, WalletTransactionReasonSchema, WalletTransactionSchema, WalletTransactionSourceUserSchema, WalletTransactionStatus, WalletTransactionStatusSchema, WalletTransactionsListQuerySchema, WalletType, WalletTypeSchema };
472
+ export { AppLocale, AppLocaleSchema, AuthUserSchema, BaseListQuerySchema, BinaryBranch, BinaryBranchSchema, ChangePasswordRequestSchema, CitiesResponseSchema, CityResponseSchema, ConfirmEmailChangeSchema, ConfirmEmailSchema, CountriesResponseSchema, CountryResponseSchema, CreateCurrencyRequestSchema, CreateMarketingInvitationRequestSchema, CreateMarketingInvitationResponseSchema, CreateUserRequestSchema, CreateWalletTransactionRequestSchema, CurrencyCodeParamSchema, CurrencyCodeSchema, CurrencyListResponseSchema, CurrencySchema, DateFromSchema, DateToSchema, DbIdSchema, ExchangeRateListResponseSchema, ExchangeRateSchema, ExchangeRateSourceSchema, FileIdParamSchema, ForgotPasswordSchema, GetCitiesQuerySchema, GetUserWalletByTypeParamsSchema, GetUserWalletTransactionsParamsSchema, GetUserWalletsParamsSchema, INT4_MAX, InvitationMarketingPlacementSchema, LimitSchema, ManualMarketingPlacementSchema, MarketingInvitationTokenSchema, MarketingMemberStatus, MarketingMemberStatusSchema, MarketingPlacementIdentitySchema, MarketingPlacementPreviewSchema, MarketingPublicIdentifierSchema, MoneyAmountSchema, MoneyAmountStringSchema, MoneyViewSchema, PageSchema, PaginationQuerySchema, RatePerBaseSchema, RefreshResponseSchema, RegistrationAvailabilityRequestSchema, RegistrationAvailabilityResponseSchema, RegistrationEmailSchema, RegistrationLoginSchema, RegistrationPasswordSchema, RegistrationPhoneNumberSchema, RequestEmailChangeSchema, RequestEmailVerificationSchema, ResetPasswordSchema, SearchSchema, SignInRequestSchema, SignInResponseSchema, SignUpRequestSchema, SortOrderSchema, SupportedLocales, UpdateCurrencyRequestSchema, UpdateExchangeRateRequestSchema, UpdateUserRequestSchema, UserFileListSchema, UserFileSchema, UserFileType, UserListResponseSchema, UserRole, UserSchema, WalletCurrency, WalletCurrencySchema, WalletListResponseSchema, WalletOperationKeySchema, WalletSchema, WalletStatus, WalletStatusSchema, WalletTransactionDetailsListResponseSchema, WalletTransactionDetailsSchema, WalletTransactionDirection, WalletTransactionDirectionSchema, WalletTransactionListResponseSchema, WalletTransactionReason, WalletTransactionReasonSchema, WalletTransactionSchema, WalletTransactionSourceUserSchema, WalletTransactionStatus, WalletTransactionStatusSchema, WalletTransactionsListQuerySchema, WalletType, WalletTypeSchema };
445
473
  //# sourceMappingURL=index.mjs.map
446
474
  //# sourceMappingURL=index.mjs.map