aivilife-contracts 5.5.0 → 6.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/README.md +36 -0
- package/dist/auth/index.d.mts +2 -1
- package/dist/auth/index.d.ts +2 -1
- package/dist/auth/index.js +130 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/index.mjs +130 -0
- package/dist/auth/index.mjs.map +1 -1
- package/dist/box/index.d.mts +437 -0
- package/dist/box/index.d.ts +437 -0
- package/dist/box/index.js +1355 -0
- package/dist/box/index.js.map +1 -0
- package/dist/box/index.mjs +1333 -0
- package/dist/box/index.mjs.map +1 -0
- package/dist/catalog/index.d.mts +5 -1
- package/dist/catalog/index.d.ts +5 -1
- package/dist/catalog/index.js +3 -0
- package/dist/catalog/index.js.map +1 -1
- package/dist/catalog/index.mjs +3 -0
- package/dist/catalog/index.mjs.map +1 -1
- package/dist/{marketing.enums-pV5acC3L.d.mts → index-DC3vBOFB.d.mts} +2 -12
- package/dist/{marketing.enums-pV5acC3L.d.ts → index-mteQAHWO.d.ts} +2 -12
- package/dist/index.d.mts +10 -51
- package/dist/index.d.ts +10 -51
- package/dist/index.js +560 -112
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +524 -113
- package/dist/index.mjs.map +1 -1
- package/dist/marketing/index.d.mts +212 -0
- package/dist/marketing/index.d.ts +212 -0
- package/dist/marketing/index.js +238 -0
- package/dist/marketing/index.js.map +1 -0
- package/dist/marketing/index.mjs +212 -0
- package/dist/marketing/index.mjs.map +1 -0
- package/dist/marketing.enums-CNJ2Ayc_.d.mts +26 -0
- package/dist/marketing.enums-CNJ2Ayc_.d.ts +26 -0
- package/dist/order/index.d.mts +35 -70
- package/dist/order/index.d.ts +35 -70
- package/dist/order/index.js +125 -20
- package/dist/order/index.js.map +1 -1
- package/dist/order/index.mjs +125 -21
- package/dist/order/index.mjs.map +1 -1
- package/dist/order.enums-DdujST4H.d.mts +68 -0
- package/dist/order.enums-DdujST4H.d.ts +68 -0
- package/dist/warehouse/index.d.mts +110 -1
- package/dist/warehouse/index.d.ts +110 -1
- package/dist/warehouse/index.js +93 -1
- package/dist/warehouse/index.js.map +1 -1
- package/dist/warehouse/index.mjs +92 -2
- package/dist/warehouse/index.mjs.map +1 -1
- package/package.json +11 -1
package/README.md
CHANGED
|
@@ -113,6 +113,42 @@ import {
|
|
|
113
113
|
} from 'aivilife-contracts/order';
|
|
114
114
|
```
|
|
115
115
|
|
|
116
|
+
### BOX
|
|
117
|
+
|
|
118
|
+
```typescript
|
|
119
|
+
import {
|
|
120
|
+
BoxSchema,
|
|
121
|
+
CreateBoxRequestSchema,
|
|
122
|
+
CreateBoxOrderRequestSchema,
|
|
123
|
+
type BoxResponse,
|
|
124
|
+
} from 'aivilife-contracts/box';
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Marketing
|
|
128
|
+
|
|
129
|
+
```typescript
|
|
130
|
+
import {
|
|
131
|
+
MarketingRankSchema,
|
|
132
|
+
CreateMarketingRankRequestSchema,
|
|
133
|
+
MarketingRankRewardType,
|
|
134
|
+
type MarketingRankResponse,
|
|
135
|
+
} from 'aivilife-contracts/marketing';
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## 6.0.0
|
|
139
|
+
|
|
140
|
+
- Added BOX administration, exact-PV product selection, warehouse availability and checkout contracts.
|
|
141
|
+
- Added BOX order snapshots and `PRODUCT`/`BOX` order types.
|
|
142
|
+
- Added product eligibility for BOX selection.
|
|
143
|
+
- Added standalone career-rank contracts with localized content, binary payout caps, PV, gift or combined PV-and-gift rewards, and configurable Matching levels.
|
|
144
|
+
- Added marketing volume and wallet transaction reasons required for BOX activation.
|
|
145
|
+
|
|
146
|
+
## 5.6.0
|
|
147
|
+
|
|
148
|
+
- Added administrative warehouse-network analytics with period filtering and warehouse comparison.
|
|
149
|
+
- Added current stock, reservation, paid-order demand, issued, replenished, written-off and transfer metrics.
|
|
150
|
+
- Added per-product analytics for a selected warehouse and activity/stagnation indicators.
|
|
151
|
+
|
|
116
152
|
## 5.5.0
|
|
117
153
|
|
|
118
154
|
- Added warehouse filtering to administrative order lists.
|
package/dist/auth/index.d.mts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { A as AuthUser, a as AuthUserSchema, C as ConfirmEmail,
|
|
1
|
+
export { A as AuthUser, a as AuthUserSchema, C as ConfirmEmail, b as ConfirmEmailChange, c as ConfirmEmailChangeSchema, d as ConfirmEmailSchema, F as ForgotPassword, e as ForgotPasswordSchema, R as RefreshResponse, f as RefreshResponseSchema, g as RegistrationAvailabilityRequest, h as RegistrationAvailabilityRequestSchema, i as RegistrationAvailabilityResponse, j as RegistrationAvailabilityResponseSchema, k as RegistrationEmailSchema, l as RegistrationLoginSchema, m as RegistrationPasswordSchema, n as RegistrationPhoneNumberSchema, o as RequestEmailChange, p as RequestEmailChangeSchema, q as RequestEmailVerification, r as RequestEmailVerificationSchema, s as ResetPassword, t as ResetPasswordSchema, S as SignInRequest, u as SignInRequestSchema, v as SignInResponse, w as SignInResponseSchema, x as SignUpRequest, y as SignUpRequestSchema } from '../index-DC3vBOFB.mjs';
|
|
2
2
|
import 'zod';
|
|
3
|
+
import '../marketing.enums-CNJ2Ayc_.mjs';
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { A as AuthUser, a as AuthUserSchema, C as ConfirmEmail,
|
|
1
|
+
export { A as AuthUser, a as AuthUserSchema, C as ConfirmEmail, b as ConfirmEmailChange, c as ConfirmEmailChangeSchema, d as ConfirmEmailSchema, F as ForgotPassword, e as ForgotPasswordSchema, R as RefreshResponse, f as RefreshResponseSchema, g as RegistrationAvailabilityRequest, h as RegistrationAvailabilityRequestSchema, i as RegistrationAvailabilityResponse, j as RegistrationAvailabilityResponseSchema, k as RegistrationEmailSchema, l as RegistrationLoginSchema, m as RegistrationPasswordSchema, n as RegistrationPhoneNumberSchema, o as RequestEmailChange, p as RequestEmailChangeSchema, q as RequestEmailVerification, r as RequestEmailVerificationSchema, s as ResetPassword, t as ResetPasswordSchema, S as SignInRequest, u as SignInRequestSchema, v as SignInResponse, w as SignInResponseSchema, x as SignUpRequest, y as SignUpRequestSchema } from '../index-mteQAHWO.js';
|
|
2
2
|
import 'zod';
|
|
3
|
+
import '../marketing.enums-CNJ2Ayc_.js';
|
package/dist/auth/index.js
CHANGED
|
@@ -199,8 +199,22 @@ var MarketingMemberStatus = /* @__PURE__ */ ((MarketingMemberStatus2) => {
|
|
|
199
199
|
MarketingMemberStatus2["BLOCKED"] = "BLOCKED";
|
|
200
200
|
return MarketingMemberStatus2;
|
|
201
201
|
})(MarketingMemberStatus || {});
|
|
202
|
+
var MarketingVolumeKind = /* @__PURE__ */ ((MarketingVolumeKind2) => {
|
|
203
|
+
MarketingVolumeKind2["PAYABLE_BINARY"] = "PAYABLE_BINARY";
|
|
204
|
+
MarketingVolumeKind2["RANK"] = "RANK";
|
|
205
|
+
return MarketingVolumeKind2;
|
|
206
|
+
})(MarketingVolumeKind || {});
|
|
207
|
+
var MarketingRankRewardType = /* @__PURE__ */ ((MarketingRankRewardType2) => {
|
|
208
|
+
MarketingRankRewardType2["NONE"] = "NONE";
|
|
209
|
+
MarketingRankRewardType2["PV"] = "PV";
|
|
210
|
+
MarketingRankRewardType2["GIFT"] = "GIFT";
|
|
211
|
+
MarketingRankRewardType2["PV_AND_GIFT"] = "PV_AND_GIFT";
|
|
212
|
+
return MarketingRankRewardType2;
|
|
213
|
+
})(MarketingRankRewardType || {});
|
|
202
214
|
var BinaryBranchSchema = zod.z.enum(BinaryBranch);
|
|
203
215
|
zod.z.enum(MarketingMemberStatus);
|
|
216
|
+
zod.z.enum(MarketingVolumeKind);
|
|
217
|
+
zod.z.enum(MarketingRankRewardType);
|
|
204
218
|
var MarketingPublicIdentifierSchema = zod.z.string().trim().min(3).max(255);
|
|
205
219
|
var MarketingInvitationTokenSchema = zod.z.string().trim().regex(/^[A-Za-z0-9_-]{43}$/);
|
|
206
220
|
var ManualMarketingPlacementSchema = zod.z.object({
|
|
@@ -227,6 +241,122 @@ var MarketingPlacementPreviewSchema = zod.z.object({
|
|
|
227
241
|
MarketingPlacementPreviewSchema.extend({
|
|
228
242
|
invitationToken: MarketingInvitationTokenSchema
|
|
229
243
|
});
|
|
244
|
+
var PublicIdSchema = zod.z.uuid();
|
|
245
|
+
var CodeSchema = zod.z.string().trim().toUpperCase().regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);
|
|
246
|
+
var PvSchema = zod.z.string().regex(/^\d{1,16}\.\d{2}$/);
|
|
247
|
+
var InputPvSchema = zod.z.string().trim().regex(/^\d{1,16}(?:\.\d{1,2})?$/);
|
|
248
|
+
var PercentSchema = zod.z.number().int().min(0).max(100);
|
|
249
|
+
var MarketingRankTranslationInputSchema = zod.z.object({
|
|
250
|
+
locale: AppLocaleSchema,
|
|
251
|
+
name: zod.z.string().trim().min(1).max(160),
|
|
252
|
+
description: zod.z.string().trim().max(2e3).nullable().optional(),
|
|
253
|
+
rewardName: zod.z.string().trim().max(255).nullable().optional()
|
|
254
|
+
});
|
|
255
|
+
var MarketingMatchingLevelInputSchema = zod.z.object({
|
|
256
|
+
level: zod.z.number().int().positive().max(1e3),
|
|
257
|
+
percent: PercentSchema
|
|
258
|
+
});
|
|
259
|
+
var UniqueTranslationsSchema = zod.z.array(MarketingRankTranslationInputSchema).min(1).max(4).refine(
|
|
260
|
+
(items) => new Set(items.map((item) => item.locale)).size === items.length,
|
|
261
|
+
"\u041F\u0435\u0440\u0435\u0432\u043E\u0434 \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u044F\u0437\u044B\u043A\u0430 \u043C\u043E\u0436\u043D\u043E \u043F\u0435\u0440\u0435\u0434\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0434\u0438\u043D \u0440\u0430\u0437"
|
|
262
|
+
);
|
|
263
|
+
var UniqueMatchingLevelsSchema = zod.z.array(MarketingMatchingLevelInputSchema).max(1e3).refine(
|
|
264
|
+
(items) => new Set(items.map((item) => item.level)).size === items.length,
|
|
265
|
+
"\u041A\u0430\u0436\u0434\u044B\u0439 \u0443\u0440\u043E\u0432\u0435\u043D\u044C Matching \u043C\u043E\u0436\u043D\u043E \u043F\u0435\u0440\u0435\u0434\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0434\u0438\u043D \u0440\u0430\u0437"
|
|
266
|
+
);
|
|
267
|
+
var MarketingRankFieldsSchema = zod.z.object({
|
|
268
|
+
code: CodeSchema,
|
|
269
|
+
sortOrder: zod.z.number().int().min(0).max(1e6),
|
|
270
|
+
isDefault: zod.z.boolean(),
|
|
271
|
+
requiredWeakLegPv: InputPvSchema,
|
|
272
|
+
maxBinaryPayoutPv: InputPvSchema.nullable(),
|
|
273
|
+
rewardType: zod.z.enum(MarketingRankRewardType),
|
|
274
|
+
rewardPv: InputPvSchema.nullable(),
|
|
275
|
+
rewardImageUrl: zod.z.url().max(2e3).nullable(),
|
|
276
|
+
translations: UniqueTranslationsSchema,
|
|
277
|
+
matchingLevels: UniqueMatchingLevelsSchema
|
|
278
|
+
});
|
|
279
|
+
var validateReward = (value, context) => {
|
|
280
|
+
const includesPv = value.rewardType === "PV" /* PV */ || value.rewardType === "PV_AND_GIFT" /* PV_AND_GIFT */;
|
|
281
|
+
const includesGift = value.rewardType === "GIFT" /* GIFT */ || value.rewardType === "PV_AND_GIFT" /* PV_AND_GIFT */;
|
|
282
|
+
if (includesPv && (!value.rewardPv || Number(value.rewardPv) <= 0)) {
|
|
283
|
+
context.addIssue({
|
|
284
|
+
code: "custom",
|
|
285
|
+
path: ["rewardPv"],
|
|
286
|
+
message: "\u0414\u043B\u044F PV-\u043D\u0430\u0433\u0440\u0430\u0434\u044B \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u0441\u0443\u043C\u043C\u0443 \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0443\u043B\u044F"
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
if (!includesPv && value.rewardPv !== null) {
|
|
290
|
+
context.addIssue({
|
|
291
|
+
code: "custom",
|
|
292
|
+
path: ["rewardPv"],
|
|
293
|
+
message: "PV \u043C\u043E\u0436\u043D\u043E \u0443\u043A\u0430\u0437\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F PV-\u043D\u0430\u0433\u0440\u0430\u0434\u044B"
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
if (includesGift && value.translations.some((item) => !item.rewardName)) {
|
|
297
|
+
context.addIssue({
|
|
298
|
+
code: "custom",
|
|
299
|
+
path: ["translations"],
|
|
300
|
+
message: "\u0414\u043B\u044F \u043F\u043E\u0434\u0430\u0440\u043A\u0430 \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043D\u0430\u0433\u0440\u0430\u0434\u044B \u043D\u0430 \u043A\u0430\u0436\u0434\u043E\u043C \u044F\u0437\u044B\u043A\u0435"
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
if (!includesGift && value.rewardImageUrl !== null) {
|
|
304
|
+
context.addIssue({
|
|
305
|
+
code: "custom",
|
|
306
|
+
path: ["rewardImageUrl"],
|
|
307
|
+
message: "\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043C\u043E\u0436\u043D\u043E \u0443\u043A\u0430\u0437\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u043F\u043E\u0434\u0430\u0440\u043A\u0430"
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
};
|
|
311
|
+
MarketingRankFieldsSchema.extend({
|
|
312
|
+
sortOrder: zod.z.number().int().min(0).max(1e6).default(0),
|
|
313
|
+
isDefault: zod.z.boolean().default(false),
|
|
314
|
+
maxBinaryPayoutPv: InputPvSchema.nullable().default(null),
|
|
315
|
+
rewardType: zod.z.enum(MarketingRankRewardType).default("NONE" /* NONE */),
|
|
316
|
+
rewardPv: InputPvSchema.nullable().default(null),
|
|
317
|
+
rewardImageUrl: zod.z.url().max(2e3).nullable().default(null),
|
|
318
|
+
matchingLevels: UniqueMatchingLevelsSchema.default([])
|
|
319
|
+
}).superRefine(validateReward);
|
|
320
|
+
MarketingRankFieldsSchema.partial().extend({ version: zod.z.number().int().positive() }).superRefine((value, context) => {
|
|
321
|
+
const includesPv = value.rewardType === "PV" /* PV */ || value.rewardType === "PV_AND_GIFT" /* PV_AND_GIFT */;
|
|
322
|
+
if (value.rewardType !== void 0 && !includesPv && value.rewardPv !== void 0 && value.rewardPv !== null) {
|
|
323
|
+
context.addIssue({
|
|
324
|
+
code: "custom",
|
|
325
|
+
path: ["rewardPv"],
|
|
326
|
+
message: "PV \u043C\u043E\u0436\u043D\u043E \u0443\u043A\u0430\u0437\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F PV-\u043D\u0430\u0433\u0440\u0430\u0434\u044B"
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
zod.z.object({
|
|
331
|
+
publicId: PublicIdSchema
|
|
332
|
+
});
|
|
333
|
+
var MarketingMatchingLevelSchema = MarketingMatchingLevelInputSchema.extend({ publicId: PublicIdSchema });
|
|
334
|
+
var MarketingRankSchema = zod.z.object({
|
|
335
|
+
publicId: PublicIdSchema,
|
|
336
|
+
code: CodeSchema,
|
|
337
|
+
sortOrder: zod.z.number().int().nonnegative(),
|
|
338
|
+
isDefault: zod.z.boolean(),
|
|
339
|
+
requiredWeakLegPv: PvSchema,
|
|
340
|
+
maxBinaryPayoutPv: PvSchema.nullable(),
|
|
341
|
+
rewardType: zod.z.enum(MarketingRankRewardType),
|
|
342
|
+
rewardPv: PvSchema.nullable(),
|
|
343
|
+
rewardImageUrl: zod.z.string().nullable(),
|
|
344
|
+
memberCount: zod.z.number().int().nonnegative(),
|
|
345
|
+
version: zod.z.number().int().positive(),
|
|
346
|
+
translations: zod.z.array(MarketingRankTranslationInputSchema),
|
|
347
|
+
matchingLevels: zod.z.array(MarketingMatchingLevelSchema),
|
|
348
|
+
createdAt: zod.z.iso.datetime(),
|
|
349
|
+
updatedAt: zod.z.iso.datetime()
|
|
350
|
+
});
|
|
351
|
+
zod.z.object({
|
|
352
|
+
items: zod.z.array(MarketingRankSchema),
|
|
353
|
+
meta: zod.z.object({
|
|
354
|
+
page: zod.z.number().int().positive(),
|
|
355
|
+
limit: zod.z.number().int().positive(),
|
|
356
|
+
total: zod.z.number().int().nonnegative(),
|
|
357
|
+
pageCount: zod.z.number().int().nonnegative()
|
|
358
|
+
})
|
|
359
|
+
});
|
|
230
360
|
|
|
231
361
|
// src/auth/sign-up.contract.ts
|
|
232
362
|
var RegistrationEmailSchema = zod.z.email("\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 email").trim().toLowerCase();
|
package/dist/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/user/user-role.enum.ts","../../src/currency/rate.schemas.ts","../../src/currency/currency.schemas.ts","../../src/localization/app-locale.enum.ts","../../src/localization/app-locale.schema.ts","../../src/user/user.schemas.ts","../../src/user/user-file-type.enum.ts","../../src/common/pagination.schemas.ts","../../src/common/list-query.schemas.ts","../../src/common/id.schemas.ts","../../src/user/user-file.schemas.ts","../../src/auth/auth-user.contract.ts","../../src/auth/refresh.contract.ts","../../src/auth/sign-in.contract.ts","../../src/marketing/marketing.enums.ts","../../src/marketing/marketing-invitation.contract.ts","../../src/auth/sign-up.contract.ts","../../src/auth/registration-availability.contract.ts","../../src/auth/account-actions.contract.ts"],"names":["UserRole","z","UserFileType","BinaryBranch","MarketingMemberStatus"],"mappings":"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","file":"index.js","sourcesContent":["export enum UserRole {\n ADMIN = 'admin',\n MANAGER = 'manager',\n STAFF = 'staff',\n PARTNER = 'partner',\n}\n","import { z } from 'zod';\n\n/** numeric(30,18): up to 12 integer and 18 fractional digits. */\nexport const RatePerBaseSchema = z\n .string()\n .regex(\n /^\\d{1,12}(\\.\\d{1,18})?$/,\n 'Rate must contain at most 12 integer and 18 decimal digits',\n )\n .refine((value) => /[1-9]/.test(value), 'Rate must be greater than zero');\n","import { z } from 'zod';\nimport { RatePerBaseSchema } from './rate.schemas';\n\n/** Код валюты ISO 4217 (3 заглавные буквы). */\nexport const CurrencyCodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z]{3}$/, 'Invalid ISO 4217 currency code');\n\nexport const CurrencyCodeParamSchema = z.object({\n code: CurrencyCodeSchema,\n});\n\nexport const CurrencySchema = z.object({\n id: z.number().int().positive(),\n code: CurrencyCodeSchema,\n name: z.string().trim().max(255),\n symbol: z.string().trim().max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n isBase: z.boolean(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const CurrencyListResponseSchema = z.array(CurrencySchema);\n\nexport const CreateCurrencyRequestSchema = z.object({\n code: CurrencyCodeSchema,\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8).default(2),\n isActive: z.boolean().default(true),\n ratePerBase: RatePerBaseSchema,\n});\n\nexport const UpdateCurrencyRequestSchema = z\n .object({\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n })\n .partial();\n","export const AppLocale = {\n RU: 'ru',\n KK: 'kk',\n UZ: 'uz',\n EN: 'en',\n} as const;\n\nexport type AppLocale = (typeof AppLocale)[keyof typeof AppLocale];\n\nexport const SupportedLocales = Object.values(\n AppLocale,\n) as readonly AppLocale[];\n","import { z } from 'zod';\nimport { AppLocale } from './app-locale.enum';\n\nexport const AppLocaleSchema = z.enum(AppLocale);\n","import { z } from 'zod';\nimport { UserRole } from './user-role.enum';\nimport { CurrencyCodeSchema } from '../currency/currency.schemas';\nimport { AppLocaleSchema } from '../localization/app-locale.schema';\n\nconst socialLink = (hosts: readonly string[]) =>\n z\n .url()\n .trim()\n .max(255)\n .refine((value) => {\n const url = new URL(value);\n return (\n url.protocol === 'https:' &&\n hosts.some(\n (host) => url.hostname === host || url.hostname === `www.${host}`,\n )\n );\n }, 'Укажите безопасную ссылку на соответствующую социальную сеть');\n\nexport const UserSchema = z.object({\n id: z.number().int().positive(),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n uuid: z.string().trim().max(255),\n isActive: z.boolean(),\n isEmailVerified: z.boolean(),\n isPhoneVerified: z.boolean(),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n whatsappLink: z.string().trim().max(255).nullable(),\n instagramLink: z.string().trim().max(255).nullable(),\n telegramLink: z.string().trim().max(255).nullable(),\n displayCurrency: CurrencyCodeSchema,\n locale: AppLocaleSchema,\n role: z.enum(UserRole),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const CreateUserRequestSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n password: z.string().trim().min(6).max(255),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const UpdateUserRequestSchema = z\n .object({\n firstName: z.string().trim().min(1).max(255),\n lastName: z.string().trim().min(1).max(255),\n phoneNumber: z.string().trim().min(7).max(20),\n city: z.string().trim().min(1).max(255),\n whatsappLink: socialLink(['wa.me', 'api.whatsapp.com']).nullable(),\n instagramLink: socialLink(['instagram.com']).nullable(),\n telegramLink: socialLink(['t.me', 'telegram.me']).nullable(),\n displayCurrency: CurrencyCodeSchema,\n locale: AppLocaleSchema,\n })\n .partial()\n .strict()\n .refine((value) => Object.keys(value).length > 0, {\n message: 'Передайте хотя бы одно поле для изменения',\n });\n\nexport const ChangePasswordRequestSchema = z\n .object({\n currentPassword: z.string().trim().min(6).max(255),\n newPassword: z.string().trim().min(6).max(255),\n })\n .refine((data) => data.currentPassword !== data.newPassword, {\n message: 'Новый пароль должен отличаться от текущего',\n path: ['newPassword'],\n });\n\nexport const UserListResponseSchema = z.array(UserSchema);\n","export enum UserFileType {\n PHOTO = 'PHOTO',\n DOCUMENT = 'DOCUMENT',\n}\n","import { z } from 'zod';\n\nexport const PageSchema = z.coerce.number().int().min(1).default(1);\nexport const LimitSchema = z.coerce.number().int().min(1).max(100).default(20);\nexport const SortOrderSchema = z.enum(['asc', 'desc']).default('desc');\n\nexport const PaginationQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n});\n","import { z } from 'zod';\nimport { LimitSchema, PageSchema, SortOrderSchema } from './pagination.schemas';\n\nexport const DateFromSchema = z.string().datetime().optional();\nexport const DateToSchema = z.string().datetime().optional();\n\nexport const SearchSchema = z.string().trim().min(1).max(255).optional();\n\nexport const BaseListQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n search: SearchSchema,\n dateFrom: DateFromSchema,\n dateTo: DateToSchema,\n sortOrder: SortOrderSchema.optional(),\n});\n","import { z } from 'zod';\n\n/** Максимум для Postgres int4 (SERIAL первичный ключ). */\nexport const INT4_MAX = 2147483647;\n\n/**\n * Идентификатор записи в БД (int4 PK).\n * Коэрсит строку из path/query в число и не пропускает значения вне диапазона\n * integer — иначе запрос падает в Postgres с `22003 out of range for type integer`.\n */\nexport const DbIdSchema = z.coerce.number().int().positive().max(INT4_MAX);\n\nexport type DbId = z.infer<typeof DbIdSchema>;\n","import { z } from 'zod';\nimport { UserFileType } from './user-file-type.enum';\nimport { DbIdSchema } from '../common';\n\nexport const UserFileSchema = z.object({\n id: z.number().int().positive(),\n userId: z.number().int().positive(),\n type: z.enum(UserFileType),\n url: z.string().url(),\n originalName: z.string().nullable(),\n mimeType: z.string().min(1).nullable(),\n sizeBytes: z.number().int().positive().nullable(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const UserFileListSchema = z.array(UserFileSchema);\n\n/** Path-параметр `:fileId` для операций с файлами пользователя. */\nexport const FileIdParamSchema = z.object({\n fileId: DbIdSchema,\n});\n\nexport type UserFile = z.infer<typeof UserFileSchema>;\nexport type UserFileList = z.infer<typeof UserFileListSchema>;\nexport type FileIdParam = z.infer<typeof FileIdParamSchema>;\n","import { z } from 'zod';\nimport { UserRole } from '../user';\n\nexport const AuthUserSchema = z.object({\n id: z.number(),\n login: z.string(),\n role: z.enum(UserRole),\n isActive: z.boolean(),\n});\n\nexport type AuthUser = z.infer<typeof AuthUserSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const RefreshResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type RefreshResponse = z.infer<typeof RefreshResponseSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const SignInRequestSchema = z.object({\n login: z\n .string('Логин должен быть строкой')\n .min(1, 'Логин не может быть пустым'),\n password: z\n .string('Пароль должен быть строкой')\n .min(1, 'Пароль не может быть пустым'),\n});\n\nexport const SignInResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type SignInRequest = z.infer<typeof SignInRequestSchema>;\nexport type SignInResponse = z.infer<typeof SignInResponseSchema>;\n","import { z } from 'zod';\n\nexport enum BinaryBranch {\n LEFT = 'LEFT',\n RIGHT = 'RIGHT',\n}\n\nexport enum MarketingMemberStatus {\n ACTIVE = 'ACTIVE',\n BLOCKED = 'BLOCKED',\n}\n\nexport const BinaryBranchSchema = z.enum(BinaryBranch);\nexport const MarketingMemberStatusSchema = z.enum(MarketingMemberStatus);\n","import { z } from 'zod';\nimport { BinaryBranchSchema } from './marketing.enums';\n\nexport const MarketingPublicIdentifierSchema = z\n .string()\n .trim()\n .min(3)\n .max(255);\n\nexport const MarketingInvitationTokenSchema = z\n .string()\n .trim()\n .regex(/^[A-Za-z0-9_-]{43}$/);\n\nexport const ManualMarketingPlacementSchema = z.object({\n sponsorId: MarketingPublicIdentifierSchema,\n leg: BinaryBranchSchema,\n});\n\nexport const InvitationMarketingPlacementSchema = z.object({\n invitationToken: MarketingInvitationTokenSchema,\n});\n\nexport const CreateMarketingInvitationRequestSchema = z.object({\n leg: BinaryBranchSchema,\n});\n\nexport const MarketingPlacementIdentitySchema = z.object({\n uuid: z.string().trim().min(1).max(255),\n login: z.string().trim().min(1).max(255),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n});\n\nexport const MarketingPlacementPreviewSchema = z.object({\n sponsor: MarketingPlacementIdentitySchema,\n leg: BinaryBranchSchema,\n expiresAt: z.iso.datetime().nullable(),\n});\n\nexport const CreateMarketingInvitationResponseSchema =\n MarketingPlacementPreviewSchema.extend({\n invitationToken: MarketingInvitationTokenSchema,\n });\n\nexport type ManualMarketingPlacement = z.infer<\n typeof ManualMarketingPlacementSchema\n>;\nexport type InvitationMarketingPlacement = z.infer<\n typeof InvitationMarketingPlacementSchema\n>;\nexport type CreateMarketingInvitationRequest = z.infer<\n typeof CreateMarketingInvitationRequestSchema\n>;\nexport type MarketingPlacementIdentity = z.infer<\n typeof MarketingPlacementIdentitySchema\n>;\nexport type MarketingPlacementPreview = z.infer<\n typeof MarketingPlacementPreviewSchema\n>;\nexport type CreateMarketingInvitationResponse = z.infer<\n typeof CreateMarketingInvitationResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n InvitationMarketingPlacementSchema,\n ManualMarketingPlacementSchema,\n} from '../marketing';\n\nexport const RegistrationEmailSchema = z\n .email('Введите корректный email')\n .trim()\n .toLowerCase();\n\nexport const RegistrationPhoneNumberSchema = z\n .string()\n .trim()\n .regex(/^\\+[1-9]\\d{7,14}$/, 'Введите корректный международный номер');\n\nexport const RegistrationLoginSchema = z\n .string()\n .trim()\n .min(3, 'Логин должен содержать не менее 3 символов')\n .max(255)\n .regex(/^[a-z0-9]+$/, 'Используйте только строчные латинские буквы и цифры');\n\nexport const RegistrationPasswordSchema = z\n .string()\n .min(6, 'Пароль должен содержать не менее 6 символов')\n .max(255);\n\nconst SignUpBaseSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: RegistrationEmailSchema,\n phoneNumber: RegistrationPhoneNumberSchema,\n login: RegistrationLoginSchema,\n password: RegistrationPasswordSchema,\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const SignUpRequestSchema = SignUpBaseSchema.extend({\n sponsorId: ManualMarketingPlacementSchema.shape.sponsorId.optional(),\n leg: ManualMarketingPlacementSchema.shape.leg.optional(),\n invitationToken:\n InvitationMarketingPlacementSchema.shape.invitationToken.optional(),\n}).superRefine((input, context) => {\n const hasInvitation = input.invitationToken !== undefined;\n const manualFields = [input.sponsorId, input.leg];\n const hasAnyManualField = manualFields.some((value) => value !== undefined);\n const hasEveryManualField = manualFields.every(\n (value) => value !== undefined,\n );\n\n if (\n hasInvitation === hasAnyManualField ||\n (!hasInvitation && !hasEveryManualField)\n ) {\n context.addIssue({\n code: 'custom',\n message: 'Передайте invitationToken или полный набор sponsorId и leg',\n path: ['invitationToken'],\n });\n }\n});\n\nexport type SignUpRequest = z.infer<typeof SignUpRequestSchema>;\n","import { z } from 'zod';\nimport {\n RegistrationEmailSchema,\n RegistrationLoginSchema,\n RegistrationPhoneNumberSchema,\n} from './sign-up.contract';\n\nexport const RegistrationAvailabilityRequestSchema = z\n .object({\n email: RegistrationEmailSchema.optional(),\n phoneNumber: RegistrationPhoneNumberSchema.optional(),\n login: RegistrationLoginSchema.optional(),\n })\n .refine(\n ({ email, phoneNumber, login }) =>\n email !== undefined || phoneNumber !== undefined || login !== undefined,\n 'Передайте хотя бы одно поле для проверки',\n );\n\nexport const RegistrationAvailabilityResponseSchema = z.object({\n emailAvailable: z.boolean().nullable(),\n phoneNumberAvailable: z.boolean().nullable(),\n loginAvailable: z.boolean().nullable(),\n});\n\nexport type RegistrationAvailabilityRequest = z.infer<\n typeof RegistrationAvailabilityRequestSchema\n>;\nexport type RegistrationAvailabilityResponse = z.infer<\n typeof RegistrationAvailabilityResponseSchema\n>;\n","import { z } from 'zod';\n\nconst ActionTokenSchema = z.string().trim().min(40).max(500);\n\nexport const RequestEmailVerificationSchema = z.object({\n email: z.email().trim(),\n});\n\nexport const ConfirmEmailSchema = z.object({\n token: ActionTokenSchema,\n});\n\nexport const RequestEmailChangeSchema = z.object({\n newEmail: z.email().trim(),\n currentPassword: z.string().trim().min(6).max(255),\n});\n\nexport const ConfirmEmailChangeSchema = z.object({\n token: ActionTokenSchema,\n});\n\nexport const ForgotPasswordSchema = z.object({\n email: z.email().trim(),\n});\n\nexport const ResetPasswordSchema = z.object({\n token: ActionTokenSchema,\n newPassword: z.string().trim().min(8).max(255),\n});\n\nexport type RequestEmailVerification = z.infer<\n typeof RequestEmailVerificationSchema\n>;\nexport type ConfirmEmail = z.infer<typeof ConfirmEmailSchema>;\nexport type RequestEmailChange = z.infer<typeof RequestEmailChangeSchema>;\nexport type ConfirmEmailChange = z.infer<typeof ConfirmEmailChangeSchema>;\nexport type ForgotPassword = z.infer<typeof ForgotPasswordSchema>;\nexport type ResetPassword = z.infer<typeof ResetPasswordSchema>;\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/user/user-role.enum.ts","../../src/currency/rate.schemas.ts","../../src/currency/currency.schemas.ts","../../src/localization/app-locale.enum.ts","../../src/localization/app-locale.schema.ts","../../src/user/user.schemas.ts","../../src/user/user-file-type.enum.ts","../../src/common/pagination.schemas.ts","../../src/common/list-query.schemas.ts","../../src/common/id.schemas.ts","../../src/user/user-file.schemas.ts","../../src/auth/auth-user.contract.ts","../../src/auth/refresh.contract.ts","../../src/auth/sign-in.contract.ts","../../src/marketing/marketing.enums.ts","../../src/marketing/marketing-invitation.contract.ts","../../src/marketing/marketing-rank.contract.ts","../../src/auth/sign-up.contract.ts","../../src/auth/registration-availability.contract.ts","../../src/auth/account-actions.contract.ts"],"names":["UserRole","z","UserFileType","BinaryBranch","MarketingMemberStatus","MarketingVolumeKind","MarketingRankRewardType"],"mappings":"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","file":"index.js","sourcesContent":["export enum UserRole {\n ADMIN = 'admin',\n MANAGER = 'manager',\n STAFF = 'staff',\n PARTNER = 'partner',\n}\n","import { z } from 'zod';\n\n/** numeric(30,18): up to 12 integer and 18 fractional digits. */\nexport const RatePerBaseSchema = z\n .string()\n .regex(\n /^\\d{1,12}(\\.\\d{1,18})?$/,\n 'Rate must contain at most 12 integer and 18 decimal digits',\n )\n .refine((value) => /[1-9]/.test(value), 'Rate must be greater than zero');\n","import { z } from 'zod';\nimport { RatePerBaseSchema } from './rate.schemas';\n\n/** Код валюты ISO 4217 (3 заглавные буквы). */\nexport const CurrencyCodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z]{3}$/, 'Invalid ISO 4217 currency code');\n\nexport const CurrencyCodeParamSchema = z.object({\n code: CurrencyCodeSchema,\n});\n\nexport const CurrencySchema = z.object({\n id: z.number().int().positive(),\n code: CurrencyCodeSchema,\n name: z.string().trim().max(255),\n symbol: z.string().trim().max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n isBase: z.boolean(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const CurrencyListResponseSchema = z.array(CurrencySchema);\n\nexport const CreateCurrencyRequestSchema = z.object({\n code: CurrencyCodeSchema,\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8).default(2),\n isActive: z.boolean().default(true),\n ratePerBase: RatePerBaseSchema,\n});\n\nexport const UpdateCurrencyRequestSchema = z\n .object({\n name: z.string().trim().min(1).max(255),\n symbol: z.string().trim().min(1).max(10),\n decimalDigits: z.number().int().min(0).max(8),\n isActive: z.boolean(),\n })\n .partial();\n","export const AppLocale = {\n RU: 'ru',\n KK: 'kk',\n UZ: 'uz',\n EN: 'en',\n} as const;\n\nexport type AppLocale = (typeof AppLocale)[keyof typeof AppLocale];\n\nexport const SupportedLocales = Object.values(\n AppLocale,\n) as readonly AppLocale[];\n","import { z } from 'zod';\nimport { AppLocale } from './app-locale.enum';\n\nexport const AppLocaleSchema = z.enum(AppLocale);\n","import { z } from 'zod';\nimport { UserRole } from './user-role.enum';\nimport { CurrencyCodeSchema } from '../currency/currency.schemas';\nimport { AppLocaleSchema } from '../localization/app-locale.schema';\n\nconst socialLink = (hosts: readonly string[]) =>\n z\n .url()\n .trim()\n .max(255)\n .refine((value) => {\n const url = new URL(value);\n return (\n url.protocol === 'https:' &&\n hosts.some(\n (host) => url.hostname === host || url.hostname === `www.${host}`,\n )\n );\n }, 'Укажите безопасную ссылку на соответствующую социальную сеть');\n\nexport const UserSchema = z.object({\n id: z.number().int().positive(),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n uuid: z.string().trim().max(255),\n isActive: z.boolean(),\n isEmailVerified: z.boolean(),\n isPhoneVerified: z.boolean(),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n whatsappLink: z.string().trim().max(255).nullable(),\n instagramLink: z.string().trim().max(255).nullable(),\n telegramLink: z.string().trim().max(255).nullable(),\n displayCurrency: CurrencyCodeSchema,\n locale: AppLocaleSchema,\n role: z.enum(UserRole),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const CreateUserRequestSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: z.email().trim(),\n phoneNumber: z.string().trim().max(20),\n login: z.string().trim().max(255),\n password: z.string().trim().min(6).max(255),\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const UpdateUserRequestSchema = z\n .object({\n firstName: z.string().trim().min(1).max(255),\n lastName: z.string().trim().min(1).max(255),\n phoneNumber: z.string().trim().min(7).max(20),\n city: z.string().trim().min(1).max(255),\n whatsappLink: socialLink(['wa.me', 'api.whatsapp.com']).nullable(),\n instagramLink: socialLink(['instagram.com']).nullable(),\n telegramLink: socialLink(['t.me', 'telegram.me']).nullable(),\n displayCurrency: CurrencyCodeSchema,\n locale: AppLocaleSchema,\n })\n .partial()\n .strict()\n .refine((value) => Object.keys(value).length > 0, {\n message: 'Передайте хотя бы одно поле для изменения',\n });\n\nexport const ChangePasswordRequestSchema = z\n .object({\n currentPassword: z.string().trim().min(6).max(255),\n newPassword: z.string().trim().min(6).max(255),\n })\n .refine((data) => data.currentPassword !== data.newPassword, {\n message: 'Новый пароль должен отличаться от текущего',\n path: ['newPassword'],\n });\n\nexport const UserListResponseSchema = z.array(UserSchema);\n","export enum UserFileType {\n PHOTO = 'PHOTO',\n DOCUMENT = 'DOCUMENT',\n}\n","import { z } from 'zod';\n\nexport const PageSchema = z.coerce.number().int().min(1).default(1);\nexport const LimitSchema = z.coerce.number().int().min(1).max(100).default(20);\nexport const SortOrderSchema = z.enum(['asc', 'desc']).default('desc');\n\nexport const PaginationQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n});\n","import { z } from 'zod';\nimport { LimitSchema, PageSchema, SortOrderSchema } from './pagination.schemas';\n\nexport const DateFromSchema = z.string().datetime().optional();\nexport const DateToSchema = z.string().datetime().optional();\n\nexport const SearchSchema = z.string().trim().min(1).max(255).optional();\n\nexport const BaseListQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n search: SearchSchema,\n dateFrom: DateFromSchema,\n dateTo: DateToSchema,\n sortOrder: SortOrderSchema.optional(),\n});\n","import { z } from 'zod';\n\n/** Максимум для Postgres int4 (SERIAL первичный ключ). */\nexport const INT4_MAX = 2147483647;\n\n/**\n * Идентификатор записи в БД (int4 PK).\n * Коэрсит строку из path/query в число и не пропускает значения вне диапазона\n * integer — иначе запрос падает в Postgres с `22003 out of range for type integer`.\n */\nexport const DbIdSchema = z.coerce.number().int().positive().max(INT4_MAX);\n\nexport type DbId = z.infer<typeof DbIdSchema>;\n","import { z } from 'zod';\nimport { UserFileType } from './user-file-type.enum';\nimport { DbIdSchema } from '../common';\n\nexport const UserFileSchema = z.object({\n id: z.number().int().positive(),\n userId: z.number().int().positive(),\n type: z.enum(UserFileType),\n url: z.string().url(),\n originalName: z.string().nullable(),\n mimeType: z.string().min(1).nullable(),\n sizeBytes: z.number().int().positive().nullable(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const UserFileListSchema = z.array(UserFileSchema);\n\n/** Path-параметр `:fileId` для операций с файлами пользователя. */\nexport const FileIdParamSchema = z.object({\n fileId: DbIdSchema,\n});\n\nexport type UserFile = z.infer<typeof UserFileSchema>;\nexport type UserFileList = z.infer<typeof UserFileListSchema>;\nexport type FileIdParam = z.infer<typeof FileIdParamSchema>;\n","import { z } from 'zod';\nimport { UserRole } from '../user';\n\nexport const AuthUserSchema = z.object({\n id: z.number(),\n login: z.string(),\n role: z.enum(UserRole),\n isActive: z.boolean(),\n});\n\nexport type AuthUser = z.infer<typeof AuthUserSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const RefreshResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type RefreshResponse = z.infer<typeof RefreshResponseSchema>;\n","import { z } from 'zod';\nimport { AuthUserSchema } from './auth-user.contract';\n\nexport const SignInRequestSchema = z.object({\n login: z\n .string('Логин должен быть строкой')\n .min(1, 'Логин не может быть пустым'),\n password: z\n .string('Пароль должен быть строкой')\n .min(1, 'Пароль не может быть пустым'),\n});\n\nexport const SignInResponseSchema = z.object({\n accessToken: z.string(),\n user: AuthUserSchema,\n});\n\nexport type SignInRequest = z.infer<typeof SignInRequestSchema>;\nexport type SignInResponse = z.infer<typeof SignInResponseSchema>;\n","import { z } from 'zod';\n\nexport enum BinaryBranch {\n LEFT = 'LEFT',\n RIGHT = 'RIGHT',\n}\n\nexport enum MarketingMemberStatus {\n ACTIVE = 'ACTIVE',\n BLOCKED = 'BLOCKED',\n}\n\nexport enum MarketingVolumeKind {\n PAYABLE_BINARY = 'PAYABLE_BINARY',\n RANK = 'RANK',\n}\n\nexport enum MarketingRankRewardType {\n NONE = 'NONE',\n PV = 'PV',\n GIFT = 'GIFT',\n PV_AND_GIFT = 'PV_AND_GIFT',\n}\n\nexport const BinaryBranchSchema = z.enum(BinaryBranch);\nexport const MarketingMemberStatusSchema = z.enum(MarketingMemberStatus);\nexport const MarketingVolumeKindSchema = z.enum(MarketingVolumeKind);\nexport const MarketingRankRewardTypeSchema = z.enum(MarketingRankRewardType);\n","import { z } from 'zod';\nimport { BinaryBranchSchema } from './marketing.enums';\n\nexport const MarketingPublicIdentifierSchema = z\n .string()\n .trim()\n .min(3)\n .max(255);\n\nexport const MarketingInvitationTokenSchema = z\n .string()\n .trim()\n .regex(/^[A-Za-z0-9_-]{43}$/);\n\nexport const ManualMarketingPlacementSchema = z.object({\n sponsorId: MarketingPublicIdentifierSchema,\n leg: BinaryBranchSchema,\n});\n\nexport const InvitationMarketingPlacementSchema = z.object({\n invitationToken: MarketingInvitationTokenSchema,\n});\n\nexport const CreateMarketingInvitationRequestSchema = z.object({\n leg: BinaryBranchSchema,\n});\n\nexport const MarketingPlacementIdentitySchema = z.object({\n uuid: z.string().trim().min(1).max(255),\n login: z.string().trim().min(1).max(255),\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n});\n\nexport const MarketingPlacementPreviewSchema = z.object({\n sponsor: MarketingPlacementIdentitySchema,\n leg: BinaryBranchSchema,\n expiresAt: z.iso.datetime().nullable(),\n});\n\nexport const CreateMarketingInvitationResponseSchema =\n MarketingPlacementPreviewSchema.extend({\n invitationToken: MarketingInvitationTokenSchema,\n });\n\nexport type ManualMarketingPlacement = z.infer<\n typeof ManualMarketingPlacementSchema\n>;\nexport type InvitationMarketingPlacement = z.infer<\n typeof InvitationMarketingPlacementSchema\n>;\nexport type CreateMarketingInvitationRequest = z.infer<\n typeof CreateMarketingInvitationRequestSchema\n>;\nexport type MarketingPlacementIdentity = z.infer<\n typeof MarketingPlacementIdentitySchema\n>;\nexport type MarketingPlacementPreview = z.infer<\n typeof MarketingPlacementPreviewSchema\n>;\nexport type CreateMarketingInvitationResponse = z.infer<\n typeof CreateMarketingInvitationResponseSchema\n>;\n","import { z } from 'zod';\nimport { AppLocaleSchema } from '../localization/app-locale.schema';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport { MarketingRankRewardType } from './marketing.enums';\n\nconst PublicIdSchema = z.uuid();\nconst CodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);\nconst PvSchema = z.string().regex(/^\\d{1,16}\\.\\d{2}$/);\nconst InputPvSchema = z\n .string()\n .trim()\n .regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/);\nconst PercentSchema = z.number().int().min(0).max(100);\n\nexport const MarketingRankTranslationInputSchema = z.object({\n locale: AppLocaleSchema,\n name: z.string().trim().min(1).max(160),\n description: z.string().trim().max(2_000).nullable().optional(),\n rewardName: z.string().trim().max(255).nullable().optional(),\n});\n\nexport const MarketingMatchingLevelInputSchema = z.object({\n level: z.number().int().positive().max(1_000),\n percent: PercentSchema,\n});\n\nconst UniqueTranslationsSchema = z\n .array(MarketingRankTranslationInputSchema)\n .min(1)\n .max(4)\n .refine(\n (items) => new Set(items.map((item) => item.locale)).size === items.length,\n 'Перевод для каждого языка можно передать только один раз',\n );\n\nconst UniqueMatchingLevelsSchema = z\n .array(MarketingMatchingLevelInputSchema)\n .max(1_000)\n .refine(\n (items) => new Set(items.map((item) => item.level)).size === items.length,\n 'Каждый уровень Matching можно передать только один раз',\n );\n\nconst MarketingRankFieldsSchema = z.object({\n code: CodeSchema,\n sortOrder: z.number().int().min(0).max(1_000_000),\n isDefault: z.boolean(),\n requiredWeakLegPv: InputPvSchema,\n maxBinaryPayoutPv: InputPvSchema.nullable(),\n rewardType: z.enum(MarketingRankRewardType),\n rewardPv: InputPvSchema.nullable(),\n rewardImageUrl: z.url().max(2_000).nullable(),\n translations: UniqueTranslationsSchema,\n matchingLevels: UniqueMatchingLevelsSchema,\n});\n\nconst validateReward = (\n value: z.infer<typeof MarketingRankFieldsSchema>,\n context: z.RefinementCtx,\n) => {\n const includesPv =\n value.rewardType === MarketingRankRewardType.PV ||\n value.rewardType === MarketingRankRewardType.PV_AND_GIFT;\n const includesGift =\n value.rewardType === MarketingRankRewardType.GIFT ||\n value.rewardType === MarketingRankRewardType.PV_AND_GIFT;\n if (includesPv && (!value.rewardPv || Number(value.rewardPv) <= 0)) {\n context.addIssue({\n code: 'custom',\n path: ['rewardPv'],\n message: 'Для PV-награды укажите сумму больше нуля',\n });\n }\n if (!includesPv && value.rewardPv !== null) {\n context.addIssue({\n code: 'custom',\n path: ['rewardPv'],\n message: 'PV можно указать только для PV-награды',\n });\n }\n if (includesGift && value.translations.some((item) => !item.rewardName)) {\n context.addIssue({\n code: 'custom',\n path: ['translations'],\n message: 'Для подарка укажите название награды на каждом языке',\n });\n }\n if (!includesGift && value.rewardImageUrl !== null) {\n context.addIssue({\n code: 'custom',\n path: ['rewardImageUrl'],\n message: 'Изображение можно указать только для подарка',\n });\n }\n};\n\nexport const CreateMarketingRankRequestSchema =\n MarketingRankFieldsSchema.extend({\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n isDefault: z.boolean().default(false),\n maxBinaryPayoutPv: InputPvSchema.nullable().default(null),\n rewardType: z\n .enum(MarketingRankRewardType)\n .default(MarketingRankRewardType.NONE),\n rewardPv: InputPvSchema.nullable().default(null),\n rewardImageUrl: z.url().max(2_000).nullable().default(null),\n matchingLevels: UniqueMatchingLevelsSchema.default([]),\n }).superRefine(validateReward);\n\nexport const UpdateMarketingRankRequestSchema =\n MarketingRankFieldsSchema.partial()\n .extend({ version: z.number().int().positive() })\n .superRefine((value, context) => {\n const includesPv =\n value.rewardType === MarketingRankRewardType.PV ||\n value.rewardType === MarketingRankRewardType.PV_AND_GIFT;\n if (\n value.rewardType !== undefined &&\n !includesPv &&\n value.rewardPv !== undefined &&\n value.rewardPv !== null\n ) {\n context.addIssue({\n code: 'custom',\n path: ['rewardPv'],\n message: 'PV можно указать только для PV-награды',\n });\n }\n });\n\nexport const MarketingRankPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\n\nexport const MarketingRankListQuerySchema = BaseListQuerySchema;\n\nexport const MarketingMatchingLevelSchema =\n MarketingMatchingLevelInputSchema.extend({ publicId: PublicIdSchema });\n\nexport const MarketingRankSchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n sortOrder: z.number().int().nonnegative(),\n isDefault: z.boolean(),\n requiredWeakLegPv: PvSchema,\n maxBinaryPayoutPv: PvSchema.nullable(),\n rewardType: z.enum(MarketingRankRewardType),\n rewardPv: PvSchema.nullable(),\n rewardImageUrl: z.string().nullable(),\n memberCount: z.number().int().nonnegative(),\n version: z.number().int().positive(),\n translations: z.array(MarketingRankTranslationInputSchema),\n matchingLevels: z.array(MarketingMatchingLevelSchema),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const MarketingRankListResponseSchema = z.object({\n items: z.array(MarketingRankSchema),\n meta: z.object({\n page: z.number().int().positive(),\n limit: z.number().int().positive(),\n total: z.number().int().nonnegative(),\n pageCount: z.number().int().nonnegative(),\n }),\n});\n\nexport type CreateMarketingRankRequest = z.infer<\n typeof CreateMarketingRankRequestSchema\n>;\nexport type UpdateMarketingRankRequest = z.infer<\n typeof UpdateMarketingRankRequestSchema\n>;\nexport type MarketingRankListQuery = z.infer<\n typeof MarketingRankListQuerySchema\n>;\nexport type MarketingRankResponse = z.infer<typeof MarketingRankSchema>;\nexport type MarketingRankListResponse = z.infer<\n typeof MarketingRankListResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n InvitationMarketingPlacementSchema,\n ManualMarketingPlacementSchema,\n} from '../marketing';\n\nexport const RegistrationEmailSchema = z\n .email('Введите корректный email')\n .trim()\n .toLowerCase();\n\nexport const RegistrationPhoneNumberSchema = z\n .string()\n .trim()\n .regex(/^\\+[1-9]\\d{7,14}$/, 'Введите корректный международный номер');\n\nexport const RegistrationLoginSchema = z\n .string()\n .trim()\n .min(3, 'Логин должен содержать не менее 3 символов')\n .max(255)\n .regex(/^[a-z0-9]+$/, 'Используйте только строчные латинские буквы и цифры');\n\nexport const RegistrationPasswordSchema = z\n .string()\n .min(6, 'Пароль должен содержать не менее 6 символов')\n .max(255);\n\nconst SignUpBaseSchema = z.object({\n firstName: z.string().trim().max(255),\n lastName: z.string().trim().max(255),\n email: RegistrationEmailSchema,\n phoneNumber: RegistrationPhoneNumberSchema,\n login: RegistrationLoginSchema,\n password: RegistrationPasswordSchema,\n countryCode: z.string().trim().length(2),\n country: z.string().trim().max(255),\n city: z.string().trim().max(255),\n});\n\nexport const SignUpRequestSchema = SignUpBaseSchema.extend({\n sponsorId: ManualMarketingPlacementSchema.shape.sponsorId.optional(),\n leg: ManualMarketingPlacementSchema.shape.leg.optional(),\n invitationToken:\n InvitationMarketingPlacementSchema.shape.invitationToken.optional(),\n}).superRefine((input, context) => {\n const hasInvitation = input.invitationToken !== undefined;\n const manualFields = [input.sponsorId, input.leg];\n const hasAnyManualField = manualFields.some((value) => value !== undefined);\n const hasEveryManualField = manualFields.every(\n (value) => value !== undefined,\n );\n\n if (\n hasInvitation === hasAnyManualField ||\n (!hasInvitation && !hasEveryManualField)\n ) {\n context.addIssue({\n code: 'custom',\n message: 'Передайте invitationToken или полный набор sponsorId и leg',\n path: ['invitationToken'],\n });\n }\n});\n\nexport type SignUpRequest = z.infer<typeof SignUpRequestSchema>;\n","import { z } from 'zod';\nimport {\n RegistrationEmailSchema,\n RegistrationLoginSchema,\n RegistrationPhoneNumberSchema,\n} from './sign-up.contract';\n\nexport const RegistrationAvailabilityRequestSchema = z\n .object({\n email: RegistrationEmailSchema.optional(),\n phoneNumber: RegistrationPhoneNumberSchema.optional(),\n login: RegistrationLoginSchema.optional(),\n })\n .refine(\n ({ email, phoneNumber, login }) =>\n email !== undefined || phoneNumber !== undefined || login !== undefined,\n 'Передайте хотя бы одно поле для проверки',\n );\n\nexport const RegistrationAvailabilityResponseSchema = z.object({\n emailAvailable: z.boolean().nullable(),\n phoneNumberAvailable: z.boolean().nullable(),\n loginAvailable: z.boolean().nullable(),\n});\n\nexport type RegistrationAvailabilityRequest = z.infer<\n typeof RegistrationAvailabilityRequestSchema\n>;\nexport type RegistrationAvailabilityResponse = z.infer<\n typeof RegistrationAvailabilityResponseSchema\n>;\n","import { z } from 'zod';\n\nconst ActionTokenSchema = z.string().trim().min(40).max(500);\n\nexport const RequestEmailVerificationSchema = z.object({\n email: z.email().trim(),\n});\n\nexport const ConfirmEmailSchema = z.object({\n token: ActionTokenSchema,\n});\n\nexport const RequestEmailChangeSchema = z.object({\n newEmail: z.email().trim(),\n currentPassword: z.string().trim().min(6).max(255),\n});\n\nexport const ConfirmEmailChangeSchema = z.object({\n token: ActionTokenSchema,\n});\n\nexport const ForgotPasswordSchema = z.object({\n email: z.email().trim(),\n});\n\nexport const ResetPasswordSchema = z.object({\n token: ActionTokenSchema,\n newPassword: z.string().trim().min(8).max(255),\n});\n\nexport type RequestEmailVerification = z.infer<\n typeof RequestEmailVerificationSchema\n>;\nexport type ConfirmEmail = z.infer<typeof ConfirmEmailSchema>;\nexport type RequestEmailChange = z.infer<typeof RequestEmailChangeSchema>;\nexport type ConfirmEmailChange = z.infer<typeof ConfirmEmailChangeSchema>;\nexport type ForgotPassword = z.infer<typeof ForgotPasswordSchema>;\nexport type ResetPassword = z.infer<typeof ResetPasswordSchema>;\n"]}
|
package/dist/auth/index.mjs
CHANGED
|
@@ -197,8 +197,22 @@ var MarketingMemberStatus = /* @__PURE__ */ ((MarketingMemberStatus2) => {
|
|
|
197
197
|
MarketingMemberStatus2["BLOCKED"] = "BLOCKED";
|
|
198
198
|
return MarketingMemberStatus2;
|
|
199
199
|
})(MarketingMemberStatus || {});
|
|
200
|
+
var MarketingVolumeKind = /* @__PURE__ */ ((MarketingVolumeKind2) => {
|
|
201
|
+
MarketingVolumeKind2["PAYABLE_BINARY"] = "PAYABLE_BINARY";
|
|
202
|
+
MarketingVolumeKind2["RANK"] = "RANK";
|
|
203
|
+
return MarketingVolumeKind2;
|
|
204
|
+
})(MarketingVolumeKind || {});
|
|
205
|
+
var MarketingRankRewardType = /* @__PURE__ */ ((MarketingRankRewardType2) => {
|
|
206
|
+
MarketingRankRewardType2["NONE"] = "NONE";
|
|
207
|
+
MarketingRankRewardType2["PV"] = "PV";
|
|
208
|
+
MarketingRankRewardType2["GIFT"] = "GIFT";
|
|
209
|
+
MarketingRankRewardType2["PV_AND_GIFT"] = "PV_AND_GIFT";
|
|
210
|
+
return MarketingRankRewardType2;
|
|
211
|
+
})(MarketingRankRewardType || {});
|
|
200
212
|
var BinaryBranchSchema = z.enum(BinaryBranch);
|
|
201
213
|
z.enum(MarketingMemberStatus);
|
|
214
|
+
z.enum(MarketingVolumeKind);
|
|
215
|
+
z.enum(MarketingRankRewardType);
|
|
202
216
|
var MarketingPublicIdentifierSchema = z.string().trim().min(3).max(255);
|
|
203
217
|
var MarketingInvitationTokenSchema = z.string().trim().regex(/^[A-Za-z0-9_-]{43}$/);
|
|
204
218
|
var ManualMarketingPlacementSchema = z.object({
|
|
@@ -225,6 +239,122 @@ var MarketingPlacementPreviewSchema = z.object({
|
|
|
225
239
|
MarketingPlacementPreviewSchema.extend({
|
|
226
240
|
invitationToken: MarketingInvitationTokenSchema
|
|
227
241
|
});
|
|
242
|
+
var PublicIdSchema = z.uuid();
|
|
243
|
+
var CodeSchema = z.string().trim().toUpperCase().regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);
|
|
244
|
+
var PvSchema = z.string().regex(/^\d{1,16}\.\d{2}$/);
|
|
245
|
+
var InputPvSchema = z.string().trim().regex(/^\d{1,16}(?:\.\d{1,2})?$/);
|
|
246
|
+
var PercentSchema = z.number().int().min(0).max(100);
|
|
247
|
+
var MarketingRankTranslationInputSchema = z.object({
|
|
248
|
+
locale: AppLocaleSchema,
|
|
249
|
+
name: z.string().trim().min(1).max(160),
|
|
250
|
+
description: z.string().trim().max(2e3).nullable().optional(),
|
|
251
|
+
rewardName: z.string().trim().max(255).nullable().optional()
|
|
252
|
+
});
|
|
253
|
+
var MarketingMatchingLevelInputSchema = z.object({
|
|
254
|
+
level: z.number().int().positive().max(1e3),
|
|
255
|
+
percent: PercentSchema
|
|
256
|
+
});
|
|
257
|
+
var UniqueTranslationsSchema = z.array(MarketingRankTranslationInputSchema).min(1).max(4).refine(
|
|
258
|
+
(items) => new Set(items.map((item) => item.locale)).size === items.length,
|
|
259
|
+
"\u041F\u0435\u0440\u0435\u0432\u043E\u0434 \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u044F\u0437\u044B\u043A\u0430 \u043C\u043E\u0436\u043D\u043E \u043F\u0435\u0440\u0435\u0434\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0434\u0438\u043D \u0440\u0430\u0437"
|
|
260
|
+
);
|
|
261
|
+
var UniqueMatchingLevelsSchema = z.array(MarketingMatchingLevelInputSchema).max(1e3).refine(
|
|
262
|
+
(items) => new Set(items.map((item) => item.level)).size === items.length,
|
|
263
|
+
"\u041A\u0430\u0436\u0434\u044B\u0439 \u0443\u0440\u043E\u0432\u0435\u043D\u044C Matching \u043C\u043E\u0436\u043D\u043E \u043F\u0435\u0440\u0435\u0434\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0434\u0438\u043D \u0440\u0430\u0437"
|
|
264
|
+
);
|
|
265
|
+
var MarketingRankFieldsSchema = z.object({
|
|
266
|
+
code: CodeSchema,
|
|
267
|
+
sortOrder: z.number().int().min(0).max(1e6),
|
|
268
|
+
isDefault: z.boolean(),
|
|
269
|
+
requiredWeakLegPv: InputPvSchema,
|
|
270
|
+
maxBinaryPayoutPv: InputPvSchema.nullable(),
|
|
271
|
+
rewardType: z.enum(MarketingRankRewardType),
|
|
272
|
+
rewardPv: InputPvSchema.nullable(),
|
|
273
|
+
rewardImageUrl: z.url().max(2e3).nullable(),
|
|
274
|
+
translations: UniqueTranslationsSchema,
|
|
275
|
+
matchingLevels: UniqueMatchingLevelsSchema
|
|
276
|
+
});
|
|
277
|
+
var validateReward = (value, context) => {
|
|
278
|
+
const includesPv = value.rewardType === "PV" /* PV */ || value.rewardType === "PV_AND_GIFT" /* PV_AND_GIFT */;
|
|
279
|
+
const includesGift = value.rewardType === "GIFT" /* GIFT */ || value.rewardType === "PV_AND_GIFT" /* PV_AND_GIFT */;
|
|
280
|
+
if (includesPv && (!value.rewardPv || Number(value.rewardPv) <= 0)) {
|
|
281
|
+
context.addIssue({
|
|
282
|
+
code: "custom",
|
|
283
|
+
path: ["rewardPv"],
|
|
284
|
+
message: "\u0414\u043B\u044F PV-\u043D\u0430\u0433\u0440\u0430\u0434\u044B \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u0441\u0443\u043C\u043C\u0443 \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0443\u043B\u044F"
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
if (!includesPv && value.rewardPv !== null) {
|
|
288
|
+
context.addIssue({
|
|
289
|
+
code: "custom",
|
|
290
|
+
path: ["rewardPv"],
|
|
291
|
+
message: "PV \u043C\u043E\u0436\u043D\u043E \u0443\u043A\u0430\u0437\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F PV-\u043D\u0430\u0433\u0440\u0430\u0434\u044B"
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
if (includesGift && value.translations.some((item) => !item.rewardName)) {
|
|
295
|
+
context.addIssue({
|
|
296
|
+
code: "custom",
|
|
297
|
+
path: ["translations"],
|
|
298
|
+
message: "\u0414\u043B\u044F \u043F\u043E\u0434\u0430\u0440\u043A\u0430 \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043D\u0430\u0433\u0440\u0430\u0434\u044B \u043D\u0430 \u043A\u0430\u0436\u0434\u043E\u043C \u044F\u0437\u044B\u043A\u0435"
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
if (!includesGift && value.rewardImageUrl !== null) {
|
|
302
|
+
context.addIssue({
|
|
303
|
+
code: "custom",
|
|
304
|
+
path: ["rewardImageUrl"],
|
|
305
|
+
message: "\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043C\u043E\u0436\u043D\u043E \u0443\u043A\u0430\u0437\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F \u043F\u043E\u0434\u0430\u0440\u043A\u0430"
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
};
|
|
309
|
+
MarketingRankFieldsSchema.extend({
|
|
310
|
+
sortOrder: z.number().int().min(0).max(1e6).default(0),
|
|
311
|
+
isDefault: z.boolean().default(false),
|
|
312
|
+
maxBinaryPayoutPv: InputPvSchema.nullable().default(null),
|
|
313
|
+
rewardType: z.enum(MarketingRankRewardType).default("NONE" /* NONE */),
|
|
314
|
+
rewardPv: InputPvSchema.nullable().default(null),
|
|
315
|
+
rewardImageUrl: z.url().max(2e3).nullable().default(null),
|
|
316
|
+
matchingLevels: UniqueMatchingLevelsSchema.default([])
|
|
317
|
+
}).superRefine(validateReward);
|
|
318
|
+
MarketingRankFieldsSchema.partial().extend({ version: z.number().int().positive() }).superRefine((value, context) => {
|
|
319
|
+
const includesPv = value.rewardType === "PV" /* PV */ || value.rewardType === "PV_AND_GIFT" /* PV_AND_GIFT */;
|
|
320
|
+
if (value.rewardType !== void 0 && !includesPv && value.rewardPv !== void 0 && value.rewardPv !== null) {
|
|
321
|
+
context.addIssue({
|
|
322
|
+
code: "custom",
|
|
323
|
+
path: ["rewardPv"],
|
|
324
|
+
message: "PV \u043C\u043E\u0436\u043D\u043E \u0443\u043A\u0430\u0437\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F PV-\u043D\u0430\u0433\u0440\u0430\u0434\u044B"
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
z.object({
|
|
329
|
+
publicId: PublicIdSchema
|
|
330
|
+
});
|
|
331
|
+
var MarketingMatchingLevelSchema = MarketingMatchingLevelInputSchema.extend({ publicId: PublicIdSchema });
|
|
332
|
+
var MarketingRankSchema = z.object({
|
|
333
|
+
publicId: PublicIdSchema,
|
|
334
|
+
code: CodeSchema,
|
|
335
|
+
sortOrder: z.number().int().nonnegative(),
|
|
336
|
+
isDefault: z.boolean(),
|
|
337
|
+
requiredWeakLegPv: PvSchema,
|
|
338
|
+
maxBinaryPayoutPv: PvSchema.nullable(),
|
|
339
|
+
rewardType: z.enum(MarketingRankRewardType),
|
|
340
|
+
rewardPv: PvSchema.nullable(),
|
|
341
|
+
rewardImageUrl: z.string().nullable(),
|
|
342
|
+
memberCount: z.number().int().nonnegative(),
|
|
343
|
+
version: z.number().int().positive(),
|
|
344
|
+
translations: z.array(MarketingRankTranslationInputSchema),
|
|
345
|
+
matchingLevels: z.array(MarketingMatchingLevelSchema),
|
|
346
|
+
createdAt: z.iso.datetime(),
|
|
347
|
+
updatedAt: z.iso.datetime()
|
|
348
|
+
});
|
|
349
|
+
z.object({
|
|
350
|
+
items: z.array(MarketingRankSchema),
|
|
351
|
+
meta: z.object({
|
|
352
|
+
page: z.number().int().positive(),
|
|
353
|
+
limit: z.number().int().positive(),
|
|
354
|
+
total: z.number().int().nonnegative(),
|
|
355
|
+
pageCount: z.number().int().nonnegative()
|
|
356
|
+
})
|
|
357
|
+
});
|
|
228
358
|
|
|
229
359
|
// src/auth/sign-up.contract.ts
|
|
230
360
|
var RegistrationEmailSchema = z.email("\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 email").trim().toLowerCase();
|