@escapenavigator/types 2.1.21 → 2.1.23
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/admin/admin.ro.d.ts +1 -0
- package/dist/admin/aggregator-order/aggregator-order.ro.d.ts +14 -0
- package/dist/admin/aggregator-order/aggregator-order.ro.js +17 -0
- package/dist/admin/aggregator-order/enum/aggregator-order-agreed-by.enum.d.ts +4 -0
- package/dist/admin/aggregator-order/enum/aggregator-order-agreed-by.enum.js +8 -0
- package/dist/admin/aggregator-order/query-aggregator-order.dto.d.ts +10 -0
- package/dist/admin/aggregator-order/query-aggregator-order.dto.js +14 -0
- package/dist/admin/aggregator-order/update-aggregator-order.dto.d.ts +6 -0
- package/dist/admin/aggregator-order/update-aggregator-order.dto.js +6 -0
- package/dist/admin/create-admin.dto.d.ts +1 -0
- package/dist/admin/create-admin.dto.js +11 -0
- package/dist/admin/sms/admin-sms.ro.d.ts +11 -0
- package/dist/admin/sms/admin-sms.ro.js +2 -0
- package/dist/admin/sms/send-admin-sms.dto.d.ts +13 -0
- package/dist/admin/sms/send-admin-sms.dto.js +87 -0
- package/dist/admin/telephony/admin-call.ro.d.ts +38 -0
- package/dist/admin/telephony/admin-call.ro.js +2 -0
- package/dist/admin/telephony/start-admin-call.dto.d.ts +16 -0
- package/dist/admin/telephony/start-admin-call.dto.js +104 -0
- package/dist/balance/balance-invoice-status.enum.d.ts +5 -0
- package/dist/balance/balance-invoice-status.enum.js +9 -0
- package/dist/balance/balance-invoice.ro.d.ts +25 -0
- package/dist/balance/balance-invoice.ro.js +89 -0
- package/dist/balance/balance-item.ro.d.ts +11 -0
- package/dist/balance/balance-item.ro.js +32 -0
- package/dist/balance/balance-payer.d.ts +6 -0
- package/dist/balance/balance-payer.js +2 -0
- package/dist/balance/balance-payment.ro.d.ts +7 -0
- package/dist/balance/balance-payment.ro.js +25 -1
- package/dist/balance/create-balance-invoice.dto.d.ts +8 -0
- package/dist/balance/create-balance-invoice.dto.js +47 -0
- package/dist/certificate-v2/update-certificate-settings.dto.js +21 -8
- package/dist/integrations/connect-integration.dto.d.ts +1 -1
- package/dist/integrations/provider-code.enum.d.ts +1 -1
- package/dist/integrations/provider-code.enum.js +1 -1
- package/dist/lead/lead-board.ro.d.ts +2 -0
- package/dist/lead/lead-time.constants.d.ts +6 -0
- package/dist/lead/lead-time.constants.js +9 -0
- package/dist/lead/public/public-lead-form.ro.d.ts +2 -0
- package/dist/lead/public/submit-lead.dto.d.ts +2 -0
- package/dist/lead/public/submit-lead.dto.js +6 -0
- package/dist/openapi/certificates-v2/openapi-create-certificate-shop-sale.dto.d.ts +2 -0
- package/dist/openapi/certificates-v2/openapi-create-certificate-shop-sale.dto.js +6 -0
- package/dist/openapi/profiles/openapi-profile-booking-list-item.ro.js +6 -2
- package/dist/openapi/widget/openapi-widget-info.ro.d.ts +2 -0
- package/dist/openapi/widget/openapi-widget-info.ro.js +8 -0
- package/dist/order/order.ro.d.ts +23 -0
- package/dist/order/order.ro.js +64 -0
- package/dist/player/player.ro.d.ts +3 -0
- package/dist/player/player.ro.js +12 -0
- package/dist/profile/action/create-profile-action.dto.d.ts +6 -0
- package/dist/profile/action/create-profile-action.dto.js +14 -0
- package/dist/profile/agb/profile-document-type.enum.d.ts +19 -0
- package/dist/profile/agb/profile-document-type.enum.js +27 -0
- package/dist/profile/agb/profile-document.ro.d.ts +35 -0
- package/dist/profile/agb/profile-document.ro.js +2 -0
- package/dist/profile/agb/update-profile-document.dto.d.ts +8 -0
- package/dist/profile/agb/update-profile-document.dto.js +35 -0
- package/dist/profile/company-ai-context.d.ts +1 -0
- package/dist/profile/enum/profile-partner-board-status.enum.d.ts +12 -0
- package/dist/profile/enum/profile-partner-board-status.enum.js +16 -0
- package/dist/profile/enum/profile-verification-board-status.enum.d.ts +13 -0
- package/dist/profile/enum/profile-verification-board-status.enum.js +17 -0
- package/dist/profile/partner-board.ro.d.ts +36 -0
- package/dist/profile/partner-board.ro.js +116 -0
- package/dist/profile/profile.ro.d.ts +2 -0
- package/dist/profile/profile.ro.js +8 -0
- package/dist/profile/update-current-ym.dto.d.ts +8 -0
- package/dist/profile/update-current-ym.dto.js +33 -0
- package/dist/profile/verification-board.ro.d.ts +37 -0
- package/dist/profile/verification-board.ro.js +116 -0
- package/dist/questroom/create-questroom-admin-note.dto.d.ts +3 -0
- package/dist/questroom/create-questroom-admin-note.dto.js +24 -0
- package/dist/questroom/enum/questroom-admin-note-type.enum.d.ts +4 -0
- package/dist/questroom/enum/questroom-admin-note-type.enum.js +8 -0
- package/dist/questroom/questroom-admin-card.ro.d.ts +85 -0
- package/dist/questroom/questroom-admin-card.ro.js +276 -0
- package/dist/questroom/questroom-admin-note.ro.d.ts +10 -0
- package/dist/questroom/{update-questroom-integration.dto.js → questroom-admin-note.ro.js} +17 -16
- package/dist/questroom/questroom-admin.ro.d.ts +2 -0
- package/dist/questroom/questroom-admin.ro.js +4 -0
- package/dist/questroom/questrooms-list-admin.ro.d.ts +2 -14
- package/dist/questroom/questrooms-list-admin.ro.js +8 -35
- package/dist/referral/referral.dto.d.ts +15 -0
- package/dist/referral/referral.dto.js +69 -0
- package/dist/referral/referral.enums.d.ts +36 -0
- package/dist/referral/referral.enums.js +45 -0
- package/dist/referral/referral.ro.d.ts +58 -0
- package/dist/referral/referral.ro.js +2 -0
- package/dist/registration-request/create-registration-request.dto.d.ts +1 -0
- package/dist/registration-request/create-registration-request.dto.js +17 -0
- package/dist/registration-request/registration-request.ro.d.ts +1 -0
- package/dist/registration-request/update-registration-request.dto.d.ts +5 -0
- package/dist/registration-request/update-registration-request.dto.js +28 -0
- package/dist/role/create-role.dto.d.ts +1 -0
- package/dist/role/create-role.dto.js +6 -0
- package/dist/role/role.ro.d.ts +5 -0
- package/dist/role/role.ro.js +4 -0
- package/dist/search/search.ro.d.ts +12 -0
- package/dist/slot-rule/create-rule.dto.d.ts +1 -0
- package/dist/slot-rule/create-rule.dto.js +7 -0
- package/dist/slot-rule/defailt-rule.d.ts +1 -0
- package/dist/slot-rule/defailt-rule.js +1 -0
- package/dist/slot-rule/rule.ro.d.ts +1 -0
- package/dist/slot-rule/rule.ro.js +4 -0
- package/dist/statistics/leads.d.ts +70 -0
- package/dist/statistics/leads.js +2 -0
- package/dist/statistics/pnl.d.ts +6 -0
- package/dist/statistics/pnl.js +9 -0
- package/dist/statistics/questroom-ids.d.ts +16 -0
- package/dist/statistics/questroom-ids.js +38 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/user/fine/create-user-fine.dto.d.ts +2 -0
- package/dist/user/fine/create-user-fine.dto.js +8 -0
- package/dist/user/fine/user-fine-kind.d.ts +29 -0
- package/dist/user/fine/user-fine-kind.js +66 -0
- package/dist/user/fine/user-fine.ro.d.ts +2 -0
- package/dist/user/fine/user-fine.ro.js +5 -0
- package/dist/user/reports/user-monthly-report.ro.d.ts +11 -0
- package/dist/widget/create-widget.dto.d.ts +6 -0
- package/dist/widget/create-widget.dto.js +15 -0
- package/dist/widget/widget.ro.d.ts +1 -0
- package/package.json +2 -2
- package/dist/questroom/update-questroom-integration.dto.d.ts +0 -6
|
@@ -3,4 +3,11 @@ export declare class BalancePaymentRO extends RO {
|
|
|
3
3
|
paymentId: string;
|
|
4
4
|
amount: number;
|
|
5
5
|
invoiceLink?: string;
|
|
6
|
+
profileId?: number;
|
|
7
|
+
profileTitle?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class BalancePaymentStatsRO {
|
|
10
|
+
totalAmount: number;
|
|
11
|
+
count: number;
|
|
12
|
+
companiesCount: number;
|
|
6
13
|
}
|
|
@@ -9,7 +9,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.BalancePaymentRO = void 0;
|
|
12
|
+
exports.BalancePaymentStatsRO = exports.BalancePaymentRO = void 0;
|
|
13
|
+
/* eslint-disable max-classes-per-file */
|
|
13
14
|
const class_transformer_1 = require("class-transformer");
|
|
14
15
|
const ro_class_1 = require("../shared/ro-class");
|
|
15
16
|
class BalancePaymentRO extends ro_class_1.RO {
|
|
@@ -27,3 +28,26 @@ __decorate([
|
|
|
27
28
|
(0, class_transformer_1.Expose)(),
|
|
28
29
|
__metadata("design:type", String)
|
|
29
30
|
], BalancePaymentRO.prototype, "invoiceLink", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, class_transformer_1.Expose)(),
|
|
33
|
+
__metadata("design:type", Number)
|
|
34
|
+
], BalancePaymentRO.prototype, "profileId", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, class_transformer_1.Expose)(),
|
|
37
|
+
__metadata("design:type", String)
|
|
38
|
+
], BalancePaymentRO.prototype, "profileTitle", void 0);
|
|
39
|
+
class BalancePaymentStatsRO {
|
|
40
|
+
}
|
|
41
|
+
exports.BalancePaymentStatsRO = BalancePaymentStatsRO;
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, class_transformer_1.Expose)(),
|
|
44
|
+
__metadata("design:type", Number)
|
|
45
|
+
], BalancePaymentStatsRO.prototype, "totalAmount", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, class_transformer_1.Expose)(),
|
|
48
|
+
__metadata("design:type", Number)
|
|
49
|
+
], BalancePaymentStatsRO.prototype, "count", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, class_transformer_1.Expose)(),
|
|
52
|
+
__metadata("design:type", Number)
|
|
53
|
+
], BalancePaymentStatsRO.prototype, "companiesCount", void 0);
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CreateBalanceInvoiceDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const is_not_blank_1 = require("../shared/is-not-blank");
|
|
16
|
+
/** Сумма в рублях. На балансе хранится в копейках. */
|
|
17
|
+
class CreateBalanceInvoiceDto {
|
|
18
|
+
}
|
|
19
|
+
exports.CreateBalanceInvoiceDto = CreateBalanceInvoiceDto;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, class_validator_1.IsNumber)({ maxDecimalPlaces: 2 }),
|
|
22
|
+
(0, class_validator_1.IsPositive)(),
|
|
23
|
+
(0, class_validator_1.Max)(10000000),
|
|
24
|
+
(0, class_transformer_1.Expose)(),
|
|
25
|
+
__metadata("design:type", Number)
|
|
26
|
+
], CreateBalanceInvoiceDto.prototype, "amount", void 0);
|
|
27
|
+
__decorate([
|
|
28
|
+
(0, is_not_blank_1.IsNotBlank)(),
|
|
29
|
+
(0, class_transformer_1.Expose)(),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], CreateBalanceInvoiceDto.prototype, "payerName", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, is_not_blank_1.IsNotBlank)(),
|
|
34
|
+
(0, class_transformer_1.Expose)(),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], CreateBalanceInvoiceDto.prototype, "payerInn", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, class_validator_1.IsOptional)(),
|
|
39
|
+
(0, class_validator_1.IsString)(),
|
|
40
|
+
(0, class_transformer_1.Expose)(),
|
|
41
|
+
__metadata("design:type", String)
|
|
42
|
+
], CreateBalanceInvoiceDto.prototype, "payerKpp", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, is_not_blank_1.IsNotBlank)(),
|
|
45
|
+
(0, class_transformer_1.Expose)(),
|
|
46
|
+
__metadata("design:type", String)
|
|
47
|
+
], CreateBalanceInvoiceDto.prototype, "payerAddress", void 0);
|
|
@@ -13,8 +13,21 @@ exports.UpdateCertificateSettingsDto = void 0;
|
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
15
|
const certificate_shop_flow_order_enum_1 = require("./enum/certificate-shop-flow-order.enum");
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Нет ключа в патче — не подставляем дефолт. Иначе ValidationPipe
|
|
18
|
+
* дописывает `false`/`true` на все `@Expose`-поля, и сохранение одной
|
|
19
|
+
* формы магазина затирает поля другой (кастомный номинал, самовывоз).
|
|
20
|
+
*/
|
|
21
|
+
function optionalBoolean({ value }) {
|
|
22
|
+
if (value === undefined || value === null)
|
|
23
|
+
return undefined;
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
function optionalNumber({ value }) {
|
|
27
|
+
if (value === undefined || value === null)
|
|
28
|
+
return undefined;
|
|
29
|
+
const numeric = +value;
|
|
30
|
+
return numeric ? numeric : 0;
|
|
18
31
|
}
|
|
19
32
|
class UpdateCertificateSettingsDto {
|
|
20
33
|
}
|
|
@@ -27,7 +40,7 @@ __decorate([
|
|
|
27
40
|
], UpdateCertificateSettingsDto.prototype, "validity", void 0);
|
|
28
41
|
__decorate([
|
|
29
42
|
(0, class_validator_1.IsOptional)(),
|
|
30
|
-
(0, class_transformer_1.Transform)(
|
|
43
|
+
(0, class_transformer_1.Transform)(optionalNumber),
|
|
31
44
|
(0, class_validator_1.Min)(0),
|
|
32
45
|
(0, class_validator_1.IsInt)(),
|
|
33
46
|
(0, class_transformer_1.Expose)(),
|
|
@@ -36,13 +49,13 @@ __decorate([
|
|
|
36
49
|
__decorate([
|
|
37
50
|
(0, class_validator_1.IsOptional)(),
|
|
38
51
|
(0, class_validator_1.IsBoolean)(),
|
|
39
|
-
(0, class_transformer_1.Transform)(
|
|
52
|
+
(0, class_transformer_1.Transform)(optionalBoolean),
|
|
40
53
|
(0, class_transformer_1.Expose)(),
|
|
41
54
|
__metadata("design:type", Boolean)
|
|
42
55
|
], UpdateCertificateSettingsDto.prototype, "allowFreeNominal", void 0);
|
|
43
56
|
__decorate([
|
|
44
57
|
(0, class_validator_1.ValidateIf)((o) => o.allowFreeNominal),
|
|
45
|
-
(0, class_transformer_1.Transform)(
|
|
58
|
+
(0, class_transformer_1.Transform)(optionalNumber),
|
|
46
59
|
(0, class_validator_1.Min)(0),
|
|
47
60
|
(0, class_validator_1.IsInt)(),
|
|
48
61
|
(0, class_transformer_1.Expose)(),
|
|
@@ -50,7 +63,7 @@ __decorate([
|
|
|
50
63
|
], UpdateCertificateSettingsDto.prototype, "freeNominalMin", void 0);
|
|
51
64
|
__decorate([
|
|
52
65
|
(0, class_validator_1.ValidateIf)((o) => o.allowFreeNominal),
|
|
53
|
-
(0, class_transformer_1.Transform)(
|
|
66
|
+
(0, class_transformer_1.Transform)(optionalNumber),
|
|
54
67
|
(0, class_validator_1.Min)(0),
|
|
55
68
|
(0, class_validator_1.IsInt)(),
|
|
56
69
|
(0, class_transformer_1.Expose)(),
|
|
@@ -58,7 +71,7 @@ __decorate([
|
|
|
58
71
|
], UpdateCertificateSettingsDto.prototype, "freeNominalMax", void 0);
|
|
59
72
|
__decorate([
|
|
60
73
|
(0, class_validator_1.IsOptional)(),
|
|
61
|
-
(0, class_transformer_1.Transform)(
|
|
74
|
+
(0, class_transformer_1.Transform)(optionalNumber),
|
|
62
75
|
(0, class_validator_1.Min)(0),
|
|
63
76
|
(0, class_validator_1.Max)(100),
|
|
64
77
|
(0, class_validator_1.IsNumber)(),
|
|
@@ -68,7 +81,7 @@ __decorate([
|
|
|
68
81
|
__decorate([
|
|
69
82
|
(0, class_validator_1.IsOptional)(),
|
|
70
83
|
(0, class_validator_1.IsBoolean)(),
|
|
71
|
-
(0, class_transformer_1.Transform)(
|
|
84
|
+
(0, class_transformer_1.Transform)(optionalBoolean),
|
|
72
85
|
(0, class_transformer_1.Expose)(),
|
|
73
86
|
__metadata("design:type", Boolean)
|
|
74
87
|
], UpdateCertificateSettingsDto.prototype, "pickupAvailable", void 0);
|
|
@@ -12,7 +12,7 @@ export declare class ConnectIntegrationDto {
|
|
|
12
12
|
credentials: Record<string, string>;
|
|
13
13
|
/**
|
|
14
14
|
* Несекретные признаки вендора. Для MyERP-совместимых систем сюда уходит
|
|
15
|
-
* `vendor` с карточки в кабинете (myerp / questadmin / chezakod), чтобы
|
|
15
|
+
* `vendor` с карточки в кабинете (myerp / questadmin / chezakod / ilocked), чтобы
|
|
16
16
|
* бронь ушла с нужными именами полей.
|
|
17
17
|
*/
|
|
18
18
|
settings?: Record<string, unknown>;
|
|
@@ -15,7 +15,7 @@ export declare enum IntegrationProviderCodeEnum {
|
|
|
15
15
|
CRM = "crm",
|
|
16
16
|
/** Partner Booking API — зеркало Morty-стандарта, реализует партнёр. */
|
|
17
17
|
PARTNER_API = "partner_api",
|
|
18
|
-
/** Легаси: МойЭРП / КвестАдмин / Чеширский код / «Мир квестов» — per-quest URL'ы. */
|
|
18
|
+
/** Легаси: МойЭРП / КвестАдмин / Чеширский код / iLocked / «Мир квестов» — per-quest URL'ы. */
|
|
19
19
|
MYERP = "myerp",
|
|
20
20
|
BOOKEO = "bookeo",
|
|
21
21
|
OFFTHECOUCH = "offthecouch",
|
|
@@ -19,7 +19,7 @@ var IntegrationProviderCodeEnum;
|
|
|
19
19
|
IntegrationProviderCodeEnum["CRM"] = "crm";
|
|
20
20
|
/** Partner Booking API — зеркало Morty-стандарта, реализует партнёр. */
|
|
21
21
|
IntegrationProviderCodeEnum["PARTNER_API"] = "partner_api";
|
|
22
|
-
/** Легаси: МойЭРП / КвестАдмин / Чеширский код / «Мир квестов» — per-quest URL'ы. */
|
|
22
|
+
/** Легаси: МойЭРП / КвестАдмин / Чеширский код / iLocked / «Мир квестов» — per-quest URL'ы. */
|
|
23
23
|
IntegrationProviderCodeEnum["MYERP"] = "myerp";
|
|
24
24
|
IntegrationProviderCodeEnum["BOOKEO"] = "bookeo";
|
|
25
25
|
IntegrationProviderCodeEnum["OFFTHECOUCH"] = "offthecouch";
|
|
@@ -13,6 +13,8 @@ export declare class LeadBoardCardRO {
|
|
|
13
13
|
/** Обрезанный комментарий клиента для превью в карточке. */
|
|
14
14
|
comment: string | null;
|
|
15
15
|
preferredDate: string | null;
|
|
16
|
+
/** Желаемое время, `HH:mm`. */
|
|
17
|
+
preferredTime: string | null;
|
|
16
18
|
guests: number | null;
|
|
17
19
|
questroomId: number | null;
|
|
18
20
|
clientId: number | null;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI-only answer meaning that the client wants a callback without committing
|
|
3
|
+
* to a preferred time. The submission service keeps the answer for managers,
|
|
4
|
+
* but does not write it into `preferredTime`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const LEAD_TIME_UNDECIDED_VALUE = "__time_undecided__";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LEAD_TIME_UNDECIDED_VALUE = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* UI-only answer meaning that the client wants a callback without committing
|
|
6
|
+
* to a preferred time. The submission service keeps the answer for managers,
|
|
7
|
+
* but does not write it into `preferredTime`.
|
|
8
|
+
*/
|
|
9
|
+
exports.LEAD_TIME_UNDECIDED_VALUE = '__time_undecided__';
|
|
@@ -15,6 +15,8 @@ export declare class PublicLeadFormReferenceRO {
|
|
|
15
15
|
*/
|
|
16
16
|
export declare class PublicLeadFormProfileRO {
|
|
17
17
|
title: string;
|
|
18
|
+
/** Для ссылок на политику и согласие площадки (`/company/:slug/...`). */
|
|
19
|
+
slug: string;
|
|
18
20
|
logo?: string;
|
|
19
21
|
country: CountriesEnum;
|
|
20
22
|
language: Languages;
|
|
@@ -14,6 +14,8 @@ export declare class SubmitLeadDto {
|
|
|
14
14
|
answers: SubmitLeadAnswerDto[];
|
|
15
15
|
source?: LeadSourceEnum;
|
|
16
16
|
meta?: LeadMeta;
|
|
17
|
+
/** Галочка согласия на обработку ПДн. У площадок из РФ без неё заявка не принимается. */
|
|
18
|
+
pdConsent?: boolean;
|
|
17
19
|
/**
|
|
18
20
|
* Honeypot: скрытое поле, которое не видит человек. Любое непустое
|
|
19
21
|
* значение — бот, заявка молча отбрасывается с успешным ответом.
|
|
@@ -53,6 +53,12 @@ __decorate([
|
|
|
53
53
|
(0, class_transformer_1.Expose)(),
|
|
54
54
|
__metadata("design:type", Object)
|
|
55
55
|
], SubmitLeadDto.prototype, "meta", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
(0, class_validator_1.IsOptional)(),
|
|
58
|
+
(0, class_validator_1.IsBoolean)(),
|
|
59
|
+
(0, class_transformer_1.Expose)(),
|
|
60
|
+
__metadata("design:type", Boolean)
|
|
61
|
+
], SubmitLeadDto.prototype, "pdConsent", void 0);
|
|
56
62
|
__decorate([
|
|
57
63
|
(0, class_validator_1.IsOptional)(),
|
|
58
64
|
(0, class_validator_1.IsString)(),
|
|
@@ -65,4 +65,6 @@ export declare class OpenapiCreateCertificateShopSaleDto {
|
|
|
65
65
|
billingOrganizationName?: string;
|
|
66
66
|
billingTaxId?: string;
|
|
67
67
|
billingAddress?: string;
|
|
68
|
+
/** Галочка согласия на обработку ПДн. У площадок из РФ без неё продажа не создаётся. */
|
|
69
|
+
pdConsent?: boolean;
|
|
68
70
|
}
|
|
@@ -241,3 +241,9 @@ __decorate([
|
|
|
241
241
|
(0, class_transformer_1.Expose)(),
|
|
242
242
|
__metadata("design:type", String)
|
|
243
243
|
], OpenapiCreateCertificateShopSaleDto.prototype, "billingAddress", void 0);
|
|
244
|
+
__decorate([
|
|
245
|
+
(0, class_validator_1.IsOptional)(),
|
|
246
|
+
(0, class_validator_1.IsBoolean)(),
|
|
247
|
+
(0, class_transformer_1.Expose)(),
|
|
248
|
+
__metadata("design:type", Boolean)
|
|
249
|
+
], OpenapiCreateCertificateShopSaleDto.prototype, "pdConsent", void 0);
|
|
@@ -160,11 +160,15 @@ __decorate([
|
|
|
160
160
|
(0, swagger_1.ApiProperty)({
|
|
161
161
|
type: () => order_ro_1.Utm,
|
|
162
162
|
nullable: true,
|
|
163
|
-
description: 'UTM attribution captured at booking time (
|
|
163
|
+
description: 'UTM attribution captured at booking time. `ymClientId` is the widget counter ClientID. `enClientId`, `yclid` and `enCounterId` are copied from `utmContent` tokens (`en_clientid`, `en_yclid`, `en_counter_id`) on the RU contour when those tokens are present. Null when none were set.',
|
|
164
164
|
example: {
|
|
165
|
-
utmSource: '
|
|
165
|
+
utmSource: 'yandex',
|
|
166
166
|
utmMedium: 'cpc',
|
|
167
167
|
utmCampaign: 'spring_sale',
|
|
168
|
+
ymClientId: '1700000000000000000',
|
|
169
|
+
enClientId: '1700000000000000001',
|
|
170
|
+
yclid: 'abc123',
|
|
171
|
+
enCounterId: '48059552',
|
|
168
172
|
},
|
|
169
173
|
}),
|
|
170
174
|
__metadata("design:type", order_ro_1.Utm)
|
|
@@ -105,6 +105,8 @@ export declare class OpenapiWidgetInfoRO {
|
|
|
105
105
|
tiktokPixelId?: string;
|
|
106
106
|
snapPixelEnabled?: boolean;
|
|
107
107
|
snapPixelId?: string;
|
|
108
|
+
ymEnabled?: boolean;
|
|
109
|
+
ymCounterId?: string;
|
|
108
110
|
customization: Customization;
|
|
109
111
|
daysAhead?: number;
|
|
110
112
|
buttonTooltipText?: string;
|
|
@@ -262,6 +262,14 @@ __decorate([
|
|
|
262
262
|
(0, class_transformer_1.Expose)(),
|
|
263
263
|
__metadata("design:type", String)
|
|
264
264
|
], OpenapiWidgetInfoRO.prototype, "snapPixelId", void 0);
|
|
265
|
+
__decorate([
|
|
266
|
+
(0, class_transformer_1.Expose)(),
|
|
267
|
+
__metadata("design:type", Boolean)
|
|
268
|
+
], OpenapiWidgetInfoRO.prototype, "ymEnabled", void 0);
|
|
269
|
+
__decorate([
|
|
270
|
+
(0, class_transformer_1.Expose)(),
|
|
271
|
+
__metadata("design:type", String)
|
|
272
|
+
], OpenapiWidgetInfoRO.prototype, "ymCounterId", void 0);
|
|
265
273
|
__decorate([
|
|
266
274
|
(0, class_transformer_1.Expose)(),
|
|
267
275
|
(0, class_transformer_1.Type)(() => Customization),
|
package/dist/order/order.ro.d.ts
CHANGED
|
@@ -45,6 +45,21 @@ export declare class Utm {
|
|
|
45
45
|
fbclid?: string | null;
|
|
46
46
|
ttclid?: string | null;
|
|
47
47
|
msclkid?: string | null;
|
|
48
|
+
/**
|
|
49
|
+
* ClientID Яндекс.Метрики (`ym getClientID`) на момент брони.
|
|
50
|
+
* Не click-id Директа: это идентификатор посетителя счётчика компании.
|
|
51
|
+
* Кривой ввод не валим бронь — поле просто не пишем.
|
|
52
|
+
*/
|
|
53
|
+
ymClientId?: string | null;
|
|
54
|
+
/**
|
|
55
|
+
* ClientID из токена `en_clientid` в `utmContent`. Не путать с
|
|
56
|
+
* `ymClientId` виджета: если токена не было, поле пустое.
|
|
57
|
+
*/
|
|
58
|
+
enClientId?: string | null;
|
|
59
|
+
/** yclid Директа из токена `en_yclid` в `utmContent`. */
|
|
60
|
+
yclid?: string | null;
|
|
61
|
+
/** Номер счётчика из токена `en_counter_id` в `utmContent`. */
|
|
62
|
+
enCounterId?: string | null;
|
|
48
63
|
}
|
|
49
64
|
declare class Rule {
|
|
50
65
|
cancelationRule: QuestroomCancelationTypeEnum;
|
|
@@ -179,6 +194,14 @@ export declare class OrderRO extends RO {
|
|
|
179
194
|
* `section_${i}` и т.п.). При повторном клике перезаписывается.
|
|
180
195
|
*/
|
|
181
196
|
enLinkId?: string | null;
|
|
197
|
+
/** ClientID Яндекс.Метрики, снятый виджетом в момент брони. */
|
|
198
|
+
ymClientId?: string | null;
|
|
199
|
+
/** ClientID из `en_clientid` в `utmContent`. Пусто, если токена не было. */
|
|
200
|
+
enClientId?: string | null;
|
|
201
|
+
/** yclid Директа из `en_yclid` в `utmContent`. */
|
|
202
|
+
yclid?: string | null;
|
|
203
|
+
/** Номер счётчика из `en_counter_id` в `utmContent`. */
|
|
204
|
+
enCounterId?: string | null;
|
|
182
205
|
customFields: CustomFiled[];
|
|
183
206
|
otherId: string;
|
|
184
207
|
updatedAt: Date;
|
package/dist/order/order.ro.js
CHANGED
|
@@ -94,6 +94,54 @@ __decorate([
|
|
|
94
94
|
(0, class_validator_1.MaxLength)(512),
|
|
95
95
|
__metadata("design:type", String)
|
|
96
96
|
], Utm.prototype, "msclkid", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
(0, class_transformer_1.Expose)(),
|
|
99
|
+
(0, class_validator_1.IsOptional)(),
|
|
100
|
+
(0, class_transformer_1.Transform)(({ value }) => {
|
|
101
|
+
if (value == null || value === '')
|
|
102
|
+
return undefined;
|
|
103
|
+
const trimmed = String(value).trim();
|
|
104
|
+
return /^\d{1,64}$/.test(trimmed) ? trimmed : undefined;
|
|
105
|
+
}),
|
|
106
|
+
__metadata("design:type", String)
|
|
107
|
+
], Utm.prototype, "ymClientId", void 0);
|
|
108
|
+
__decorate([
|
|
109
|
+
(0, class_transformer_1.Expose)(),
|
|
110
|
+
(0, class_validator_1.IsOptional)(),
|
|
111
|
+
(0, class_transformer_1.Transform)(({ value }) => {
|
|
112
|
+
if (value == null || value === '')
|
|
113
|
+
return undefined;
|
|
114
|
+
const trimmed = String(value).trim();
|
|
115
|
+
return /^\d{1,64}$/.test(trimmed) ? trimmed : undefined;
|
|
116
|
+
}),
|
|
117
|
+
__metadata("design:type", String)
|
|
118
|
+
], Utm.prototype, "enClientId", void 0);
|
|
119
|
+
__decorate([
|
|
120
|
+
(0, class_transformer_1.Expose)(),
|
|
121
|
+
(0, class_validator_1.IsOptional)(),
|
|
122
|
+
(0, class_transformer_1.Transform)(({ value }) => {
|
|
123
|
+
if (value == null || value === '')
|
|
124
|
+
return undefined;
|
|
125
|
+
const trimmed = String(value).trim();
|
|
126
|
+
if (!trimmed || trimmed.length > 512)
|
|
127
|
+
return undefined;
|
|
128
|
+
if (/[\s|]/.test(trimmed) || /[^\x20-\x7E]/.test(trimmed))
|
|
129
|
+
return undefined;
|
|
130
|
+
return trimmed;
|
|
131
|
+
}),
|
|
132
|
+
__metadata("design:type", String)
|
|
133
|
+
], Utm.prototype, "yclid", void 0);
|
|
134
|
+
__decorate([
|
|
135
|
+
(0, class_transformer_1.Expose)(),
|
|
136
|
+
(0, class_validator_1.IsOptional)(),
|
|
137
|
+
(0, class_transformer_1.Transform)(({ value }) => {
|
|
138
|
+
if (value == null || value === '')
|
|
139
|
+
return undefined;
|
|
140
|
+
const trimmed = String(value).trim();
|
|
141
|
+
return /^\d{1,20}$/.test(trimmed) ? trimmed : undefined;
|
|
142
|
+
}),
|
|
143
|
+
__metadata("design:type", String)
|
|
144
|
+
], Utm.prototype, "enCounterId", void 0);
|
|
97
145
|
class Rule {
|
|
98
146
|
}
|
|
99
147
|
__decorate([
|
|
@@ -435,6 +483,22 @@ __decorate([
|
|
|
435
483
|
(0, class_transformer_1.Expose)(),
|
|
436
484
|
__metadata("design:type", String)
|
|
437
485
|
], OrderRO.prototype, "enLinkId", void 0);
|
|
486
|
+
__decorate([
|
|
487
|
+
(0, class_transformer_1.Expose)(),
|
|
488
|
+
__metadata("design:type", String)
|
|
489
|
+
], OrderRO.prototype, "ymClientId", void 0);
|
|
490
|
+
__decorate([
|
|
491
|
+
(0, class_transformer_1.Expose)(),
|
|
492
|
+
__metadata("design:type", String)
|
|
493
|
+
], OrderRO.prototype, "enClientId", void 0);
|
|
494
|
+
__decorate([
|
|
495
|
+
(0, class_transformer_1.Expose)(),
|
|
496
|
+
__metadata("design:type", String)
|
|
497
|
+
], OrderRO.prototype, "yclid", void 0);
|
|
498
|
+
__decorate([
|
|
499
|
+
(0, class_transformer_1.Expose)(),
|
|
500
|
+
__metadata("design:type", String)
|
|
501
|
+
], OrderRO.prototype, "enCounterId", void 0);
|
|
438
502
|
__decorate([
|
|
439
503
|
(0, class_transformer_1.Expose)(),
|
|
440
504
|
(0, class_transformer_1.Type)(() => CustomFiled),
|
package/dist/player/player.ro.js
CHANGED
|
@@ -129,6 +129,18 @@ __decorate([
|
|
|
129
129
|
(0, class_transformer_1.Expose)(),
|
|
130
130
|
__metadata("design:type", String)
|
|
131
131
|
], PlayerRO.prototype, "phone", void 0);
|
|
132
|
+
__decorate([
|
|
133
|
+
(0, class_transformer_1.Expose)(),
|
|
134
|
+
__metadata("design:type", Number)
|
|
135
|
+
], PlayerRO.prototype, "cityId", void 0);
|
|
136
|
+
__decorate([
|
|
137
|
+
(0, class_transformer_1.Expose)(),
|
|
138
|
+
__metadata("design:type", String)
|
|
139
|
+
], PlayerRO.prototype, "cityTitle", void 0);
|
|
140
|
+
__decorate([
|
|
141
|
+
(0, class_transformer_1.Expose)(),
|
|
142
|
+
__metadata("design:type", String)
|
|
143
|
+
], PlayerRO.prototype, "timeZone", void 0);
|
|
132
144
|
__decorate([
|
|
133
145
|
(0, class_transformer_1.Expose)(),
|
|
134
146
|
__metadata("design:type", String)
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ProfileLostReasonEnum } from '../enum/profile-lost-reason.enum';
|
|
2
|
+
import { ProfilePartnerBoardStatus } from '../enum/profile-partner-board-status.enum';
|
|
2
3
|
import { ProfileSalesStatus } from '../enum/profile-sales-status.enum';
|
|
4
|
+
import { ProfileVerificationBoardStatus } from '../enum/profile-verification-board-status.enum';
|
|
3
5
|
export declare class CreateProfileActionRO {
|
|
4
6
|
profileId: number;
|
|
5
7
|
type: string;
|
|
@@ -10,4 +12,8 @@ export declare class CreateProfileActionRO {
|
|
|
10
12
|
salesStatus?: ProfileSalesStatus;
|
|
11
13
|
assigneeId?: number;
|
|
12
14
|
lostReason?: ProfileLostReasonEnum;
|
|
15
|
+
/** Колонка доски верификации. Ставится действием с этой доски, не из сейлз. */
|
|
16
|
+
verificationBoardStatus?: ProfileVerificationBoardStatus;
|
|
17
|
+
/** Колонка доски заявок на партнёрку. */
|
|
18
|
+
partnerBoardStatus?: ProfilePartnerBoardStatus;
|
|
13
19
|
}
|
|
@@ -14,7 +14,9 @@ const class_transformer_1 = require("class-transformer");
|
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
15
|
const is_not_blank_1 = require("../../shared/is-not-blank");
|
|
16
16
|
const profile_lost_reason_enum_1 = require("../enum/profile-lost-reason.enum");
|
|
17
|
+
const profile_partner_board_status_enum_1 = require("../enum/profile-partner-board-status.enum");
|
|
17
18
|
const profile_sales_status_enum_1 = require("../enum/profile-sales-status.enum");
|
|
19
|
+
const profile_verification_board_status_enum_1 = require("../enum/profile-verification-board-status.enum");
|
|
18
20
|
class CreateProfileActionRO {
|
|
19
21
|
}
|
|
20
22
|
exports.CreateProfileActionRO = CreateProfileActionRO;
|
|
@@ -70,3 +72,15 @@ __decorate([
|
|
|
70
72
|
(0, class_transformer_1.Expose)(),
|
|
71
73
|
__metadata("design:type", String)
|
|
72
74
|
], CreateProfileActionRO.prototype, "lostReason", void 0);
|
|
75
|
+
__decorate([
|
|
76
|
+
(0, class_validator_1.IsOptional)(),
|
|
77
|
+
(0, class_validator_1.IsEnum)(profile_verification_board_status_enum_1.ProfileVerificationBoardStatus),
|
|
78
|
+
(0, class_transformer_1.Expose)(),
|
|
79
|
+
__metadata("design:type", String)
|
|
80
|
+
], CreateProfileActionRO.prototype, "verificationBoardStatus", void 0);
|
|
81
|
+
__decorate([
|
|
82
|
+
(0, class_validator_1.IsOptional)(),
|
|
83
|
+
(0, class_validator_1.IsEnum)(profile_partner_board_status_enum_1.ProfilePartnerBoardStatus),
|
|
84
|
+
(0, class_transformer_1.Expose)(),
|
|
85
|
+
__metadata("design:type", String)
|
|
86
|
+
], CreateProfileActionRO.prototype, "partnerBoardStatus", void 0);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Документы площадки для её клиентов. Площадка — оператор персональных данных
|
|
3
|
+
* своих клиентов, мы обрабатываем их по её поручению, поэтому политика и
|
|
4
|
+
* согласие должны быть от её имени, а не от имени Escape Navigator.
|
|
5
|
+
*/
|
|
6
|
+
export declare enum ProfileDocumentTypeEnum {
|
|
7
|
+
/** Клиентское соглашение (оферта) — `/company/:slug/terms-of-services`. */
|
|
8
|
+
AGREEMENT = "agreement",
|
|
9
|
+
/** Политика обработки ПДн — `/company/:slug/privacy-policy`. */
|
|
10
|
+
PRIVACY_POLICY = "privacy_policy",
|
|
11
|
+
/**
|
|
12
|
+
* Согласие на обработку ПДн — `/company/:slug/personal-data-consent`.
|
|
13
|
+
* Только РФ: 152-ФЗ требует оформлять согласие отдельно от других
|
|
14
|
+
* документов. В ЕС основание — договор (GDPR 6(1)(b)), согласие не нужно.
|
|
15
|
+
*/
|
|
16
|
+
PD_CONSENT = "pd_consent"
|
|
17
|
+
}
|
|
18
|
+
/** Страница `/company/:slug/<path>` в orders для каждого документа площадки. */
|
|
19
|
+
export declare const PROFILE_DOCUMENT_PATH: Record<ProfileDocumentTypeEnum, string>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PROFILE_DOCUMENT_PATH = exports.ProfileDocumentTypeEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Документы площадки для её клиентов. Площадка — оператор персональных данных
|
|
6
|
+
* своих клиентов, мы обрабатываем их по её поручению, поэтому политика и
|
|
7
|
+
* согласие должны быть от её имени, а не от имени Escape Navigator.
|
|
8
|
+
*/
|
|
9
|
+
var ProfileDocumentTypeEnum;
|
|
10
|
+
(function (ProfileDocumentTypeEnum) {
|
|
11
|
+
/** Клиентское соглашение (оферта) — `/company/:slug/terms-of-services`. */
|
|
12
|
+
ProfileDocumentTypeEnum["AGREEMENT"] = "agreement";
|
|
13
|
+
/** Политика обработки ПДн — `/company/:slug/privacy-policy`. */
|
|
14
|
+
ProfileDocumentTypeEnum["PRIVACY_POLICY"] = "privacy_policy";
|
|
15
|
+
/**
|
|
16
|
+
* Согласие на обработку ПДн — `/company/:slug/personal-data-consent`.
|
|
17
|
+
* Только РФ: 152-ФЗ требует оформлять согласие отдельно от других
|
|
18
|
+
* документов. В ЕС основание — договор (GDPR 6(1)(b)), согласие не нужно.
|
|
19
|
+
*/
|
|
20
|
+
ProfileDocumentTypeEnum["PD_CONSENT"] = "pd_consent";
|
|
21
|
+
})(ProfileDocumentTypeEnum || (exports.ProfileDocumentTypeEnum = ProfileDocumentTypeEnum = {}));
|
|
22
|
+
/** Страница `/company/:slug/<path>` в orders для каждого документа площадки. */
|
|
23
|
+
exports.PROFILE_DOCUMENT_PATH = {
|
|
24
|
+
[ProfileDocumentTypeEnum.AGREEMENT]: 'terms-of-services',
|
|
25
|
+
[ProfileDocumentTypeEnum.PRIVACY_POLICY]: 'privacy-policy',
|
|
26
|
+
[ProfileDocumentTypeEnum.PD_CONSENT]: 'personal-data-consent',
|
|
27
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ProfileDocumentTypeEnum } from './profile-document-type.enum';
|
|
2
|
+
/**
|
|
3
|
+
* Как документ площадки попадает к клиенту:
|
|
4
|
+
* - `custom` — площадка написала свой текст;
|
|
5
|
+
* - `url` — ведём на документ на сайте площадки;
|
|
6
|
+
* - `standard` — стандартный текст из шаблона с реквизитами площадки
|
|
7
|
+
* (есть только там, где у нас есть шаблон — сейчас РФ);
|
|
8
|
+
* - `none` — ничего нет, публичная страница показывает политику
|
|
9
|
+
* Escape Navigator как запасной вариант.
|
|
10
|
+
*/
|
|
11
|
+
export type ProfileDocumentMode = 'custom' | 'url' | 'standard' | 'none';
|
|
12
|
+
/** Документ площадки в CRM: что сохранено и что увидит клиент. */
|
|
13
|
+
export type ProfileDocumentRO = {
|
|
14
|
+
type: ProfileDocumentTypeEnum;
|
|
15
|
+
text: string;
|
|
16
|
+
url: string;
|
|
17
|
+
mode: ProfileDocumentMode;
|
|
18
|
+
/** Для `standard` — готовый текст шаблона, чтобы показать его в CRM. */
|
|
19
|
+
standardText?: string;
|
|
20
|
+
/** Каких реквизитов не хватает стандартному тексту (legalTitle, legalTaxId…). */
|
|
21
|
+
missingRequisites?: string[];
|
|
22
|
+
updatedAt?: Date | string;
|
|
23
|
+
};
|
|
24
|
+
/** Публичный документ площадки для страницы в orders. */
|
|
25
|
+
export type PublicProfileDocumentRO = {
|
|
26
|
+
type: ProfileDocumentTypeEnum;
|
|
27
|
+
mode: ProfileDocumentMode;
|
|
28
|
+
text: string;
|
|
29
|
+
url: string;
|
|
30
|
+
updatedAt?: Date | string;
|
|
31
|
+
profile: {
|
|
32
|
+
title?: string;
|
|
33
|
+
logo?: string;
|
|
34
|
+
};
|
|
35
|
+
};
|