@escapenavigator/types 2.1.27 → 2.1.29
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/aggregator-order/update-aggregator-order.dto.d.ts +2 -0
- package/dist/admin/aggregator-order/update-aggregator-order.dto.js +7 -0
- package/dist/fiscal/fiscal-settings.ro.d.ts +1 -0
- package/dist/fiscal/fiscal-settings.ro.js +4 -0
- package/dist/fiscal/update-fiscal-settings.dto.d.ts +1 -0
- package/dist/fiscal/update-fiscal-settings.dto.js +6 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/openapi/profiles/enum/openapi-promocode-applies-to.enum.d.ts +5 -0
- package/dist/openapi/profiles/enum/openapi-promocode-applies-to.enum.js +9 -0
- package/dist/openapi/profiles/openapi-create-promocode.dto.d.ts +34 -0
- package/dist/openapi/profiles/openapi-create-promocode.dto.js +330 -0
- package/dist/openapi/profiles/openapi-promocode.ro.d.ts +37 -0
- package/dist/openapi/profiles/openapi-promocode.ro.js +187 -0
- package/dist/openapi/shared/openapi-get-payment-methods.ro.d.ts +5 -0
- package/dist/openapi/shared/openapi-get-payment-methods.ro.js +4 -0
- package/dist/openapi/shared/openapi-questroom.ro.d.ts +2 -0
- package/dist/openapi/shared/openapi-questroom.ro.js +8 -0
- package/dist/openapi/slots/openapi-slot-variation.ro.js +1 -1
- package/dist/openapi/slots/openapi-widget-slot.ro.d.ts +1 -0
- package/dist/openapi/slots/openapi-widget-slot.ro.js +10 -0
- package/dist/openapi/upsellings/openapi-upselling.ro.d.ts +2 -0
- package/dist/openapi/upsellings/openapi-upselling.ro.js +8 -0
- package/dist/openapi/widget/openapi-resolve-promocode.ro.d.ts +2 -0
- package/dist/openapi/widget/openapi-resolve-promocode.ro.js +4 -0
- package/dist/order/order.ro.d.ts +2 -0
- package/dist/order/order.ro.js +4 -0
- package/dist/order/waivers/order-to-sign.ro.d.ts +5 -0
- package/dist/order/waivers/order-to-sign.ro.js +8 -0
- package/dist/order/waivers/sign-order.dto.d.ts +11 -0
- package/dist/order/waivers/sign-order.dto.js +22 -2
- package/dist/product/product-sales-query.dto.d.ts +5 -0
- package/dist/product/product-sales-query.dto.js +37 -0
- package/dist/profile/company-ai-context.d.ts +1 -0
- package/dist/profile/marketing-email/preflight-issue.ro.d.ts +1 -5
- package/dist/profile/marketing-email/preflight-issue.ro.js +1 -5
- package/dist/profile/notification-chanel/notification-chanel-action.enum.d.ts +13 -1
- package/dist/profile/notification-chanel/notification-chanel-action.enum.js +14 -1
- package/dist/profile/profile.ro.d.ts +2 -0
- package/dist/profile/profile.ro.js +4 -0
- package/dist/promocode/create-promocode.dto.d.ts +7 -0
- package/dist/promocode/create-promocode.dto.js +9 -0
- package/dist/promocode/emun/promocode-discount-target.enum.d.ts +17 -0
- package/dist/promocode/emun/promocode-discount-target.enum.js +34 -0
- package/dist/promocode/promocode.ro.d.ts +2 -0
- package/dist/promocode/promocode.ro.js +4 -0
- package/dist/questroom/create-questroom.dto.d.ts +3 -0
- package/dist/questroom/create-questroom.dto.js +21 -0
- package/dist/questroom/questroom.ro.d.ts +2 -0
- package/dist/questroom/questroom.ro.js +8 -0
- package/dist/salary/assign-salary-scheme.dto.d.ts +4 -0
- package/dist/salary/assign-salary-scheme.dto.js +30 -0
- package/dist/salary/create-salary-accrual.dto.d.ts +8 -0
- package/dist/salary/create-salary-accrual.dto.js +48 -0
- package/dist/salary/create-salary-scheme.dto.d.ts +13 -0
- package/dist/salary/create-salary-scheme.dto.js +59 -0
- package/dist/salary/enum/salary-accrual-source-type.enum.d.ts +13 -0
- package/dist/salary/enum/salary-accrual-source-type.enum.js +18 -0
- package/dist/salary/enum/salary-accrual-type.enum.d.ts +12 -0
- package/dist/salary/enum/salary-accrual-type.enum.js +21 -0
- package/dist/salary/index.d.ts +15 -0
- package/dist/salary/index.js +31 -0
- package/dist/salary/query-salary-period.dto.d.ts +16 -0
- package/dist/salary/query-salary-period.dto.js +86 -0
- package/dist/salary/run-salary-accruals.dto.d.ts +5 -0
- package/dist/salary/run-salary-accruals.dto.js +37 -0
- package/dist/salary/salary-accrual.ro.d.ts +23 -0
- package/dist/salary/salary-accrual.ro.js +2 -0
- package/dist/salary/salary-my.ro.d.ts +12 -0
- package/dist/salary/salary-my.ro.js +2 -0
- package/dist/salary/salary-payout.ro.d.ts +18 -0
- package/dist/salary/salary-payout.ro.js +2 -0
- package/dist/salary/salary-preview.ro.d.ts +31 -0
- package/dist/salary/salary-preview.ro.js +2 -0
- package/dist/salary/salary-scheme.ro.d.ts +25 -0
- package/dist/salary/salary-scheme.ro.js +2 -0
- package/dist/salary/salary-settings.dto.d.ts +6 -0
- package/dist/salary/salary-settings.dto.js +22 -0
- package/dist/salary/salary-summary.ro.d.ts +37 -0
- package/dist/salary/salary-summary.ro.js +2 -0
- package/dist/salary/update-salary-scheme.dto.d.ts +4 -0
- package/dist/salary/update-salary-scheme.dto.js +25 -0
- package/dist/shared/card-badge.d.ts +9 -0
- package/dist/shared/card-badge.js +18 -0
- package/dist/slot/enum/prepayment-collection.enum.d.ts +7 -0
- package/dist/slot/enum/prepayment-collection.enum.js +11 -0
- package/dist/slot-rule/create-rule.dto.d.ts +2 -0
- package/dist/slot-rule/create-rule.dto.js +8 -0
- package/dist/slot-rule/defailt-rule.d.ts +2 -0
- package/dist/slot-rule/defailt-rule.js +2 -0
- package/dist/slot-rule/rule.ro.d.ts +2 -0
- package/dist/slot-rule/rule.ro.js +5 -0
- package/dist/statistics/bookings.d.ts +14 -0
- package/dist/statistics/products.d.ts +18 -0
- package/dist/statistics/products.js +2 -0
- package/dist/transaction/create-transaction.dto.d.ts +2 -0
- package/dist/transaction/create-transaction.dto.js +14 -0
- package/dist/transaction/transaction.ro.d.ts +2 -0
- package/dist/transaction/transaction.ro.js +8 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/upselling/create-upselling.dto.d.ts +7 -1
- package/dist/upselling/create-upselling.dto.js +21 -0
- package/dist/upselling/upselling.ro.d.ts +2 -0
- package/dist/upselling/upselling.ro.js +8 -0
- package/dist/user/crud/user-light.ro.d.ts +3 -1
- package/dist/user/crud/user-light.ro.js +5 -1
- package/package.json +2 -2
|
@@ -0,0 +1,187 @@
|
|
|
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.OpenapiPromocodeRO = exports.OpenapiPromocodeNominalRuleRO = void 0;
|
|
13
|
+
/* eslint-disable max-classes-per-file */
|
|
14
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
15
|
+
const class_transformer_1 = require("class-transformer");
|
|
16
|
+
const promocode_certificate_mode_enum_1 = require("../../promocode/emun/promocode-certificate-mode.enum");
|
|
17
|
+
const promocode_discount_target_enum_1 = require("../../promocode/emun/promocode-discount-target.enum");
|
|
18
|
+
const promocode_type_enum_1 = require("../../promocode/emun/promocode-type.enum");
|
|
19
|
+
const openapi_promocode_applies_to_enum_1 = require("./enum/openapi-promocode-applies-to.enum");
|
|
20
|
+
class OpenapiPromocodeNominalRuleRO {
|
|
21
|
+
}
|
|
22
|
+
exports.OpenapiPromocodeNominalRuleRO = OpenapiPromocodeNominalRuleRO;
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, class_transformer_1.Expose)(),
|
|
25
|
+
(0, swagger_1.ApiProperty)({ example: 12 }),
|
|
26
|
+
__metadata("design:type", Number)
|
|
27
|
+
], OpenapiPromocodeNominalRuleRO.prototype, "nominalId", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, class_transformer_1.Expose)(),
|
|
30
|
+
(0, swagger_1.ApiProperty)({
|
|
31
|
+
example: 1000,
|
|
32
|
+
description: 'Amount in minor currency units. Meaning depends on `certificateMode`.',
|
|
33
|
+
}),
|
|
34
|
+
__metadata("design:type", Number)
|
|
35
|
+
], OpenapiPromocodeNominalRuleRO.prototype, "amount", void 0);
|
|
36
|
+
class OpenapiPromocodeRO {
|
|
37
|
+
}
|
|
38
|
+
exports.OpenapiPromocodeRO = OpenapiPromocodeRO;
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, class_transformer_1.Expose)(),
|
|
41
|
+
(0, swagger_1.ApiProperty)({ example: 501, description: 'Escape Navigator internal promocode id.' }),
|
|
42
|
+
__metadata("design:type", Number)
|
|
43
|
+
], OpenapiPromocodeRO.prototype, "promocodeId", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, class_transformer_1.Expose)(),
|
|
46
|
+
(0, swagger_1.ApiProperty)({ example: 'SUMMER26' }),
|
|
47
|
+
__metadata("design:type", String)
|
|
48
|
+
], OpenapiPromocodeRO.prototype, "code", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, class_transformer_1.Expose)(),
|
|
51
|
+
(0, swagger_1.ApiProperty)({ example: 'Summer campaign, 10% off games' }),
|
|
52
|
+
__metadata("design:type", String)
|
|
53
|
+
], OpenapiPromocodeRO.prototype, "description", void 0);
|
|
54
|
+
__decorate([
|
|
55
|
+
(0, class_transformer_1.Expose)(),
|
|
56
|
+
(0, swagger_1.ApiProperty)({
|
|
57
|
+
enum: openapi_promocode_applies_to_enum_1.OpenapiPromocodeAppliesToEnum,
|
|
58
|
+
example: openapi_promocode_applies_to_enum_1.OpenapiPromocodeAppliesToEnum.BOOKINGS,
|
|
59
|
+
}),
|
|
60
|
+
__metadata("design:type", String)
|
|
61
|
+
], OpenapiPromocodeRO.prototype, "appliesTo", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, class_transformer_1.Expose)(),
|
|
64
|
+
(0, swagger_1.ApiProperty)({ enum: promocode_type_enum_1.PromocodeTypeEnum, example: promocode_type_enum_1.PromocodeTypeEnum.PERCENT_ALL_SUM }),
|
|
65
|
+
__metadata("design:type", String)
|
|
66
|
+
], OpenapiPromocodeRO.prototype, "type", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
(0, class_transformer_1.Expose)(),
|
|
69
|
+
(0, swagger_1.ApiProperty)({
|
|
70
|
+
example: 1000,
|
|
71
|
+
description: 'Booking discount in the same units as on create. `0` for promotional and certificate promocodes.',
|
|
72
|
+
}),
|
|
73
|
+
__metadata("design:type", Number)
|
|
74
|
+
], OpenapiPromocodeRO.prototype, "discount", void 0);
|
|
75
|
+
__decorate([
|
|
76
|
+
(0, class_transformer_1.Expose)(),
|
|
77
|
+
(0, swagger_1.ApiProperty)({ enum: promocode_discount_target_enum_1.PromocodeDiscountTargetEnum, isArray: true }),
|
|
78
|
+
__metadata("design:type", Array)
|
|
79
|
+
], OpenapiPromocodeRO.prototype, "discountTargets", void 0);
|
|
80
|
+
__decorate([
|
|
81
|
+
(0, class_transformer_1.Expose)(),
|
|
82
|
+
(0, swagger_1.ApiProperty)({ example: true }),
|
|
83
|
+
__metadata("design:type", Boolean)
|
|
84
|
+
], OpenapiPromocodeRO.prototype, "multiple", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, class_transformer_1.Expose)(),
|
|
87
|
+
(0, swagger_1.ApiProperty)({
|
|
88
|
+
example: 100,
|
|
89
|
+
nullable: true,
|
|
90
|
+
description: 'Total use limit. `null` means unlimited (or a single use when `multiple` is false).',
|
|
91
|
+
}),
|
|
92
|
+
__metadata("design:type", Number)
|
|
93
|
+
], OpenapiPromocodeRO.prototype, "maxApplyings", void 0);
|
|
94
|
+
__decorate([
|
|
95
|
+
(0, class_transformer_1.Expose)(),
|
|
96
|
+
(0, swagger_1.ApiProperty)({ example: false }),
|
|
97
|
+
__metadata("design:type", Boolean)
|
|
98
|
+
], OpenapiPromocodeRO.prototype, "canUseWithOtherPromocodes", void 0);
|
|
99
|
+
__decorate([
|
|
100
|
+
(0, class_transformer_1.Expose)(),
|
|
101
|
+
(0, swagger_1.ApiProperty)({ example: true }),
|
|
102
|
+
__metadata("design:type", Boolean)
|
|
103
|
+
], OpenapiPromocodeRO.prototype, "canUseWithOtherCertificates", void 0);
|
|
104
|
+
__decorate([
|
|
105
|
+
(0, class_transformer_1.Expose)(),
|
|
106
|
+
(0, swagger_1.ApiProperty)({ example: false }),
|
|
107
|
+
__metadata("design:type", Boolean)
|
|
108
|
+
], OpenapiPromocodeRO.prototype, "onlinePaymentOnly", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
(0, class_transformer_1.Expose)(),
|
|
111
|
+
(0, swagger_1.ApiProperty)({ example: '2026-06-01', nullable: true }),
|
|
112
|
+
__metadata("design:type", String)
|
|
113
|
+
], OpenapiPromocodeRO.prototype, "validFrom", void 0);
|
|
114
|
+
__decorate([
|
|
115
|
+
(0, class_transformer_1.Expose)(),
|
|
116
|
+
(0, swagger_1.ApiProperty)({ example: '2026-08-31', nullable: true }),
|
|
117
|
+
__metadata("design:type", String)
|
|
118
|
+
], OpenapiPromocodeRO.prototype, "validTo", void 0);
|
|
119
|
+
__decorate([
|
|
120
|
+
(0, class_transformer_1.Expose)(),
|
|
121
|
+
(0, swagger_1.ApiProperty)({ example: null, nullable: true }),
|
|
122
|
+
__metadata("design:type", String)
|
|
123
|
+
], OpenapiPromocodeRO.prototype, "forOrdersFrom", void 0);
|
|
124
|
+
__decorate([
|
|
125
|
+
(0, class_transformer_1.Expose)(),
|
|
126
|
+
(0, swagger_1.ApiProperty)({ example: null, nullable: true }),
|
|
127
|
+
__metadata("design:type", String)
|
|
128
|
+
], OpenapiPromocodeRO.prototype, "forOrdersTo", void 0);
|
|
129
|
+
__decorate([
|
|
130
|
+
(0, class_transformer_1.Expose)(),
|
|
131
|
+
(0, swagger_1.ApiProperty)({ example: '00:00' }),
|
|
132
|
+
__metadata("design:type", String)
|
|
133
|
+
], OpenapiPromocodeRO.prototype, "availableFrom", void 0);
|
|
134
|
+
__decorate([
|
|
135
|
+
(0, class_transformer_1.Expose)(),
|
|
136
|
+
(0, swagger_1.ApiProperty)({ example: '23:55' }),
|
|
137
|
+
__metadata("design:type", String)
|
|
138
|
+
], OpenapiPromocodeRO.prototype, "availableTo", void 0);
|
|
139
|
+
__decorate([
|
|
140
|
+
(0, class_transformer_1.Expose)(),
|
|
141
|
+
(0, swagger_1.ApiProperty)({ example: [0, 1, 2, 3, 4, 5, 6], description: '`0` is Monday … `6` is Sunday.' }),
|
|
142
|
+
__metadata("design:type", Array)
|
|
143
|
+
], OpenapiPromocodeRO.prototype, "availableDays", void 0);
|
|
144
|
+
__decorate([
|
|
145
|
+
(0, class_transformer_1.Expose)(),
|
|
146
|
+
(0, swagger_1.ApiProperty)({
|
|
147
|
+
example: true,
|
|
148
|
+
description: '`true` when the code is not limited to specific rooms.',
|
|
149
|
+
}),
|
|
150
|
+
__metadata("design:type", Boolean)
|
|
151
|
+
], OpenapiPromocodeRO.prototype, "allQuestrooms", void 0);
|
|
152
|
+
__decorate([
|
|
153
|
+
(0, class_transformer_1.Expose)(),
|
|
154
|
+
(0, swagger_1.ApiProperty)({ example: [], description: 'Empty when `allQuestrooms` is true.' }),
|
|
155
|
+
__metadata("design:type", Array)
|
|
156
|
+
], OpenapiPromocodeRO.prototype, "questroomIds", void 0);
|
|
157
|
+
__decorate([
|
|
158
|
+
(0, class_transformer_1.Expose)(),
|
|
159
|
+
(0, swagger_1.ApiProperty)({ example: null, nullable: true }),
|
|
160
|
+
__metadata("design:type", Number)
|
|
161
|
+
], OpenapiPromocodeRO.prototype, "minPlayers", void 0);
|
|
162
|
+
__decorate([
|
|
163
|
+
(0, class_transformer_1.Expose)(),
|
|
164
|
+
(0, swagger_1.ApiProperty)({ example: null, nullable: true }),
|
|
165
|
+
__metadata("design:type", Number)
|
|
166
|
+
], OpenapiPromocodeRO.prototype, "maxPlayers", void 0);
|
|
167
|
+
__decorate([
|
|
168
|
+
(0, class_transformer_1.Expose)(),
|
|
169
|
+
(0, swagger_1.ApiProperty)({ example: null, nullable: true }),
|
|
170
|
+
__metadata("design:type", String)
|
|
171
|
+
], OpenapiPromocodeRO.prototype, "clientDescription", void 0);
|
|
172
|
+
__decorate([
|
|
173
|
+
(0, class_transformer_1.Expose)(),
|
|
174
|
+
(0, swagger_1.ApiProperty)({ enum: promocode_certificate_mode_enum_1.PromocodeCertificateModeEnum, nullable: true }),
|
|
175
|
+
__metadata("design:type", String)
|
|
176
|
+
], OpenapiPromocodeRO.prototype, "certificateMode", void 0);
|
|
177
|
+
__decorate([
|
|
178
|
+
(0, class_transformer_1.Expose)(),
|
|
179
|
+
(0, class_transformer_1.Type)(() => OpenapiPromocodeNominalRuleRO),
|
|
180
|
+
(0, swagger_1.ApiProperty)({ type: [OpenapiPromocodeNominalRuleRO] }),
|
|
181
|
+
__metadata("design:type", Array)
|
|
182
|
+
], OpenapiPromocodeRO.prototype, "certificateNominalRules", void 0);
|
|
183
|
+
__decorate([
|
|
184
|
+
(0, class_transformer_1.Expose)(),
|
|
185
|
+
(0, swagger_1.ApiProperty)({ example: '2026-06-01T12:00:00.000Z' }),
|
|
186
|
+
__metadata("design:type", Date)
|
|
187
|
+
], OpenapiPromocodeRO.prototype, "createdAt", void 0);
|
|
@@ -8,6 +8,11 @@ export declare class OpenapiGetPaymentMethodsRO {
|
|
|
8
8
|
method: PaymentMethodEnum;
|
|
9
9
|
/** Чем принимают на площадке. Только у `cash`. */
|
|
10
10
|
onSitePaymentMethods?: OnSitePaymentMethodEnum[];
|
|
11
|
+
/**
|
|
12
|
+
* Кнопка «Оплатить на месте» рядом с онлайн-оплатой.
|
|
13
|
+
* Ставится на cash, когда предоплата берётся после брони.
|
|
14
|
+
*/
|
|
15
|
+
payOnSite?: boolean;
|
|
11
16
|
squareAppId?: string;
|
|
12
17
|
squareLocationId?: string;
|
|
13
18
|
full: Format;
|
|
@@ -34,6 +34,10 @@ __decorate([
|
|
|
34
34
|
(0, class_transformer_1.Expose)(),
|
|
35
35
|
__metadata("design:type", Array)
|
|
36
36
|
], OpenapiGetPaymentMethodsRO.prototype, "onSitePaymentMethods", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, class_transformer_1.Expose)(),
|
|
39
|
+
__metadata("design:type", Boolean)
|
|
40
|
+
], OpenapiGetPaymentMethodsRO.prototype, "payOnSite", void 0);
|
|
37
41
|
__decorate([
|
|
38
42
|
(0, class_transformer_1.Expose)(),
|
|
39
43
|
__metadata("design:type", String)
|
|
@@ -86,6 +86,8 @@ export declare class OpenapiQuestroomRO {
|
|
|
86
86
|
playersSelectMode: PlayersSelectModeEnum;
|
|
87
87
|
slotStepMinutes: number;
|
|
88
88
|
questOpeningDate?: string;
|
|
89
|
+
badge?: string | null;
|
|
90
|
+
badgeColor?: string | null;
|
|
89
91
|
}
|
|
90
92
|
export declare class QuestroomRow {
|
|
91
93
|
questroom: OpenapiQuestroomRO;
|
|
@@ -272,6 +272,14 @@ __decorate([
|
|
|
272
272
|
(0, class_transformer_1.Expose)(),
|
|
273
273
|
__metadata("design:type", String)
|
|
274
274
|
], OpenapiQuestroomRO.prototype, "questOpeningDate", void 0);
|
|
275
|
+
__decorate([
|
|
276
|
+
(0, class_transformer_1.Expose)(),
|
|
277
|
+
__metadata("design:type", String)
|
|
278
|
+
], OpenapiQuestroomRO.prototype, "badge", void 0);
|
|
279
|
+
__decorate([
|
|
280
|
+
(0, class_transformer_1.Expose)(),
|
|
281
|
+
__metadata("design:type", String)
|
|
282
|
+
], OpenapiQuestroomRO.prototype, "badgeColor", void 0);
|
|
275
283
|
class QuestroomRow {
|
|
276
284
|
}
|
|
277
285
|
exports.QuestroomRow = QuestroomRow;
|
|
@@ -168,7 +168,7 @@ __decorate([
|
|
|
168
168
|
], OpenapiSlotVariationRO.prototype, "minPlayers", void 0);
|
|
169
169
|
__decorate([
|
|
170
170
|
(0, swagger_1.ApiProperty)({
|
|
171
|
-
description: 'Maximum
|
|
171
|
+
description: 'Maximum players for this variation. On the public booking path this is the quest setting (`playersMax`). In CRM it is the highest priced team size on the tariff, which may be higher.',
|
|
172
172
|
example: 6,
|
|
173
173
|
}),
|
|
174
174
|
(0, class_transformer_1.Expose)(),
|
|
@@ -127,6 +127,16 @@ __decorate([
|
|
|
127
127
|
(0, class_transformer_1.Expose)(),
|
|
128
128
|
__metadata("design:type", Number)
|
|
129
129
|
], OpenapiSlotRO.prototype, "numSeatsAvailable", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
(0, swagger_1.ApiProperty)({
|
|
132
|
+
description: 'How many more parallel games still fit at this time. Set for ticket rooms that limit the number of games, not only seats. Null when there is no such limit.',
|
|
133
|
+
required: false,
|
|
134
|
+
nullable: true,
|
|
135
|
+
example: 4,
|
|
136
|
+
}),
|
|
137
|
+
(0, class_transformer_1.Expose)(),
|
|
138
|
+
__metadata("design:type", Number)
|
|
139
|
+
], OpenapiSlotRO.prototype, "availableTeams", void 0);
|
|
130
140
|
__decorate([
|
|
131
141
|
(0, swagger_1.ApiProperty)({
|
|
132
142
|
description: 'Discount applied to the slot. With `discountType: percent` the value is in basis points (1500 = 15%); with `discountType: fixed` it is an amount in minor currency units subtracted once per booking.',
|
|
@@ -78,3 +78,11 @@ __decorate([
|
|
|
78
78
|
(0, class_transformer_1.Expose)(),
|
|
79
79
|
__metadata("design:type", Boolean)
|
|
80
80
|
], OpenapiUpsellingRO.prototype, "popular", void 0);
|
|
81
|
+
__decorate([
|
|
82
|
+
(0, class_transformer_1.Expose)(),
|
|
83
|
+
__metadata("design:type", String)
|
|
84
|
+
], OpenapiUpsellingRO.prototype, "badge", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, class_transformer_1.Expose)(),
|
|
87
|
+
__metadata("design:type", String)
|
|
88
|
+
], OpenapiUpsellingRO.prototype, "badgeColor", void 0);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PromocodeCertificateModeEnum } from '../../promocode/emun/promocode-certificate-mode.enum';
|
|
2
|
+
import { PromocodeDiscountTargetEnum } from '../../promocode/emun/promocode-discount-target.enum';
|
|
2
3
|
import { PromocodeTypeEnum } from '../../promocode/emun/promocode-type.enum';
|
|
3
4
|
import { PromocodeNominalRule } from '../../promocode/promocode-nominal-rule';
|
|
4
5
|
/**
|
|
@@ -12,6 +13,7 @@ export declare class OpenapiPromocodeWidgetRO {
|
|
|
12
13
|
code: string;
|
|
13
14
|
type: PromocodeTypeEnum;
|
|
14
15
|
discount: number;
|
|
16
|
+
discountTargets: PromocodeDiscountTargetEnum[];
|
|
15
17
|
clientDescription?: string;
|
|
16
18
|
availableForBookings: boolean;
|
|
17
19
|
availableForCertificates: boolean;
|
|
@@ -39,6 +39,10 @@ __decorate([
|
|
|
39
39
|
(0, class_transformer_1.Expose)(),
|
|
40
40
|
__metadata("design:type", Number)
|
|
41
41
|
], OpenapiPromocodeWidgetRO.prototype, "discount", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, class_transformer_1.Expose)(),
|
|
44
|
+
__metadata("design:type", Array)
|
|
45
|
+
], OpenapiPromocodeWidgetRO.prototype, "discountTargets", void 0);
|
|
42
46
|
__decorate([
|
|
43
47
|
(0, class_transformer_1.Expose)(),
|
|
44
48
|
__metadata("design:type", String)
|
package/dist/order/order.ro.d.ts
CHANGED
|
@@ -363,5 +363,7 @@ export declare class OrderRO extends RO {
|
|
|
363
363
|
* POST /orders/:id/closing-document. Не платёж — в payed/toPay не участвует.
|
|
364
364
|
*/
|
|
365
365
|
closingDocumentLink?: string | null;
|
|
366
|
+
/** Ссылка клиента на управление бронью (orders). Считается в findOne. */
|
|
367
|
+
bookingManagementUrl?: string;
|
|
366
368
|
}
|
|
367
369
|
export {};
|
package/dist/order/order.ro.js
CHANGED
|
@@ -814,3 +814,7 @@ __decorate([
|
|
|
814
814
|
(0, class_transformer_1.Expose)(),
|
|
815
815
|
__metadata("design:type", String)
|
|
816
816
|
], OrderRO.prototype, "closingDocumentLink", void 0);
|
|
817
|
+
__decorate([
|
|
818
|
+
(0, class_transformer_1.Expose)(),
|
|
819
|
+
__metadata("design:type", String)
|
|
820
|
+
], OrderRO.prototype, "bookingManagementUrl", void 0);
|
|
@@ -21,6 +21,11 @@ declare class Participant {
|
|
|
21
21
|
surname: string;
|
|
22
22
|
patronymic?: string;
|
|
23
23
|
email: string;
|
|
24
|
+
/**
|
|
25
|
+
* Саму дату на публичную страницу подписания не отдаём — только факт,
|
|
26
|
+
* чтобы спросить её, если в карточке пусто.
|
|
27
|
+
*/
|
|
28
|
+
hasBirthday: boolean;
|
|
24
29
|
}
|
|
25
30
|
declare class OrderParticipant {
|
|
26
31
|
id: number;
|
|
@@ -66,6 +66,14 @@ __decorate([
|
|
|
66
66
|
(0, class_transformer_1.Expose)(),
|
|
67
67
|
__metadata("design:type", String)
|
|
68
68
|
], Participant.prototype, "email", void 0);
|
|
69
|
+
__decorate([
|
|
70
|
+
(0, class_transformer_1.Expose)(),
|
|
71
|
+
(0, class_transformer_1.Transform)(({ obj }) => {
|
|
72
|
+
const birthday = obj === null || obj === void 0 ? void 0 : obj.birthday;
|
|
73
|
+
return typeof birthday === 'string' && birthday.trim().length > 0;
|
|
74
|
+
}),
|
|
75
|
+
__metadata("design:type", Boolean)
|
|
76
|
+
], Participant.prototype, "hasBirthday", void 0);
|
|
69
77
|
class OrderParticipant {
|
|
70
78
|
}
|
|
71
79
|
__decorate([
|
|
@@ -13,6 +13,12 @@ declare class Minor extends ChildRelation {
|
|
|
13
13
|
}
|
|
14
14
|
declare class ExistingChild extends ChildRelation {
|
|
15
15
|
id: number;
|
|
16
|
+
/**
|
|
17
|
+
* Форма ставит true, если у ребёнка в карточке нет даты рождения
|
|
18
|
+
* и её нужно дописать с вейвера.
|
|
19
|
+
*/
|
|
20
|
+
askBirthday?: boolean;
|
|
21
|
+
birthday?: string;
|
|
16
22
|
}
|
|
17
23
|
export declare class SignOrderDTO {
|
|
18
24
|
agree: boolean;
|
|
@@ -30,6 +36,11 @@ export declare class SignOrderDTO {
|
|
|
30
36
|
sendAds: boolean;
|
|
31
37
|
email: string;
|
|
32
38
|
phone: string;
|
|
39
|
+
/**
|
|
40
|
+
* Форма ставит true, когда выбран уже существующий участник без даты
|
|
41
|
+
* рождения и шаблон вейвера эту дату спрашивает.
|
|
42
|
+
*/
|
|
43
|
+
askBirthday?: boolean;
|
|
33
44
|
birthday: string;
|
|
34
45
|
address: string;
|
|
35
46
|
existingChilds: ExistingChild[];
|
|
@@ -68,6 +68,19 @@ __decorate([
|
|
|
68
68
|
(0, class_transformer_1.Expose)(),
|
|
69
69
|
__metadata("design:type", Number)
|
|
70
70
|
], ExistingChild.prototype, "id", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
(0, class_validator_1.IsOptional)(),
|
|
73
|
+
(0, class_validator_1.IsBoolean)(),
|
|
74
|
+
(0, class_transformer_1.Expose)(),
|
|
75
|
+
__metadata("design:type", Boolean)
|
|
76
|
+
], ExistingChild.prototype, "askBirthday", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, class_validator_1.ValidateIf)((child) => !!child.askBirthday || !!child.birthday),
|
|
79
|
+
(0, is_not_blank_1.IsNotBlank)(),
|
|
80
|
+
(0, ins_minor_1.IsMinor)(),
|
|
81
|
+
(0, class_transformer_1.Expose)(),
|
|
82
|
+
__metadata("design:type", String)
|
|
83
|
+
], ExistingChild.prototype, "birthday", void 0);
|
|
71
84
|
class SignOrderDTO {
|
|
72
85
|
}
|
|
73
86
|
exports.SignOrderDTO = SignOrderDTO;
|
|
@@ -161,9 +174,16 @@ __decorate([
|
|
|
161
174
|
__metadata("design:type", String)
|
|
162
175
|
], SignOrderDTO.prototype, "phone", void 0);
|
|
163
176
|
__decorate([
|
|
164
|
-
(0, class_validator_1.
|
|
177
|
+
(0, class_validator_1.IsOptional)(),
|
|
178
|
+
(0, class_validator_1.IsBoolean)(),
|
|
179
|
+
(0, class_transformer_1.Expose)(),
|
|
180
|
+
__metadata("design:type", Boolean)
|
|
181
|
+
], SignOrderDTO.prototype, "askBirthday", void 0);
|
|
182
|
+
__decorate([
|
|
183
|
+
(0, class_validator_1.ValidateIf)(({ existingParticipantId, waiverFields, askBirthday }) => (!existingParticipantId &&
|
|
165
184
|
Array.isArray(waiverFields) &&
|
|
166
|
-
waiverFields.includes(widget_booking_filed_enum_1.WidgetBookingFiledEnum.BIRTHDAY))
|
|
185
|
+
waiverFields.includes(widget_booking_filed_enum_1.WidgetBookingFiledEnum.BIRTHDAY)) ||
|
|
186
|
+
(!!existingParticipantId && !!askBirthday)),
|
|
167
187
|
(0, is_not_blank_1.IsNotBlank)(),
|
|
168
188
|
(0, class_transformer_1.Expose)(),
|
|
169
189
|
__metadata("design:type", String)
|
|
@@ -0,0 +1,37 @@
|
|
|
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.ProductSalesFilterDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
class ProductSalesFilterDto {
|
|
16
|
+
}
|
|
17
|
+
exports.ProductSalesFilterDto = ProductSalesFilterDto;
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, class_transformer_1.Expose)(),
|
|
20
|
+
(0, class_validator_1.IsOptional)(),
|
|
21
|
+
(0, class_transformer_1.Transform)(({ value }) => (Array.isArray(value) ? value : ['', ''])),
|
|
22
|
+
__metadata("design:type", Array)
|
|
23
|
+
], ProductSalesFilterDto.prototype, "date", void 0);
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, class_transformer_1.Expose)(),
|
|
26
|
+
(0, class_validator_1.IsOptional)(),
|
|
27
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
28
|
+
(0, class_validator_1.IsInt)(),
|
|
29
|
+
__metadata("design:type", Number)
|
|
30
|
+
], ProductSalesFilterDto.prototype, "locationId", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, class_transformer_1.Expose)(),
|
|
33
|
+
(0, class_validator_1.IsOptional)(),
|
|
34
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
35
|
+
(0, class_validator_1.IsInt)(),
|
|
36
|
+
__metadata("design:type", Number)
|
|
37
|
+
], ProductSalesFilterDto.prototype, "productId", void 0);
|
|
@@ -41,11 +41,7 @@ export declare enum PreflightIssueCodeEnum {
|
|
|
41
41
|
* должен узнать об этом до нажатия «Отправить», а не из отчёта.
|
|
42
42
|
*/
|
|
43
43
|
QuietHours = "quiet_hours",
|
|
44
|
-
/**
|
|
45
|
-
* Аудитория больше суточного лимита прогрева домена — отправка
|
|
46
|
-
* растянется на несколько дней. Предупреждение: письма не теряются,
|
|
47
|
-
* но пользователь должен понимать, почему «отправлено» растёт медленно.
|
|
48
|
-
*/
|
|
44
|
+
/** @deprecated Код сохранён для совместимости; теперь это общий лимит 50/24ч. */
|
|
49
45
|
DomainWarmup = "domain_warmup"
|
|
50
46
|
}
|
|
51
47
|
export declare class PreflightIssueRO {
|
|
@@ -56,11 +56,7 @@ var PreflightIssueCodeEnum;
|
|
|
56
56
|
* должен узнать об этом до нажатия «Отправить», а не из отчёта.
|
|
57
57
|
*/
|
|
58
58
|
PreflightIssueCodeEnum["QuietHours"] = "quiet_hours";
|
|
59
|
-
/**
|
|
60
|
-
* Аудитория больше суточного лимита прогрева домена — отправка
|
|
61
|
-
* растянется на несколько дней. Предупреждение: письма не теряются,
|
|
62
|
-
* но пользователь должен понимать, почему «отправлено» растёт медленно.
|
|
63
|
-
*/
|
|
59
|
+
/** @deprecated Код сохранён для совместимости; теперь это общий лимит 50/24ч. */
|
|
64
60
|
PreflightIssueCodeEnum["DomainWarmup"] = "domain_warmup";
|
|
65
61
|
})(PreflightIssueCodeEnum || (exports.PreflightIssueCodeEnum = PreflightIssueCodeEnum = {}));
|
|
66
62
|
class PreflightIssueRO {
|
|
@@ -21,7 +21,13 @@ export declare enum NotificationTriggerEnum {
|
|
|
21
21
|
* «оставить заявку» в записи или подбор пакета. Заявки, созданные
|
|
22
22
|
* сотрудником вручную, событие не поднимают.
|
|
23
23
|
*/
|
|
24
|
-
NEW_LEAD = "new-lead"
|
|
24
|
+
NEW_LEAD = "new-lead",
|
|
25
|
+
/**
|
|
26
|
+
* Гость подписал вейвер. Один POST — одно событие: подпись покрывает
|
|
27
|
+
* подписанта и всех, кого он вписал в этот раз. Письма сотруднику нет,
|
|
28
|
+
* уходят вебхук и мессенджеры.
|
|
29
|
+
*/
|
|
30
|
+
WAIVER_SIGNED = "waiver-signed"
|
|
25
31
|
}
|
|
26
32
|
/**
|
|
27
33
|
* События, payload которых строится вокруг продажи сертификата, а не заказа.
|
|
@@ -35,3 +41,9 @@ export declare const isCertificateNotificationTrigger: (trigger: NotificationTri
|
|
|
35
41
|
* он его нигде не видит.
|
|
36
42
|
*/
|
|
37
43
|
export declare const isLeadNotificationTrigger: (trigger: NotificationTriggerEnum) => trigger is NotificationTriggerEnum.NEW_LEAD;
|
|
44
|
+
export declare const isWaiverNotificationTrigger: (trigger: NotificationTriggerEnum) => trigger is NotificationTriggerEnum.WAIVER_SIGNED;
|
|
45
|
+
/**
|
|
46
|
+
* События, по которым сотруднику уходит письмо. Вейвер в этот список не
|
|
47
|
+
* входит: отдельного письма нет, и чекбокс в почте ничего бы не слал.
|
|
48
|
+
*/
|
|
49
|
+
export declare const STAFF_EMAIL_NOTIFICATION_TRIGGERS: (NotificationTriggerEnum.NEW_ORDER | NotificationTriggerEnum.UPDATE_ORDER_DATE | NotificationTriggerEnum.CANCEL_ORDER | NotificationTriggerEnum.ASSIGNMENTS | NotificationTriggerEnum.CERTIFICATE_SALES | NotificationTriggerEnum.UNASSIGNMENTS | NotificationTriggerEnum.ORDER_PAID_VIA_ORDERS | NotificationTriggerEnum.CERTIFICATE_UPDATED | NotificationTriggerEnum.CERTIFICATE_ANNUL | NotificationTriggerEnum.NEW_LEAD)[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isLeadNotificationTrigger = exports.isCertificateNotificationTrigger = exports.CERTIFICATE_NOTIFICATION_TRIGGERS = exports.NotificationTriggerEnum = void 0;
|
|
3
|
+
exports.STAFF_EMAIL_NOTIFICATION_TRIGGERS = exports.isWaiverNotificationTrigger = exports.isLeadNotificationTrigger = exports.isCertificateNotificationTrigger = exports.CERTIFICATE_NOTIFICATION_TRIGGERS = exports.NotificationTriggerEnum = void 0;
|
|
4
4
|
var NotificationTriggerEnum;
|
|
5
5
|
(function (NotificationTriggerEnum) {
|
|
6
6
|
NotificationTriggerEnum["NEW_ORDER"] = "new-order";
|
|
@@ -26,6 +26,12 @@ var NotificationTriggerEnum;
|
|
|
26
26
|
* сотрудником вручную, событие не поднимают.
|
|
27
27
|
*/
|
|
28
28
|
NotificationTriggerEnum["NEW_LEAD"] = "new-lead";
|
|
29
|
+
/**
|
|
30
|
+
* Гость подписал вейвер. Один POST — одно событие: подпись покрывает
|
|
31
|
+
* подписанта и всех, кого он вписал в этот раз. Письма сотруднику нет,
|
|
32
|
+
* уходят вебхук и мессенджеры.
|
|
33
|
+
*/
|
|
34
|
+
NotificationTriggerEnum["WAIVER_SIGNED"] = "waiver-signed";
|
|
29
35
|
})(NotificationTriggerEnum || (exports.NotificationTriggerEnum = NotificationTriggerEnum = {}));
|
|
30
36
|
/**
|
|
31
37
|
* События, payload которых строится вокруг продажи сертификата, а не заказа.
|
|
@@ -45,3 +51,10 @@ exports.isCertificateNotificationTrigger = isCertificateNotificationTrigger;
|
|
|
45
51
|
*/
|
|
46
52
|
const isLeadNotificationTrigger = (trigger) => trigger === NotificationTriggerEnum.NEW_LEAD;
|
|
47
53
|
exports.isLeadNotificationTrigger = isLeadNotificationTrigger;
|
|
54
|
+
const isWaiverNotificationTrigger = (trigger) => trigger === NotificationTriggerEnum.WAIVER_SIGNED;
|
|
55
|
+
exports.isWaiverNotificationTrigger = isWaiverNotificationTrigger;
|
|
56
|
+
/**
|
|
57
|
+
* События, по которым сотруднику уходит письмо. Вейвер в этот список не
|
|
58
|
+
* входит: отдельного письма нет, и чекбокс в почте ничего бы не слал.
|
|
59
|
+
*/
|
|
60
|
+
exports.STAFF_EMAIL_NOTIFICATION_TRIGGERS = Object.values(NotificationTriggerEnum).filter((trigger) => trigger !== NotificationTriggerEnum.WAIVER_SIGNED);
|
|
@@ -83,6 +83,8 @@ export declare class ProfileRO {
|
|
|
83
83
|
taxIncluded: boolean;
|
|
84
84
|
/** Включён ли виджет-чат для компании. */
|
|
85
85
|
widgetChatEnabled: boolean;
|
|
86
|
+
/** Сотрудник может видеть только собственные начисления и выплаты. */
|
|
87
|
+
payrollSelfView: boolean;
|
|
86
88
|
/** Быстрый вход по PIN на общем компьютере + блокировка CRM. */
|
|
87
89
|
pinLockEnabled: boolean;
|
|
88
90
|
/** Простой до блокировки, в минутах. 0 — не блокировать по простою. */
|
|
@@ -236,6 +236,10 @@ __decorate([
|
|
|
236
236
|
(0, class_transformer_1.Expose)(),
|
|
237
237
|
__metadata("design:type", Boolean)
|
|
238
238
|
], ProfileRO.prototype, "widgetChatEnabled", void 0);
|
|
239
|
+
__decorate([
|
|
240
|
+
(0, class_transformer_1.Expose)(),
|
|
241
|
+
__metadata("design:type", Boolean)
|
|
242
|
+
], ProfileRO.prototype, "payrollSelfView", void 0);
|
|
239
243
|
__decorate([
|
|
240
244
|
(0, class_transformer_1.Expose)(),
|
|
241
245
|
(0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : true),
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PromocodeCertificateModeEnum } from './emun/promocode-certificate-mode.enum';
|
|
2
|
+
import { PromocodeDiscountTargetEnum } from './emun/promocode-discount-target.enum';
|
|
2
3
|
import { PromocodeKindEnum } from './emun/promocode-kind.enum';
|
|
3
4
|
import { PromocodeTypeEnum } from './emun/promocode-type.enum';
|
|
4
5
|
export declare class PromocodeNominalRuleDto {
|
|
@@ -25,6 +26,12 @@ export declare class CreatePromocodeDto {
|
|
|
25
26
|
forOrdersFrom: string;
|
|
26
27
|
forOrdersTo: string;
|
|
27
28
|
type: PromocodeTypeEnum;
|
|
29
|
+
/**
|
|
30
|
+
* Части игрового заказа, на которые действует денежная скидка.
|
|
31
|
+
* Отсутствующее значение мапится из legacy-типа промокода, чтобы старые
|
|
32
|
+
* клиенты API сохраняли прежнее поведение до обновления.
|
|
33
|
+
*/
|
|
34
|
+
discountTargets: PromocodeDiscountTargetEnum[];
|
|
28
35
|
discount: number;
|
|
29
36
|
clientDescription?: string;
|
|
30
37
|
allQuestrooms: boolean;
|
|
@@ -14,6 +14,7 @@ const class_transformer_1 = require("class-transformer");
|
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
15
|
const weekday_indexes_1 = require("../shared/weekday-indexes");
|
|
16
16
|
const promocode_certificate_mode_enum_1 = require("./emun/promocode-certificate-mode.enum");
|
|
17
|
+
const promocode_discount_target_enum_1 = require("./emun/promocode-discount-target.enum");
|
|
17
18
|
const promocode_kind_enum_1 = require("./emun/promocode-kind.enum");
|
|
18
19
|
const promocode_type_enum_1 = require("./emun/promocode-type.enum");
|
|
19
20
|
class PromocodeNominalRuleDto {
|
|
@@ -126,6 +127,14 @@ __decorate([
|
|
|
126
127
|
(0, class_transformer_1.Expose)(),
|
|
127
128
|
__metadata("design:type", String)
|
|
128
129
|
], CreatePromocodeDto.prototype, "type", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
(0, class_validator_1.IsArray)(),
|
|
132
|
+
(0, class_validator_1.ArrayNotEmpty)(),
|
|
133
|
+
(0, class_validator_1.IsEnum)(promocode_discount_target_enum_1.PromocodeDiscountTargetEnum, { each: true }),
|
|
134
|
+
(0, class_transformer_1.Transform)(({ obj, value }) => (0, promocode_discount_target_enum_1.resolvePromocodeDiscountTargets)(Array.isArray(value) ? [...new Set(value)] : undefined, obj.type)),
|
|
135
|
+
(0, class_transformer_1.Expose)(),
|
|
136
|
+
__metadata("design:type", Array)
|
|
137
|
+
], CreatePromocodeDto.prototype, "discountTargets", void 0);
|
|
129
138
|
__decorate([
|
|
130
139
|
(0, class_transformer_1.Transform)(({ obj, value }) => {
|
|
131
140
|
if (obj.type === promocode_type_enum_1.PromocodeTypeEnum.PROMOTIONAL)
|