aivilife-contracts 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/index.d.mts +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.js +120 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/index.mjs +117 -2
- package/dist/auth/index.mjs.map +1 -1
- package/dist/{index-BexwaaJv.d.mts → index-LnrjPFdn.d.mts} +19 -2
- package/dist/{index-BexwaaJv.d.ts → index-LnrjPFdn.d.ts} +19 -2
- package/dist/index.d.mts +188 -3
- package/dist/index.d.ts +188 -3
- package/dist/index.js +154 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +129 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -21,6 +21,8 @@ var BaseListQuerySchema = zod.z.object({
|
|
|
21
21
|
dateTo: DateToSchema,
|
|
22
22
|
sortOrder: SortOrderSchema.optional()
|
|
23
23
|
});
|
|
24
|
+
var INT4_MAX = 2147483647;
|
|
25
|
+
var DbIdSchema = zod.z.coerce.number().int().positive().max(INT4_MAX);
|
|
24
26
|
|
|
25
27
|
// src/user/user-role.enum.ts
|
|
26
28
|
var UserRole = /* @__PURE__ */ ((UserRole2) => {
|
|
@@ -30,6 +32,42 @@ var UserRole = /* @__PURE__ */ ((UserRole2) => {
|
|
|
30
32
|
UserRole2["PARTNER"] = "partner";
|
|
31
33
|
return UserRole2;
|
|
32
34
|
})(UserRole || {});
|
|
35
|
+
var RatePerBaseSchema = zod.z.string().regex(
|
|
36
|
+
/^\d{1,12}(\.\d{1,18})?$/,
|
|
37
|
+
"Rate must contain at most 12 integer and 18 decimal digits"
|
|
38
|
+
).refine((value) => /[1-9]/.test(value), "Rate must be greater than zero");
|
|
39
|
+
|
|
40
|
+
// src/currency/currency.schemas.ts
|
|
41
|
+
var CurrencyCodeSchema = zod.z.string().trim().toUpperCase().regex(/^[A-Z]{3}$/, "Invalid ISO 4217 currency code");
|
|
42
|
+
var CurrencyCodeParamSchema = zod.z.object({
|
|
43
|
+
code: CurrencyCodeSchema
|
|
44
|
+
});
|
|
45
|
+
var CurrencySchema = zod.z.object({
|
|
46
|
+
id: zod.z.number().int().positive(),
|
|
47
|
+
code: CurrencyCodeSchema,
|
|
48
|
+
name: zod.z.string().trim().max(255),
|
|
49
|
+
symbol: zod.z.string().trim().max(10),
|
|
50
|
+
decimalDigits: zod.z.number().int().min(0).max(8),
|
|
51
|
+
isActive: zod.z.boolean(),
|
|
52
|
+
isBase: zod.z.boolean(),
|
|
53
|
+
createdAt: zod.z.string().datetime(),
|
|
54
|
+
updatedAt: zod.z.string().datetime()
|
|
55
|
+
});
|
|
56
|
+
var CurrencyListResponseSchema = zod.z.array(CurrencySchema);
|
|
57
|
+
var CreateCurrencyRequestSchema = zod.z.object({
|
|
58
|
+
code: CurrencyCodeSchema,
|
|
59
|
+
name: zod.z.string().trim().min(1).max(255),
|
|
60
|
+
symbol: zod.z.string().trim().min(1).max(10),
|
|
61
|
+
decimalDigits: zod.z.number().int().min(0).max(8).default(2),
|
|
62
|
+
isActive: zod.z.boolean().default(true),
|
|
63
|
+
ratePerBase: RatePerBaseSchema
|
|
64
|
+
});
|
|
65
|
+
var UpdateCurrencyRequestSchema = zod.z.object({
|
|
66
|
+
name: zod.z.string().trim().min(1).max(255),
|
|
67
|
+
symbol: zod.z.string().trim().min(1).max(10),
|
|
68
|
+
decimalDigits: zod.z.number().int().min(0).max(8),
|
|
69
|
+
isActive: zod.z.boolean()
|
|
70
|
+
}).partial();
|
|
33
71
|
|
|
34
72
|
// src/user/user.schemas.ts
|
|
35
73
|
var UserSchema = zod.z.object({
|
|
@@ -46,6 +84,10 @@ var UserSchema = zod.z.object({
|
|
|
46
84
|
countryCode: zod.z.string().trim().length(2),
|
|
47
85
|
country: zod.z.string().trim().max(255),
|
|
48
86
|
city: zod.z.string().trim().max(255),
|
|
87
|
+
whatsappLink: zod.z.string().trim().max(255).nullable(),
|
|
88
|
+
instagramLink: zod.z.string().trim().max(255).nullable(),
|
|
89
|
+
telegramLink: zod.z.string().trim().max(255).nullable(),
|
|
90
|
+
displayCurrency: CurrencyCodeSchema,
|
|
49
91
|
role: zod.z.enum(UserRole),
|
|
50
92
|
createdAt: zod.z.iso.datetime(),
|
|
51
93
|
updatedAt: zod.z.iso.datetime()
|
|
@@ -61,8 +103,48 @@ var CreateUserRequestSchema = zod.z.object({
|
|
|
61
103
|
country: zod.z.string().trim().max(255),
|
|
62
104
|
city: zod.z.string().trim().max(255)
|
|
63
105
|
});
|
|
106
|
+
var UpdateUserRequestSchema = zod.z.object({
|
|
107
|
+
firstName: zod.z.string().trim().min(1).max(255),
|
|
108
|
+
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),
|
|
111
|
+
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();
|
|
117
|
+
var ChangePasswordRequestSchema = zod.z.object({
|
|
118
|
+
currentPassword: zod.z.string().trim().min(6).max(255),
|
|
119
|
+
newPassword: zod.z.string().trim().min(6).max(255)
|
|
120
|
+
}).refine((data) => data.currentPassword !== data.newPassword, {
|
|
121
|
+
message: "\u041D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C \u0434\u043E\u043B\u0436\u0435\u043D \u043E\u0442\u043B\u0438\u0447\u0430\u0442\u044C\u0441\u044F \u043E\u0442 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E",
|
|
122
|
+
path: ["newPassword"]
|
|
123
|
+
});
|
|
64
124
|
var UserListResponseSchema = zod.z.array(UserSchema);
|
|
65
125
|
|
|
126
|
+
// src/user/user-file-type.enum.ts
|
|
127
|
+
var UserFileType = /* @__PURE__ */ ((UserFileType2) => {
|
|
128
|
+
UserFileType2["PHOTO"] = "PHOTO";
|
|
129
|
+
UserFileType2["DOCUMENT"] = "DOCUMENT";
|
|
130
|
+
return UserFileType2;
|
|
131
|
+
})(UserFileType || {});
|
|
132
|
+
var UserFileSchema = zod.z.object({
|
|
133
|
+
id: zod.z.number().int().positive(),
|
|
134
|
+
userId: zod.z.number().int().positive(),
|
|
135
|
+
type: zod.z.enum(UserFileType),
|
|
136
|
+
url: zod.z.string().url(),
|
|
137
|
+
originalName: zod.z.string().nullable(),
|
|
138
|
+
mimeType: zod.z.string().min(1).nullable(),
|
|
139
|
+
sizeBytes: zod.z.number().int().positive().nullable(),
|
|
140
|
+
createdAt: zod.z.iso.datetime(),
|
|
141
|
+
updatedAt: zod.z.iso.datetime()
|
|
142
|
+
});
|
|
143
|
+
var UserFileListSchema = zod.z.array(UserFileSchema);
|
|
144
|
+
var FileIdParamSchema = zod.z.object({
|
|
145
|
+
fileId: DbIdSchema
|
|
146
|
+
});
|
|
147
|
+
|
|
66
148
|
// src/auth/auth-user.contract.ts
|
|
67
149
|
var AuthUserSchema = zod.z.object({
|
|
68
150
|
id: zod.z.number(),
|
|
@@ -80,7 +162,6 @@ var SignInRequestSchema = zod.z.object({
|
|
|
80
162
|
});
|
|
81
163
|
var SignInResponseSchema = zod.z.object({
|
|
82
164
|
accessToken: zod.z.string(),
|
|
83
|
-
refreshToken: zod.z.string(),
|
|
84
165
|
user: AuthUserSchema
|
|
85
166
|
});
|
|
86
167
|
var SignUpRequestSchema = zod.z.object({
|
|
@@ -94,6 +175,20 @@ var SignUpRequestSchema = zod.z.object({
|
|
|
94
175
|
country: zod.z.string().trim().max(255),
|
|
95
176
|
city: zod.z.string().trim().max(255)
|
|
96
177
|
});
|
|
178
|
+
var ActionTokenSchema = zod.z.string().trim().min(40).max(500);
|
|
179
|
+
var RequestEmailVerificationSchema = zod.z.object({
|
|
180
|
+
email: zod.z.email().trim()
|
|
181
|
+
});
|
|
182
|
+
var ConfirmEmailSchema = zod.z.object({
|
|
183
|
+
token: ActionTokenSchema
|
|
184
|
+
});
|
|
185
|
+
var ForgotPasswordSchema = zod.z.object({
|
|
186
|
+
email: zod.z.email().trim()
|
|
187
|
+
});
|
|
188
|
+
var ResetPasswordSchema = zod.z.object({
|
|
189
|
+
token: ActionTokenSchema,
|
|
190
|
+
newPassword: zod.z.string().trim().min(8).max(255)
|
|
191
|
+
});
|
|
97
192
|
|
|
98
193
|
// src/wallets/wallets.enum.ts
|
|
99
194
|
var WalletCurrency = /* @__PURE__ */ ((WalletCurrency2) => {
|
|
@@ -114,6 +209,12 @@ var WalletType = /* @__PURE__ */ ((WalletType2) => {
|
|
|
114
209
|
WalletType2["PREMIUM"] = "PREMIUM";
|
|
115
210
|
return WalletType2;
|
|
116
211
|
})(WalletType || {});
|
|
212
|
+
var MoneyAmountStringSchema = zod.z.string().regex(/^\d+(\.\d{1,8})?$/, "Invalid money amount");
|
|
213
|
+
var MoneyViewSchema = zod.z.object({
|
|
214
|
+
currency: CurrencyCodeSchema,
|
|
215
|
+
amount: MoneyAmountStringSchema,
|
|
216
|
+
rate: zod.z.string()
|
|
217
|
+
});
|
|
117
218
|
|
|
118
219
|
// src/wallets/wallets.contract.ts
|
|
119
220
|
var WalletTypeSchema = zod.z.enum(WalletType);
|
|
@@ -127,6 +228,8 @@ var WalletSchema = zod.z.object({
|
|
|
127
228
|
blockedBalance: zod.z.string(),
|
|
128
229
|
currency: WalletCurrencySchema,
|
|
129
230
|
status: WalletStatusSchema,
|
|
231
|
+
/** Баланс в валюте отображения пользователя (только для денежных кошельков). */
|
|
232
|
+
display: MoneyViewSchema.nullable().optional(),
|
|
130
233
|
createdAt: zod.z.string().datetime(),
|
|
131
234
|
updatedAt: zod.z.string().datetime()
|
|
132
235
|
});
|
|
@@ -166,7 +269,11 @@ var WalletTransactionReason = /* @__PURE__ */ ((WalletTransactionReason2) => {
|
|
|
166
269
|
WalletTransactionReason2["EXPIRATION"] = "EXPIRATION";
|
|
167
270
|
return WalletTransactionReason2;
|
|
168
271
|
})(WalletTransactionReason || {});
|
|
169
|
-
var MoneyAmountSchema = zod.z.string().regex(
|
|
272
|
+
var MoneyAmountSchema = zod.z.string().regex(
|
|
273
|
+
/^\d{1,16}(\.\d{1,2})?$/,
|
|
274
|
+
"Money amount must contain at most 16 integer and 2 decimal digits"
|
|
275
|
+
);
|
|
276
|
+
var WalletOperationKeySchema = zod.z.string().trim().min(1).max(150).regex(/^[A-Za-z0-9][A-Za-z0-9:._-]*$/, "Invalid wallet operation key");
|
|
170
277
|
var WalletTransactionDirectionSchema = zod.z.enum(
|
|
171
278
|
WalletTransactionDirection
|
|
172
279
|
);
|
|
@@ -179,6 +286,7 @@ var WalletTransactionSourceUserSchema = zod.z.object({
|
|
|
179
286
|
});
|
|
180
287
|
var WalletTransactionSchema = zod.z.object({
|
|
181
288
|
id: zod.z.number().int().positive(),
|
|
289
|
+
operationKey: WalletOperationKeySchema,
|
|
182
290
|
walletId: zod.z.number().int().positive(),
|
|
183
291
|
userId: zod.z.number().int().positive(),
|
|
184
292
|
walletType: zod.z.enum(WalletType),
|
|
@@ -197,9 +305,11 @@ var WalletTransactionSchema = zod.z.object({
|
|
|
197
305
|
createdAt: zod.z.string().datetime()
|
|
198
306
|
});
|
|
199
307
|
var WalletTransactionDetailsSchema = WalletTransactionSchema.extend({
|
|
200
|
-
sourceUser: WalletTransactionSourceUserSchema.nullable()
|
|
308
|
+
sourceUser: WalletTransactionSourceUserSchema.nullable(),
|
|
309
|
+
displayAmount: MoneyViewSchema.nullable().optional()
|
|
201
310
|
});
|
|
202
311
|
var CreateWalletTransactionRequestSchema = zod.z.object({
|
|
312
|
+
operationKey: WalletOperationKeySchema,
|
|
203
313
|
userId: zod.z.number().int().positive(),
|
|
204
314
|
walletType: zod.z.enum(WalletType),
|
|
205
315
|
direction: WalletTransactionDirectionSchema,
|
|
@@ -223,7 +333,7 @@ var WalletTransactionDetailsListResponseSchema = zod.z.array(
|
|
|
223
333
|
WalletTransactionDetailsSchema
|
|
224
334
|
);
|
|
225
335
|
var GetUserWalletTransactionsParamsSchema = zod.z.object({
|
|
226
|
-
userId:
|
|
336
|
+
userId: DbIdSchema
|
|
227
337
|
});
|
|
228
338
|
var CountryResponseSchema = zod.z.object({
|
|
229
339
|
name: zod.z.string(),
|
|
@@ -239,37 +349,77 @@ var GetCitiesQuerySchema = zod.z.object({
|
|
|
239
349
|
});
|
|
240
350
|
var CountriesResponseSchema = zod.z.array(CountryResponseSchema);
|
|
241
351
|
var CitiesResponseSchema = zod.z.array(CityResponseSchema);
|
|
352
|
+
var ExchangeRateSourceSchema = zod.z.literal("manual");
|
|
353
|
+
var ExchangeRateSchema = zod.z.object({
|
|
354
|
+
id: zod.z.number().int().positive(),
|
|
355
|
+
currencyCode: CurrencyCodeSchema,
|
|
356
|
+
/** Сколько единиц валюты за 1 базовую валюту. */
|
|
357
|
+
ratePerBase: zod.z.string(),
|
|
358
|
+
source: ExchangeRateSourceSchema,
|
|
359
|
+
createdAt: zod.z.string().datetime(),
|
|
360
|
+
updatedAt: zod.z.string().datetime()
|
|
361
|
+
});
|
|
362
|
+
var ExchangeRateListResponseSchema = zod.z.array(ExchangeRateSchema);
|
|
363
|
+
var UpdateExchangeRateRequestSchema = zod.z.object({
|
|
364
|
+
ratePerBase: RatePerBaseSchema
|
|
365
|
+
});
|
|
242
366
|
|
|
243
367
|
exports.AuthUserSchema = AuthUserSchema;
|
|
244
368
|
exports.BaseListQuerySchema = BaseListQuerySchema;
|
|
369
|
+
exports.ChangePasswordRequestSchema = ChangePasswordRequestSchema;
|
|
245
370
|
exports.CitiesResponseSchema = CitiesResponseSchema;
|
|
246
371
|
exports.CityResponseSchema = CityResponseSchema;
|
|
372
|
+
exports.ConfirmEmailSchema = ConfirmEmailSchema;
|
|
247
373
|
exports.CountriesResponseSchema = CountriesResponseSchema;
|
|
248
374
|
exports.CountryResponseSchema = CountryResponseSchema;
|
|
375
|
+
exports.CreateCurrencyRequestSchema = CreateCurrencyRequestSchema;
|
|
249
376
|
exports.CreateUserRequestSchema = CreateUserRequestSchema;
|
|
250
377
|
exports.CreateWalletTransactionRequestSchema = CreateWalletTransactionRequestSchema;
|
|
378
|
+
exports.CurrencyCodeParamSchema = CurrencyCodeParamSchema;
|
|
379
|
+
exports.CurrencyCodeSchema = CurrencyCodeSchema;
|
|
380
|
+
exports.CurrencyListResponseSchema = CurrencyListResponseSchema;
|
|
381
|
+
exports.CurrencySchema = CurrencySchema;
|
|
251
382
|
exports.DateFromSchema = DateFromSchema;
|
|
252
383
|
exports.DateToSchema = DateToSchema;
|
|
384
|
+
exports.DbIdSchema = DbIdSchema;
|
|
385
|
+
exports.ExchangeRateListResponseSchema = ExchangeRateListResponseSchema;
|
|
386
|
+
exports.ExchangeRateSchema = ExchangeRateSchema;
|
|
387
|
+
exports.ExchangeRateSourceSchema = ExchangeRateSourceSchema;
|
|
388
|
+
exports.FileIdParamSchema = FileIdParamSchema;
|
|
389
|
+
exports.ForgotPasswordSchema = ForgotPasswordSchema;
|
|
253
390
|
exports.GetCitiesQuerySchema = GetCitiesQuerySchema;
|
|
254
391
|
exports.GetUserWalletByTypeParamsSchema = GetUserWalletByTypeParamsSchema;
|
|
255
392
|
exports.GetUserWalletTransactionsParamsSchema = GetUserWalletTransactionsParamsSchema;
|
|
256
393
|
exports.GetUserWalletsParamsSchema = GetUserWalletsParamsSchema;
|
|
394
|
+
exports.INT4_MAX = INT4_MAX;
|
|
257
395
|
exports.LimitSchema = LimitSchema;
|
|
258
396
|
exports.MoneyAmountSchema = MoneyAmountSchema;
|
|
397
|
+
exports.MoneyAmountStringSchema = MoneyAmountStringSchema;
|
|
398
|
+
exports.MoneyViewSchema = MoneyViewSchema;
|
|
259
399
|
exports.PageSchema = PageSchema;
|
|
260
400
|
exports.PaginationQuerySchema = PaginationQuerySchema;
|
|
401
|
+
exports.RatePerBaseSchema = RatePerBaseSchema;
|
|
261
402
|
exports.RefreshResponseSchema = RefreshResponseSchema;
|
|
403
|
+
exports.RequestEmailVerificationSchema = RequestEmailVerificationSchema;
|
|
404
|
+
exports.ResetPasswordSchema = ResetPasswordSchema;
|
|
262
405
|
exports.SearchSchema = SearchSchema;
|
|
263
406
|
exports.SignInRequestSchema = SignInRequestSchema;
|
|
264
407
|
exports.SignInResponseSchema = SignInResponseSchema;
|
|
265
408
|
exports.SignUpRequestSchema = SignUpRequestSchema;
|
|
266
409
|
exports.SortOrderSchema = SortOrderSchema;
|
|
410
|
+
exports.UpdateCurrencyRequestSchema = UpdateCurrencyRequestSchema;
|
|
411
|
+
exports.UpdateExchangeRateRequestSchema = UpdateExchangeRateRequestSchema;
|
|
412
|
+
exports.UpdateUserRequestSchema = UpdateUserRequestSchema;
|
|
413
|
+
exports.UserFileListSchema = UserFileListSchema;
|
|
414
|
+
exports.UserFileSchema = UserFileSchema;
|
|
415
|
+
exports.UserFileType = UserFileType;
|
|
267
416
|
exports.UserListResponseSchema = UserListResponseSchema;
|
|
268
417
|
exports.UserRole = UserRole;
|
|
269
418
|
exports.UserSchema = UserSchema;
|
|
270
419
|
exports.WalletCurrency = WalletCurrency;
|
|
271
420
|
exports.WalletCurrencySchema = WalletCurrencySchema;
|
|
272
421
|
exports.WalletListResponseSchema = WalletListResponseSchema;
|
|
422
|
+
exports.WalletOperationKeySchema = WalletOperationKeySchema;
|
|
273
423
|
exports.WalletSchema = WalletSchema;
|
|
274
424
|
exports.WalletStatus = WalletStatus;
|
|
275
425
|
exports.WalletStatusSchema = WalletStatusSchema;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common/pagination.schemas.ts","../src/common/list-query.schemas.ts","../src/user/user-role.enum.ts","../src/user/user.schemas.ts","../src/auth/auth-user.contract.ts","../src/auth/refresh.contract.ts","../src/auth/sign-in.contract.ts","../src/auth/sign-up.contract.ts","../src/wallets/wallets.enum.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"],"names":["z","UserRole","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","export enum UserRole {\n ADMIN = 'admin',\n MANAGER = 'manager',\n STAFF = 'staff',\n PARTNER = 'partner',\n}\n","import { z } from 'zod';\nimport { UserRole } from './user-role.enum';\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 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 UserListResponseSchema = z.array(UserSchema);\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 refreshToken: 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 const SignUpRequestSchema = 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().min(3).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 type SignUpRequest = z.infer<typeof SignUpRequestSchema>;\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 { WalletCurrency, WalletStatus, WalletType } from './wallets.enum';\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 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 } from '../common';\n\nexport const MoneyAmountSchema = z\n .string()\n .regex(/^\\d+(\\.\\d{1,2})?$/, 'Invalid money amount');\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 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});\n\nexport const CreateWalletTransactionRequestSchema = z.object({\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: z.coerce.number().int().positive(),\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"]}
|
|
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/auth/sign-up.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","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,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,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,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACvC,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;ACVD,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,qBAAAG,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,0BAA0BL,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,qBAAAM,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,GAAoBR,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 const SignUpRequestSchema = 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().min(3).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 type SignUpRequest = z.infer<typeof SignUpRequestSchema>;\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"]}
|
package/dist/index.mjs
CHANGED
|
@@ -19,6 +19,8 @@ var BaseListQuerySchema = z.object({
|
|
|
19
19
|
dateTo: DateToSchema,
|
|
20
20
|
sortOrder: SortOrderSchema.optional()
|
|
21
21
|
});
|
|
22
|
+
var INT4_MAX = 2147483647;
|
|
23
|
+
var DbIdSchema = z.coerce.number().int().positive().max(INT4_MAX);
|
|
22
24
|
|
|
23
25
|
// src/user/user-role.enum.ts
|
|
24
26
|
var UserRole = /* @__PURE__ */ ((UserRole2) => {
|
|
@@ -28,6 +30,42 @@ var UserRole = /* @__PURE__ */ ((UserRole2) => {
|
|
|
28
30
|
UserRole2["PARTNER"] = "partner";
|
|
29
31
|
return UserRole2;
|
|
30
32
|
})(UserRole || {});
|
|
33
|
+
var RatePerBaseSchema = z.string().regex(
|
|
34
|
+
/^\d{1,12}(\.\d{1,18})?$/,
|
|
35
|
+
"Rate must contain at most 12 integer and 18 decimal digits"
|
|
36
|
+
).refine((value) => /[1-9]/.test(value), "Rate must be greater than zero");
|
|
37
|
+
|
|
38
|
+
// src/currency/currency.schemas.ts
|
|
39
|
+
var CurrencyCodeSchema = z.string().trim().toUpperCase().regex(/^[A-Z]{3}$/, "Invalid ISO 4217 currency code");
|
|
40
|
+
var CurrencyCodeParamSchema = z.object({
|
|
41
|
+
code: CurrencyCodeSchema
|
|
42
|
+
});
|
|
43
|
+
var CurrencySchema = z.object({
|
|
44
|
+
id: z.number().int().positive(),
|
|
45
|
+
code: CurrencyCodeSchema,
|
|
46
|
+
name: z.string().trim().max(255),
|
|
47
|
+
symbol: z.string().trim().max(10),
|
|
48
|
+
decimalDigits: z.number().int().min(0).max(8),
|
|
49
|
+
isActive: z.boolean(),
|
|
50
|
+
isBase: z.boolean(),
|
|
51
|
+
createdAt: z.string().datetime(),
|
|
52
|
+
updatedAt: z.string().datetime()
|
|
53
|
+
});
|
|
54
|
+
var CurrencyListResponseSchema = z.array(CurrencySchema);
|
|
55
|
+
var CreateCurrencyRequestSchema = z.object({
|
|
56
|
+
code: CurrencyCodeSchema,
|
|
57
|
+
name: z.string().trim().min(1).max(255),
|
|
58
|
+
symbol: z.string().trim().min(1).max(10),
|
|
59
|
+
decimalDigits: z.number().int().min(0).max(8).default(2),
|
|
60
|
+
isActive: z.boolean().default(true),
|
|
61
|
+
ratePerBase: RatePerBaseSchema
|
|
62
|
+
});
|
|
63
|
+
var UpdateCurrencyRequestSchema = z.object({
|
|
64
|
+
name: z.string().trim().min(1).max(255),
|
|
65
|
+
symbol: z.string().trim().min(1).max(10),
|
|
66
|
+
decimalDigits: z.number().int().min(0).max(8),
|
|
67
|
+
isActive: z.boolean()
|
|
68
|
+
}).partial();
|
|
31
69
|
|
|
32
70
|
// src/user/user.schemas.ts
|
|
33
71
|
var UserSchema = z.object({
|
|
@@ -44,6 +82,10 @@ var UserSchema = z.object({
|
|
|
44
82
|
countryCode: z.string().trim().length(2),
|
|
45
83
|
country: z.string().trim().max(255),
|
|
46
84
|
city: z.string().trim().max(255),
|
|
85
|
+
whatsappLink: z.string().trim().max(255).nullable(),
|
|
86
|
+
instagramLink: z.string().trim().max(255).nullable(),
|
|
87
|
+
telegramLink: z.string().trim().max(255).nullable(),
|
|
88
|
+
displayCurrency: CurrencyCodeSchema,
|
|
47
89
|
role: z.enum(UserRole),
|
|
48
90
|
createdAt: z.iso.datetime(),
|
|
49
91
|
updatedAt: z.iso.datetime()
|
|
@@ -59,8 +101,48 @@ var CreateUserRequestSchema = z.object({
|
|
|
59
101
|
country: z.string().trim().max(255),
|
|
60
102
|
city: z.string().trim().max(255)
|
|
61
103
|
});
|
|
104
|
+
var UpdateUserRequestSchema = z.object({
|
|
105
|
+
firstName: z.string().trim().min(1).max(255),
|
|
106
|
+
lastName: z.string().trim().min(1).max(255),
|
|
107
|
+
countryCode: z.string().trim().length(2),
|
|
108
|
+
country: z.string().trim().min(1).max(255),
|
|
109
|
+
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();
|
|
115
|
+
var ChangePasswordRequestSchema = z.object({
|
|
116
|
+
currentPassword: z.string().trim().min(6).max(255),
|
|
117
|
+
newPassword: z.string().trim().min(6).max(255)
|
|
118
|
+
}).refine((data) => data.currentPassword !== data.newPassword, {
|
|
119
|
+
message: "\u041D\u043E\u0432\u044B\u0439 \u043F\u0430\u0440\u043E\u043B\u044C \u0434\u043E\u043B\u0436\u0435\u043D \u043E\u0442\u043B\u0438\u0447\u0430\u0442\u044C\u0441\u044F \u043E\u0442 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E",
|
|
120
|
+
path: ["newPassword"]
|
|
121
|
+
});
|
|
62
122
|
var UserListResponseSchema = z.array(UserSchema);
|
|
63
123
|
|
|
124
|
+
// src/user/user-file-type.enum.ts
|
|
125
|
+
var UserFileType = /* @__PURE__ */ ((UserFileType2) => {
|
|
126
|
+
UserFileType2["PHOTO"] = "PHOTO";
|
|
127
|
+
UserFileType2["DOCUMENT"] = "DOCUMENT";
|
|
128
|
+
return UserFileType2;
|
|
129
|
+
})(UserFileType || {});
|
|
130
|
+
var UserFileSchema = z.object({
|
|
131
|
+
id: z.number().int().positive(),
|
|
132
|
+
userId: z.number().int().positive(),
|
|
133
|
+
type: z.enum(UserFileType),
|
|
134
|
+
url: z.string().url(),
|
|
135
|
+
originalName: z.string().nullable(),
|
|
136
|
+
mimeType: z.string().min(1).nullable(),
|
|
137
|
+
sizeBytes: z.number().int().positive().nullable(),
|
|
138
|
+
createdAt: z.iso.datetime(),
|
|
139
|
+
updatedAt: z.iso.datetime()
|
|
140
|
+
});
|
|
141
|
+
var UserFileListSchema = z.array(UserFileSchema);
|
|
142
|
+
var FileIdParamSchema = z.object({
|
|
143
|
+
fileId: DbIdSchema
|
|
144
|
+
});
|
|
145
|
+
|
|
64
146
|
// src/auth/auth-user.contract.ts
|
|
65
147
|
var AuthUserSchema = z.object({
|
|
66
148
|
id: z.number(),
|
|
@@ -78,7 +160,6 @@ var SignInRequestSchema = z.object({
|
|
|
78
160
|
});
|
|
79
161
|
var SignInResponseSchema = z.object({
|
|
80
162
|
accessToken: z.string(),
|
|
81
|
-
refreshToken: z.string(),
|
|
82
163
|
user: AuthUserSchema
|
|
83
164
|
});
|
|
84
165
|
var SignUpRequestSchema = z.object({
|
|
@@ -92,6 +173,20 @@ var SignUpRequestSchema = z.object({
|
|
|
92
173
|
country: z.string().trim().max(255),
|
|
93
174
|
city: z.string().trim().max(255)
|
|
94
175
|
});
|
|
176
|
+
var ActionTokenSchema = z.string().trim().min(40).max(500);
|
|
177
|
+
var RequestEmailVerificationSchema = z.object({
|
|
178
|
+
email: z.email().trim()
|
|
179
|
+
});
|
|
180
|
+
var ConfirmEmailSchema = z.object({
|
|
181
|
+
token: ActionTokenSchema
|
|
182
|
+
});
|
|
183
|
+
var ForgotPasswordSchema = z.object({
|
|
184
|
+
email: z.email().trim()
|
|
185
|
+
});
|
|
186
|
+
var ResetPasswordSchema = z.object({
|
|
187
|
+
token: ActionTokenSchema,
|
|
188
|
+
newPassword: z.string().trim().min(8).max(255)
|
|
189
|
+
});
|
|
95
190
|
|
|
96
191
|
// src/wallets/wallets.enum.ts
|
|
97
192
|
var WalletCurrency = /* @__PURE__ */ ((WalletCurrency2) => {
|
|
@@ -112,6 +207,12 @@ var WalletType = /* @__PURE__ */ ((WalletType2) => {
|
|
|
112
207
|
WalletType2["PREMIUM"] = "PREMIUM";
|
|
113
208
|
return WalletType2;
|
|
114
209
|
})(WalletType || {});
|
|
210
|
+
var MoneyAmountStringSchema = z.string().regex(/^\d+(\.\d{1,8})?$/, "Invalid money amount");
|
|
211
|
+
var MoneyViewSchema = z.object({
|
|
212
|
+
currency: CurrencyCodeSchema,
|
|
213
|
+
amount: MoneyAmountStringSchema,
|
|
214
|
+
rate: z.string()
|
|
215
|
+
});
|
|
115
216
|
|
|
116
217
|
// src/wallets/wallets.contract.ts
|
|
117
218
|
var WalletTypeSchema = z.enum(WalletType);
|
|
@@ -125,6 +226,8 @@ var WalletSchema = z.object({
|
|
|
125
226
|
blockedBalance: z.string(),
|
|
126
227
|
currency: WalletCurrencySchema,
|
|
127
228
|
status: WalletStatusSchema,
|
|
229
|
+
/** Баланс в валюте отображения пользователя (только для денежных кошельков). */
|
|
230
|
+
display: MoneyViewSchema.nullable().optional(),
|
|
128
231
|
createdAt: z.string().datetime(),
|
|
129
232
|
updatedAt: z.string().datetime()
|
|
130
233
|
});
|
|
@@ -164,7 +267,11 @@ var WalletTransactionReason = /* @__PURE__ */ ((WalletTransactionReason2) => {
|
|
|
164
267
|
WalletTransactionReason2["EXPIRATION"] = "EXPIRATION";
|
|
165
268
|
return WalletTransactionReason2;
|
|
166
269
|
})(WalletTransactionReason || {});
|
|
167
|
-
var MoneyAmountSchema = z.string().regex(
|
|
270
|
+
var MoneyAmountSchema = z.string().regex(
|
|
271
|
+
/^\d{1,16}(\.\d{1,2})?$/,
|
|
272
|
+
"Money amount must contain at most 16 integer and 2 decimal digits"
|
|
273
|
+
);
|
|
274
|
+
var WalletOperationKeySchema = z.string().trim().min(1).max(150).regex(/^[A-Za-z0-9][A-Za-z0-9:._-]*$/, "Invalid wallet operation key");
|
|
168
275
|
var WalletTransactionDirectionSchema = z.enum(
|
|
169
276
|
WalletTransactionDirection
|
|
170
277
|
);
|
|
@@ -177,6 +284,7 @@ var WalletTransactionSourceUserSchema = z.object({
|
|
|
177
284
|
});
|
|
178
285
|
var WalletTransactionSchema = z.object({
|
|
179
286
|
id: z.number().int().positive(),
|
|
287
|
+
operationKey: WalletOperationKeySchema,
|
|
180
288
|
walletId: z.number().int().positive(),
|
|
181
289
|
userId: z.number().int().positive(),
|
|
182
290
|
walletType: z.enum(WalletType),
|
|
@@ -195,9 +303,11 @@ var WalletTransactionSchema = z.object({
|
|
|
195
303
|
createdAt: z.string().datetime()
|
|
196
304
|
});
|
|
197
305
|
var WalletTransactionDetailsSchema = WalletTransactionSchema.extend({
|
|
198
|
-
sourceUser: WalletTransactionSourceUserSchema.nullable()
|
|
306
|
+
sourceUser: WalletTransactionSourceUserSchema.nullable(),
|
|
307
|
+
displayAmount: MoneyViewSchema.nullable().optional()
|
|
199
308
|
});
|
|
200
309
|
var CreateWalletTransactionRequestSchema = z.object({
|
|
310
|
+
operationKey: WalletOperationKeySchema,
|
|
201
311
|
userId: z.number().int().positive(),
|
|
202
312
|
walletType: z.enum(WalletType),
|
|
203
313
|
direction: WalletTransactionDirectionSchema,
|
|
@@ -221,7 +331,7 @@ var WalletTransactionDetailsListResponseSchema = z.array(
|
|
|
221
331
|
WalletTransactionDetailsSchema
|
|
222
332
|
);
|
|
223
333
|
var GetUserWalletTransactionsParamsSchema = z.object({
|
|
224
|
-
userId:
|
|
334
|
+
userId: DbIdSchema
|
|
225
335
|
});
|
|
226
336
|
var CountryResponseSchema = z.object({
|
|
227
337
|
name: z.string(),
|
|
@@ -237,7 +347,21 @@ var GetCitiesQuerySchema = z.object({
|
|
|
237
347
|
});
|
|
238
348
|
var CountriesResponseSchema = z.array(CountryResponseSchema);
|
|
239
349
|
var CitiesResponseSchema = z.array(CityResponseSchema);
|
|
350
|
+
var ExchangeRateSourceSchema = z.literal("manual");
|
|
351
|
+
var ExchangeRateSchema = z.object({
|
|
352
|
+
id: z.number().int().positive(),
|
|
353
|
+
currencyCode: CurrencyCodeSchema,
|
|
354
|
+
/** Сколько единиц валюты за 1 базовую валюту. */
|
|
355
|
+
ratePerBase: z.string(),
|
|
356
|
+
source: ExchangeRateSourceSchema,
|
|
357
|
+
createdAt: z.string().datetime(),
|
|
358
|
+
updatedAt: z.string().datetime()
|
|
359
|
+
});
|
|
360
|
+
var ExchangeRateListResponseSchema = z.array(ExchangeRateSchema);
|
|
361
|
+
var UpdateExchangeRateRequestSchema = z.object({
|
|
362
|
+
ratePerBase: RatePerBaseSchema
|
|
363
|
+
});
|
|
240
364
|
|
|
241
|
-
export { AuthUserSchema, BaseListQuerySchema, CitiesResponseSchema, CityResponseSchema, CountriesResponseSchema, CountryResponseSchema, CreateUserRequestSchema, CreateWalletTransactionRequestSchema, DateFromSchema, DateToSchema, GetCitiesQuerySchema, GetUserWalletByTypeParamsSchema, GetUserWalletTransactionsParamsSchema, GetUserWalletsParamsSchema, LimitSchema, MoneyAmountSchema, PageSchema, PaginationQuerySchema, RefreshResponseSchema, SearchSchema, SignInRequestSchema, SignInResponseSchema, SignUpRequestSchema, SortOrderSchema, UserListResponseSchema, UserRole, UserSchema, WalletCurrency, WalletCurrencySchema, WalletListResponseSchema, WalletSchema, WalletStatus, WalletStatusSchema, WalletTransactionDetailsListResponseSchema, WalletTransactionDetailsSchema, WalletTransactionDirection, WalletTransactionDirectionSchema, WalletTransactionListResponseSchema, WalletTransactionReason, WalletTransactionReasonSchema, WalletTransactionSchema, WalletTransactionSourceUserSchema, WalletTransactionStatus, WalletTransactionStatusSchema, WalletTransactionsListQuerySchema, WalletType, WalletTypeSchema };
|
|
365
|
+
export { AuthUserSchema, BaseListQuerySchema, ChangePasswordRequestSchema, CitiesResponseSchema, CityResponseSchema, ConfirmEmailSchema, CountriesResponseSchema, CountryResponseSchema, CreateCurrencyRequestSchema, CreateUserRequestSchema, CreateWalletTransactionRequestSchema, CurrencyCodeParamSchema, CurrencyCodeSchema, CurrencyListResponseSchema, CurrencySchema, DateFromSchema, DateToSchema, DbIdSchema, ExchangeRateListResponseSchema, ExchangeRateSchema, ExchangeRateSourceSchema, FileIdParamSchema, ForgotPasswordSchema, GetCitiesQuerySchema, GetUserWalletByTypeParamsSchema, GetUserWalletTransactionsParamsSchema, GetUserWalletsParamsSchema, INT4_MAX, LimitSchema, MoneyAmountSchema, MoneyAmountStringSchema, MoneyViewSchema, PageSchema, PaginationQuerySchema, RatePerBaseSchema, RefreshResponseSchema, 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 };
|
|
242
366
|
//# sourceMappingURL=index.mjs.map
|
|
243
367
|
//# sourceMappingURL=index.mjs.map
|