@escapenavigator/types 2.0.0 → 2.0.3
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/academy/academy-admin-article.ro.d.ts +24 -0
- package/dist/academy/academy-admin-article.ro.js +81 -0
- package/dist/academy/academy-article-card.ro.d.ts +19 -0
- package/dist/academy/academy-article-card.ro.js +58 -0
- package/dist/academy/academy-article-translation.ro.d.ts +8 -0
- package/dist/academy/academy-article-translation.ro.js +37 -0
- package/dist/academy/academy-article.ro.d.ts +22 -0
- package/dist/academy/academy-article.ro.js +66 -0
- package/dist/academy/academy-articles.query.dto.d.ts +11 -0
- package/dist/academy/academy-articles.query.dto.js +45 -0
- package/dist/academy/create-academy-article.dto.d.ts +28 -0
- package/dist/academy/create-academy-article.dto.js +114 -0
- package/dist/academy/enum/academy-article-status.enum.d.ts +8 -0
- package/dist/academy/enum/academy-article-status.enum.js +12 -0
- package/dist/academy/enum/academy-article-type.enum.d.ts +8 -0
- package/dist/academy/enum/academy-article-type.enum.js +12 -0
- package/dist/academy/enum/academy-function-tag.enum.d.ts +20 -0
- package/dist/academy/enum/academy-function-tag.enum.js +24 -0
- package/dist/academy/update-academy-article.dto.d.ts +5 -0
- package/dist/academy/update-academy-article.dto.js +8 -0
- package/dist/agb/agb-type.enum.d.ts +3 -1
- package/dist/agb/agb-type.enum.js +3 -0
- package/dist/certificate-v2/certificate-design.ro.d.ts +1 -0
- package/dist/certificate-v2/certificate-design.ro.js +4 -0
- package/dist/certificate-v2/certificate-settings.ro.d.ts +2 -0
- package/dist/certificate-v2/certificate-settings.ro.js +5 -0
- package/dist/certificate-v2/create-certificate-design.dto.d.ts +1 -0
- package/dist/certificate-v2/create-certificate-design.dto.js +6 -0
- package/dist/certificate-v2/enum/certificate-shop-flow-order.enum.d.ts +12 -0
- package/dist/certificate-v2/enum/certificate-shop-flow-order.enum.js +16 -0
- package/dist/certificate-v2/update-certificate-settings.dto.d.ts +2 -0
- package/dist/certificate-v2/update-certificate-settings.dto.js +7 -0
- package/dist/client/client.ro.d.ts +6 -0
- package/dist/client/client.ro.js +4 -0
- package/dist/coalition/coalition-list.ro.d.ts +9 -0
- package/dist/coalition/coalition-list.ro.js +38 -0
- package/dist/coalition/coalition-partner.ro.d.ts +6 -0
- package/dist/coalition/coalition-partner.ro.js +29 -0
- package/dist/coalition/coalition-stats.ro.d.ts +17 -0
- package/dist/coalition/coalition-stats.ro.js +56 -0
- package/dist/coalition/coalition.ro.d.ts +24 -0
- package/dist/coalition/coalition.ro.js +57 -0
- package/dist/coalition/create-coalition-request.dto.d.ts +8 -0
- package/dist/coalition/create-coalition-request.dto.js +30 -0
- package/dist/coalition/emun/coalition-status.enum.d.ts +14 -0
- package/dist/coalition/emun/coalition-status.enum.js +18 -0
- package/dist/constants/all-languages-by-namespace.js +1 -0
- package/dist/constants/country-by-namespace.js +1 -0
- package/dist/constants/country-name-by-country.js +1 -0
- package/dist/constants/currency-by-country.js +1 -0
- package/dist/constants/emergency-phones.js +1 -0
- package/dist/constants/language-by-country.js +1 -0
- package/dist/constants/language-flag-by-language.js +1 -0
- package/dist/constants/language-name-by-language.js +1 -0
- package/dist/constants/namespace-by-country.js +1 -0
- package/dist/constants/navigator-certificate-nominals-by-country.js +1 -0
- package/dist/dashboard-calendar/dashboard-calendar-markers.dto.d.ts +10 -0
- package/dist/dashboard-calendar/dashboard-calendar-markers.dto.js +37 -0
- package/dist/dashboard-calendar/dashboard-calendar-markers.ro.d.ts +16 -0
- package/dist/dashboard-calendar/dashboard-calendar-markers.ro.js +2 -0
- package/dist/dashboard-calendar/dashboard-calendar.enum.d.ts +18 -0
- package/dist/dashboard-calendar/dashboard-calendar.enum.js +23 -0
- package/dist/dynamic-resource/create-dynamic-resource.dto.d.ts +8 -1
- package/dist/dynamic-resource/create-dynamic-resource.dto.js +13 -0
- package/dist/openapi/certificates-v2/openapi-certificate-design.ro.d.ts +1 -0
- package/dist/openapi/certificates-v2/openapi-certificate-design.ro.js +4 -0
- package/dist/openapi/certificates-v2/openapi-certificates-shop.ro.d.ts +2 -0
- package/dist/openapi/certificates-v2/openapi-certificates-shop.ro.js +5 -0
- package/dist/openapi/order-groups/openapi-batch-create-preorder.dto.d.ts +7 -0
- package/dist/openapi/order-groups/openapi-batch-create-preorder.dto.js +6 -0
- package/dist/openapi/shared/openapi-order-upselling.ro.d.ts +1 -0
- package/dist/openapi/shared/openapi-order-upselling.ro.js +4 -0
- package/dist/openapi/widget/openapi-widget-info.ro.d.ts +4 -0
- package/dist/openapi/widget/openapi-widget-info.ro.js +16 -0
- package/dist/order/order-cancel-preview.ro.d.ts +6 -0
- package/dist/order/order.ro.d.ts +9 -0
- package/dist/order/order.ro.js +29 -1
- package/dist/packages/book-package.dto.d.ts +23 -0
- package/dist/packages/book-package.dto.js +110 -0
- package/dist/packages/create-package.dto.d.ts +41 -4
- package/dist/packages/create-package.dto.js +170 -10
- package/dist/packages/package-availability.dto.d.ts +13 -0
- package/dist/packages/package-availability.dto.js +54 -0
- package/dist/packages/package-availability.ro.d.ts +36 -0
- package/dist/packages/package-availability.ro.js +113 -0
- package/dist/packages/package-cancel-scope.enum.d.ts +6 -0
- package/dist/packages/package-cancel-scope.enum.js +10 -0
- package/dist/packages/package-capacity-model.enum.d.ts +6 -0
- package/dist/packages/package-capacity-model.enum.js +10 -0
- package/dist/packages/package-position-kind.enum.d.ts +6 -0
- package/dist/packages/package-position-kind.enum.js +10 -0
- package/dist/packages/package-position-selection.enum.d.ts +8 -0
- package/dist/packages/package-position-selection.enum.js +12 -0
- package/dist/packages/package-position.dto.d.ts +35 -0
- package/dist/packages/package-position.dto.js +102 -0
- package/dist/packages/package-split-mode.enum.d.ts +6 -0
- package/dist/packages/package-split-mode.enum.js +10 -0
- package/dist/packages/package-timing-mode.enum.d.ts +8 -0
- package/dist/packages/package-timing-mode.enum.js +12 -0
- package/dist/packages/package.ro.d.ts +35 -3
- package/dist/packages/package.ro.js +113 -3
- package/dist/profile/profile.ro.d.ts +9 -0
- package/dist/profile/profile.ro.js +20 -0
- package/dist/profile/update-current.dto.d.ts +4 -0
- package/dist/profile/update-current.dto.js +20 -0
- package/dist/questroom/create-questroom-resource.dto.d.ts +12 -0
- package/dist/questroom/create-questroom-resource.dto.js +13 -0
- package/dist/questroom/questroom-ai-context.d.ts +1 -0
- package/dist/questroom/questroom-resource.ro.d.ts +4 -0
- package/dist/questroom/questroom-resource.ro.js +8 -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 +1 -0
- package/dist/role/role.ro.js +4 -0
- package/dist/shared/enum/countries.enum.d.ts +2 -1
- package/dist/shared/enum/countries.enum.js +1 -0
- package/dist/shared/enum/languages.enum.d.ts +2 -1
- package/dist/shared/enum/languages.enum.js +1 -0
- package/dist/shared/enum/namespaces.enum.d.ts +2 -1
- package/dist/shared/enum/namespaces.enum.js +1 -0
- package/dist/shared/language-to-country.js +1 -0
- package/dist/shared/success.ro.d.ts +2 -0
- package/dist/shared/timezone.enum.d.ts +1 -0
- package/dist/shared/timezone.enum.js +1 -0
- package/dist/slot/bulk-update-slots.dto.d.ts +8 -0
- package/dist/slot/bulk-update-slots.dto.js +45 -0
- package/dist/survey/mint-survey-link.dto.d.ts +5 -0
- package/dist/survey/mint-survey-link.dto.js +6 -0
- package/dist/survey/operator-submit-survey.dto.d.ts +6 -0
- package/dist/survey/operator-submit-survey.dto.js +6 -0
- package/dist/survey/survey-template.ro.d.ts +6 -0
- package/dist/survey/survey-template.ro.js +4 -0
- package/dist/survey/update-survey-template.dto.d.ts +5 -0
- package/dist/survey/update-survey-template.dto.js +7 -0
- package/dist/tariff/create-tariff.dto.d.ts +6 -0
- package/dist/tariff/create-tariff.dto.js +6 -0
- package/dist/tariff/tariff-light.ro.d.ts +1 -0
- package/dist/tariff/tariff-light.ro.js +4 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/upselling/create-upselling.dto.d.ts +1 -0
- package/dist/upselling/create-upselling.dto.js +6 -0
- package/dist/upselling/upselling.ro.d.ts +1 -0
- package/dist/upselling/upselling.ro.js +4 -0
- package/dist/widget/create-widget.dto.d.ts +2 -0
- package/dist/widget/create-widget.dto.js +10 -0
- package/dist/widget/widget.ro.d.ts +3 -0
- package/dist/widget-chat/widget-chat-conversation.ro.d.ts +1 -0
- package/dist/widget-chat/widget-chat-identify.dto.d.ts +1 -0
- package/dist/widget-chat/widget-chat-identify.dto.js +6 -0
- package/dist/widget-funnel/widget-funnel-step.enum.d.ts +12 -0
- package/dist/widget-funnel/widget-funnel-step.enum.js +16 -1
- package/dist/widget-funnel/widget-funnel.ro.d.ts +6 -2
- package/package.json +2 -2
- package/dist/constants/ready-countries.d.ts +0 -2
- package/dist/constants/ready-countries.js +0 -5
|
@@ -12,20 +12,167 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.CreatePackageDto = void 0;
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
|
+
const is_not_blank_1 = require("../shared/is-not-blank");
|
|
16
|
+
const package_cancel_scope_enum_1 = require("./package-cancel-scope.enum");
|
|
17
|
+
const package_capacity_model_enum_1 = require("./package-capacity-model.enum");
|
|
15
18
|
const package_discount_type_enum_1 = require("./package-discount-type.enum");
|
|
19
|
+
const package_position_dto_1 = require("./package-position.dto");
|
|
20
|
+
const package_split_mode_enum_1 = require("./package-split-mode.enum");
|
|
21
|
+
const package_timing_mode_enum_1 = require("./package-timing-mode.enum");
|
|
16
22
|
class CreatePackageDto {
|
|
17
23
|
}
|
|
18
24
|
exports.CreatePackageDto = CreatePackageDto;
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, is_not_blank_1.IsNotBlank)(),
|
|
27
|
+
(0, class_transformer_1.Expose)(),
|
|
28
|
+
__metadata("design:type", String)
|
|
29
|
+
], CreatePackageDto.prototype, "title", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_validator_1.IsOptional)(),
|
|
32
|
+
(0, class_validator_1.IsString)(),
|
|
33
|
+
(0, class_transformer_1.Expose)(),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], CreatePackageDto.prototype, "clientTitle", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, class_validator_1.IsOptional)(),
|
|
38
|
+
(0, class_validator_1.IsString)(),
|
|
39
|
+
(0, class_transformer_1.Expose)(),
|
|
40
|
+
__metadata("design:type", String)
|
|
41
|
+
], CreatePackageDto.prototype, "clientDescription", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, class_validator_1.IsOptional)(),
|
|
44
|
+
(0, class_validator_1.IsString)(),
|
|
45
|
+
(0, class_transformer_1.Expose)(),
|
|
46
|
+
__metadata("design:type", String)
|
|
47
|
+
], CreatePackageDto.prototype, "photo", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, class_validator_1.IsOptional)(),
|
|
50
|
+
(0, class_validator_1.IsString)(),
|
|
51
|
+
(0, class_transformer_1.Expose)(),
|
|
52
|
+
__metadata("design:type", String)
|
|
53
|
+
], CreatePackageDto.prototype, "color", void 0);
|
|
54
|
+
__decorate([
|
|
55
|
+
(0, class_validator_1.IsInt)(),
|
|
56
|
+
(0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 0 : +value)),
|
|
57
|
+
(0, class_transformer_1.Expose)(),
|
|
58
|
+
__metadata("design:type", Number)
|
|
59
|
+
], CreatePackageDto.prototype, "sortPosition", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, class_validator_1.IsBoolean)(),
|
|
62
|
+
(0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : false),
|
|
63
|
+
(0, class_transformer_1.Expose)(),
|
|
64
|
+
__metadata("design:type", Boolean)
|
|
65
|
+
], CreatePackageDto.prototype, "availableInWidget", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, class_validator_1.IsBoolean)(),
|
|
68
|
+
(0, class_transformer_1.Transform)(({ value }) => (value === undefined ? true : value)),
|
|
69
|
+
(0, class_transformer_1.Expose)(),
|
|
70
|
+
__metadata("design:type", Boolean)
|
|
71
|
+
], CreatePackageDto.prototype, "saved", void 0);
|
|
72
|
+
__decorate([
|
|
73
|
+
(0, class_validator_1.IsOptional)(),
|
|
74
|
+
(0, class_validator_1.IsString)(),
|
|
75
|
+
(0, class_transformer_1.Expose)(),
|
|
76
|
+
__metadata("design:type", String)
|
|
77
|
+
], CreatePackageDto.prototype, "activeFrom", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
(0, class_validator_1.IsOptional)(),
|
|
80
|
+
(0, class_validator_1.IsString)(),
|
|
81
|
+
(0, class_transformer_1.Expose)(),
|
|
82
|
+
__metadata("design:type", String)
|
|
83
|
+
], CreatePackageDto.prototype, "activeTo", void 0);
|
|
19
84
|
__decorate([
|
|
20
85
|
(0, class_validator_1.IsArray)(),
|
|
21
86
|
(0, class_validator_1.ArrayNotEmpty)(),
|
|
22
|
-
(0,
|
|
23
|
-
(0, class_transformer_1.Transform)(({ value }) => (Array.isArray(value) ? value.map((item) => +item) : [])),
|
|
87
|
+
(0, class_transformer_1.Transform)(({ value }) => ((value === null || value === void 0 ? void 0 : value.length) ? value : [0, 1, 2, 3, 4, 5, 6])),
|
|
24
88
|
(0, class_transformer_1.Expose)(),
|
|
25
89
|
__metadata("design:type", Array)
|
|
26
|
-
], CreatePackageDto.prototype, "
|
|
90
|
+
], CreatePackageDto.prototype, "availableDays", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
(0, is_not_blank_1.IsNotBlank)(),
|
|
93
|
+
(0, class_transformer_1.Transform)(({ value }) => value || '00:00'),
|
|
94
|
+
(0, class_transformer_1.Expose)(),
|
|
95
|
+
__metadata("design:type", String)
|
|
96
|
+
], CreatePackageDto.prototype, "availableFrom", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
(0, is_not_blank_1.IsNotBlank)(),
|
|
99
|
+
(0, class_transformer_1.Transform)(({ value }) => value || '23:55'),
|
|
100
|
+
(0, class_transformer_1.Expose)(),
|
|
101
|
+
__metadata("design:type", String)
|
|
102
|
+
], CreatePackageDto.prototype, "availableTo", void 0);
|
|
103
|
+
__decorate([
|
|
104
|
+
(0, class_validator_1.IsArray)(),
|
|
105
|
+
(0, class_validator_1.ArrayNotEmpty)(),
|
|
106
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
107
|
+
(0, class_transformer_1.Type)(() => package_position_dto_1.PackagePositionDto),
|
|
108
|
+
(0, class_transformer_1.Expose)(),
|
|
109
|
+
__metadata("design:type", Array)
|
|
110
|
+
], CreatePackageDto.prototype, "positions", void 0);
|
|
111
|
+
__decorate([
|
|
112
|
+
(0, class_validator_1.IsEnum)(package_timing_mode_enum_1.PackageTimingModeEnum),
|
|
113
|
+
(0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : package_timing_mode_enum_1.PackageTimingModeEnum.INDEPENDENT),
|
|
114
|
+
(0, class_transformer_1.Expose)(),
|
|
115
|
+
__metadata("design:type", String)
|
|
116
|
+
], CreatePackageDto.prototype, "timingMode", void 0);
|
|
117
|
+
__decorate([
|
|
118
|
+
(0, class_validator_1.IsInt)(),
|
|
119
|
+
(0, class_validator_1.Min)(0),
|
|
120
|
+
(0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 0 : +value)),
|
|
121
|
+
(0, class_transformer_1.Expose)(),
|
|
122
|
+
__metadata("design:type", Number)
|
|
123
|
+
], CreatePackageDto.prototype, "gapMin", void 0);
|
|
124
|
+
__decorate([
|
|
125
|
+
(0, class_validator_1.IsInt)(),
|
|
126
|
+
(0, class_validator_1.Min)(0),
|
|
127
|
+
(0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 60 : +value)),
|
|
128
|
+
(0, class_transformer_1.Expose)(),
|
|
129
|
+
__metadata("design:type", Number)
|
|
130
|
+
], CreatePackageDto.prototype, "gapMax", void 0);
|
|
131
|
+
__decorate([
|
|
132
|
+
(0, class_validator_1.IsBoolean)(),
|
|
133
|
+
(0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : false),
|
|
134
|
+
(0, class_transformer_1.Expose)(),
|
|
135
|
+
__metadata("design:type", Boolean)
|
|
136
|
+
], CreatePackageDto.prototype, "allowDifferentDays", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
(0, class_validator_1.IsBoolean)(),
|
|
139
|
+
(0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : false),
|
|
140
|
+
(0, class_transformer_1.Expose)(),
|
|
141
|
+
__metadata("design:type", Boolean)
|
|
142
|
+
], CreatePackageDto.prototype, "requireSameStart", void 0);
|
|
143
|
+
__decorate([
|
|
144
|
+
(0, class_validator_1.IsBoolean)(),
|
|
145
|
+
(0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : false),
|
|
146
|
+
(0, class_transformer_1.Expose)(),
|
|
147
|
+
__metadata("design:type", Boolean)
|
|
148
|
+
], CreatePackageDto.prototype, "sameLocation", void 0);
|
|
149
|
+
__decorate([
|
|
150
|
+
(0, class_validator_1.IsEnum)(package_capacity_model_enum_1.PackageCapacityModelEnum),
|
|
151
|
+
(0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : package_capacity_model_enum_1.PackageCapacityModelEnum.PER_POSITION),
|
|
152
|
+
(0, class_transformer_1.Expose)(),
|
|
153
|
+
__metadata("design:type", String)
|
|
154
|
+
], CreatePackageDto.prototype, "capacityModel", void 0);
|
|
155
|
+
__decorate([
|
|
156
|
+
(0, class_validator_1.IsEnum)(package_split_mode_enum_1.PackageSplitModeEnum),
|
|
157
|
+
(0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : package_split_mode_enum_1.PackageSplitModeEnum.AUTO),
|
|
158
|
+
(0, class_transformer_1.Expose)(),
|
|
159
|
+
__metadata("design:type", String)
|
|
160
|
+
], CreatePackageDto.prototype, "splitMode", void 0);
|
|
161
|
+
__decorate([
|
|
162
|
+
(0, class_validator_1.IsOptional)(),
|
|
163
|
+
(0, class_validator_1.IsInt)(),
|
|
164
|
+
(0, class_transformer_1.Expose)(),
|
|
165
|
+
__metadata("design:type", Number)
|
|
166
|
+
], CreatePackageDto.prototype, "playersMin", void 0);
|
|
167
|
+
__decorate([
|
|
168
|
+
(0, class_validator_1.IsOptional)(),
|
|
169
|
+
(0, class_validator_1.IsInt)(),
|
|
170
|
+
(0, class_transformer_1.Expose)(),
|
|
171
|
+
__metadata("design:type", Number)
|
|
172
|
+
], CreatePackageDto.prototype, "playersMax", void 0);
|
|
27
173
|
__decorate([
|
|
28
174
|
(0, class_validator_1.IsEnum)(package_discount_type_enum_1.PackageDiscountTypeEnum),
|
|
175
|
+
(0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : package_discount_type_enum_1.PackageDiscountTypeEnum.PERCENT),
|
|
29
176
|
(0, class_transformer_1.Expose)(),
|
|
30
177
|
__metadata("design:type", String)
|
|
31
178
|
], CreatePackageDto.prototype, "discountType", void 0);
|
|
@@ -38,21 +185,34 @@ __decorate([
|
|
|
38
185
|
__metadata("design:type", Number)
|
|
39
186
|
], CreatePackageDto.prototype, "discountAmount", void 0);
|
|
40
187
|
__decorate([
|
|
188
|
+
(0, class_validator_1.IsOptional)(),
|
|
41
189
|
(0, class_validator_1.IsInt)(),
|
|
42
|
-
(0, class_validator_1.Min)(
|
|
190
|
+
(0, class_validator_1.Min)(0),
|
|
43
191
|
(0, class_transformer_1.Expose)(),
|
|
44
192
|
__metadata("design:type", Number)
|
|
45
|
-
], CreatePackageDto.prototype, "
|
|
193
|
+
], CreatePackageDto.prototype, "salesLimit", void 0);
|
|
46
194
|
__decorate([
|
|
195
|
+
(0, class_validator_1.IsOptional)(),
|
|
47
196
|
(0, class_validator_1.IsInt)(),
|
|
48
|
-
(0, class_validator_1.Min)(
|
|
49
|
-
(0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 1 : Number(value))),
|
|
197
|
+
(0, class_validator_1.Min)(0),
|
|
50
198
|
(0, class_transformer_1.Expose)(),
|
|
51
199
|
__metadata("design:type", Number)
|
|
52
|
-
], CreatePackageDto.prototype, "
|
|
200
|
+
], CreatePackageDto.prototype, "perClientLimit", void 0);
|
|
53
201
|
__decorate([
|
|
54
202
|
(0, class_validator_1.IsBoolean)(),
|
|
55
|
-
(0, class_transformer_1.Transform)(({ value }) =>
|
|
203
|
+
(0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : false),
|
|
56
204
|
(0, class_transformer_1.Expose)(),
|
|
57
205
|
__metadata("design:type", Boolean)
|
|
58
|
-
], CreatePackageDto.prototype, "
|
|
206
|
+
], CreatePackageDto.prototype, "combinableWithPromocodes", void 0);
|
|
207
|
+
__decorate([
|
|
208
|
+
(0, class_validator_1.IsBoolean)(),
|
|
209
|
+
(0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : false),
|
|
210
|
+
(0, class_transformer_1.Expose)(),
|
|
211
|
+
__metadata("design:type", Boolean)
|
|
212
|
+
], CreatePackageDto.prototype, "combinableWithCertificates", void 0);
|
|
213
|
+
__decorate([
|
|
214
|
+
(0, class_validator_1.IsEnum)(package_cancel_scope_enum_1.PackageCancelScopeEnum),
|
|
215
|
+
(0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : package_cancel_scope_enum_1.PackageCancelScopeEnum.WHOLE_ONLY),
|
|
216
|
+
(0, class_transformer_1.Expose)(),
|
|
217
|
+
__metadata("design:type", String)
|
|
218
|
+
], CreatePackageDto.prototype, "cancelScope", void 0);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Явное распределение игроков по позициям (для splitMode=manual / perPosition). */
|
|
2
|
+
export declare class PackagePlayersByPositionDto {
|
|
3
|
+
positionId: string;
|
|
4
|
+
players: number;
|
|
5
|
+
}
|
|
6
|
+
export declare class PackageAvailabilityQueryDto {
|
|
7
|
+
/** Дата, на которую проверяем доступность (yyyy-MM-dd). */
|
|
8
|
+
date: string;
|
|
9
|
+
/** Общее число игроков (для capacityModel=shared). */
|
|
10
|
+
players?: number;
|
|
11
|
+
/** Игроки по позициям (для perPosition / ручного сплита). */
|
|
12
|
+
playersByPosition?: PackagePlayersByPositionDto[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
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.PackageAvailabilityQueryDto = exports.PackagePlayersByPositionDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/** Явное распределение игроков по позициям (для splitMode=manual / perPosition). */
|
|
16
|
+
class PackagePlayersByPositionDto {
|
|
17
|
+
}
|
|
18
|
+
exports.PackagePlayersByPositionDto = PackagePlayersByPositionDto;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_validator_1.IsString)(),
|
|
21
|
+
(0, class_transformer_1.Expose)(),
|
|
22
|
+
__metadata("design:type", String)
|
|
23
|
+
], PackagePlayersByPositionDto.prototype, "positionId", void 0);
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, class_validator_1.IsInt)(),
|
|
26
|
+
(0, class_validator_1.Min)(0),
|
|
27
|
+
(0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 0 : +value)),
|
|
28
|
+
(0, class_transformer_1.Expose)(),
|
|
29
|
+
__metadata("design:type", Number)
|
|
30
|
+
], PackagePlayersByPositionDto.prototype, "players", void 0);
|
|
31
|
+
class PackageAvailabilityQueryDto {
|
|
32
|
+
}
|
|
33
|
+
exports.PackageAvailabilityQueryDto = PackageAvailabilityQueryDto;
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, class_validator_1.IsString)(),
|
|
36
|
+
(0, class_transformer_1.Expose)(),
|
|
37
|
+
__metadata("design:type", String)
|
|
38
|
+
], PackageAvailabilityQueryDto.prototype, "date", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, class_validator_1.IsOptional)(),
|
|
41
|
+
(0, class_validator_1.IsInt)(),
|
|
42
|
+
(0, class_validator_1.Min)(0),
|
|
43
|
+
(0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 0 : +value)),
|
|
44
|
+
(0, class_transformer_1.Expose)(),
|
|
45
|
+
__metadata("design:type", Number)
|
|
46
|
+
], PackageAvailabilityQueryDto.prototype, "players", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, class_validator_1.IsOptional)(),
|
|
49
|
+
(0, class_validator_1.IsArray)(),
|
|
50
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
51
|
+
(0, class_transformer_1.Type)(() => PackagePlayersByPositionDto),
|
|
52
|
+
(0, class_transformer_1.Expose)(),
|
|
53
|
+
__metadata("design:type", Array)
|
|
54
|
+
], PackageAvailabilityQueryDto.prototype, "playersByPosition", void 0);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { PackageTimingModeEnum } from './package-timing-mode.enum';
|
|
2
|
+
/** Один конкретный слот-кандидат под позицию пакета. */
|
|
3
|
+
export declare class PackageSlotOptionRO {
|
|
4
|
+
positionId: string;
|
|
5
|
+
questroomId: number;
|
|
6
|
+
slotId: number;
|
|
7
|
+
date: string;
|
|
8
|
+
start: string;
|
|
9
|
+
end: string;
|
|
10
|
+
durationMinutes: number;
|
|
11
|
+
availablePlayers: number;
|
|
12
|
+
tariffId: number;
|
|
13
|
+
}
|
|
14
|
+
/** Готовая валидная комбинация слотов (по одному на инстанс позиции). */
|
|
15
|
+
export declare class PackageCombinationRO {
|
|
16
|
+
slots: PackageSlotOptionRO[];
|
|
17
|
+
/** Суммарная свободная вместимость набора (для shared-подсказки в UI). */
|
|
18
|
+
totalCapacity: number;
|
|
19
|
+
}
|
|
20
|
+
/** Кандидаты под одну позицию (для independent-режима, где клиент выбирает сам). */
|
|
21
|
+
export declare class PackagePositionOptionsRO {
|
|
22
|
+
positionId: string;
|
|
23
|
+
options: PackageSlotOptionRO[];
|
|
24
|
+
}
|
|
25
|
+
export declare class PackageAvailabilityRO {
|
|
26
|
+
packageId: number;
|
|
27
|
+
date: string;
|
|
28
|
+
timingMode: PackageTimingModeEnum;
|
|
29
|
+
available: boolean;
|
|
30
|
+
/** Причина недоступности (для UI): 'noSlots' | 'capacity' | 'inactive'. */
|
|
31
|
+
reason?: string;
|
|
32
|
+
/** Для independent: независимые списки кандидатов под каждую позицию. */
|
|
33
|
+
positions: PackagePositionOptionsRO[];
|
|
34
|
+
/** Для sequential/parallel: заранее скрещённые валидные наборы. */
|
|
35
|
+
combinations: PackageCombinationRO[];
|
|
36
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
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.PackageAvailabilityRO = exports.PackagePositionOptionsRO = exports.PackageCombinationRO = exports.PackageSlotOptionRO = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const package_timing_mode_enum_1 = require("./package-timing-mode.enum");
|
|
15
|
+
/** Один конкретный слот-кандидат под позицию пакета. */
|
|
16
|
+
class PackageSlotOptionRO {
|
|
17
|
+
}
|
|
18
|
+
exports.PackageSlotOptionRO = PackageSlotOptionRO;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_transformer_1.Expose)(),
|
|
21
|
+
__metadata("design:type", String)
|
|
22
|
+
], PackageSlotOptionRO.prototype, "positionId", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, class_transformer_1.Expose)(),
|
|
25
|
+
__metadata("design:type", Number)
|
|
26
|
+
], PackageSlotOptionRO.prototype, "questroomId", void 0);
|
|
27
|
+
__decorate([
|
|
28
|
+
(0, class_transformer_1.Expose)(),
|
|
29
|
+
__metadata("design:type", Number)
|
|
30
|
+
], PackageSlotOptionRO.prototype, "slotId", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, class_transformer_1.Expose)(),
|
|
33
|
+
__metadata("design:type", String)
|
|
34
|
+
], PackageSlotOptionRO.prototype, "date", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, class_transformer_1.Expose)(),
|
|
37
|
+
__metadata("design:type", String)
|
|
38
|
+
], PackageSlotOptionRO.prototype, "start", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, class_transformer_1.Expose)(),
|
|
41
|
+
__metadata("design:type", String)
|
|
42
|
+
], PackageSlotOptionRO.prototype, "end", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, class_transformer_1.Expose)(),
|
|
45
|
+
__metadata("design:type", Number)
|
|
46
|
+
], PackageSlotOptionRO.prototype, "durationMinutes", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, class_transformer_1.Expose)(),
|
|
49
|
+
__metadata("design:type", Number)
|
|
50
|
+
], PackageSlotOptionRO.prototype, "availablePlayers", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
(0, class_transformer_1.Expose)(),
|
|
53
|
+
__metadata("design:type", Number)
|
|
54
|
+
], PackageSlotOptionRO.prototype, "tariffId", void 0);
|
|
55
|
+
/** Готовая валидная комбинация слотов (по одному на инстанс позиции). */
|
|
56
|
+
class PackageCombinationRO {
|
|
57
|
+
}
|
|
58
|
+
exports.PackageCombinationRO = PackageCombinationRO;
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, class_transformer_1.Expose)(),
|
|
61
|
+
(0, class_transformer_1.Type)(() => PackageSlotOptionRO),
|
|
62
|
+
__metadata("design:type", Array)
|
|
63
|
+
], PackageCombinationRO.prototype, "slots", void 0);
|
|
64
|
+
__decorate([
|
|
65
|
+
(0, class_transformer_1.Expose)(),
|
|
66
|
+
__metadata("design:type", Number)
|
|
67
|
+
], PackageCombinationRO.prototype, "totalCapacity", void 0);
|
|
68
|
+
/** Кандидаты под одну позицию (для independent-режима, где клиент выбирает сам). */
|
|
69
|
+
class PackagePositionOptionsRO {
|
|
70
|
+
}
|
|
71
|
+
exports.PackagePositionOptionsRO = PackagePositionOptionsRO;
|
|
72
|
+
__decorate([
|
|
73
|
+
(0, class_transformer_1.Expose)(),
|
|
74
|
+
__metadata("design:type", String)
|
|
75
|
+
], PackagePositionOptionsRO.prototype, "positionId", void 0);
|
|
76
|
+
__decorate([
|
|
77
|
+
(0, class_transformer_1.Expose)(),
|
|
78
|
+
(0, class_transformer_1.Type)(() => PackageSlotOptionRO),
|
|
79
|
+
__metadata("design:type", Array)
|
|
80
|
+
], PackagePositionOptionsRO.prototype, "options", void 0);
|
|
81
|
+
class PackageAvailabilityRO {
|
|
82
|
+
}
|
|
83
|
+
exports.PackageAvailabilityRO = PackageAvailabilityRO;
|
|
84
|
+
__decorate([
|
|
85
|
+
(0, class_transformer_1.Expose)(),
|
|
86
|
+
__metadata("design:type", Number)
|
|
87
|
+
], PackageAvailabilityRO.prototype, "packageId", void 0);
|
|
88
|
+
__decorate([
|
|
89
|
+
(0, class_transformer_1.Expose)(),
|
|
90
|
+
__metadata("design:type", String)
|
|
91
|
+
], PackageAvailabilityRO.prototype, "date", void 0);
|
|
92
|
+
__decorate([
|
|
93
|
+
(0, class_transformer_1.Expose)(),
|
|
94
|
+
__metadata("design:type", String)
|
|
95
|
+
], PackageAvailabilityRO.prototype, "timingMode", void 0);
|
|
96
|
+
__decorate([
|
|
97
|
+
(0, class_transformer_1.Expose)(),
|
|
98
|
+
__metadata("design:type", Boolean)
|
|
99
|
+
], PackageAvailabilityRO.prototype, "available", void 0);
|
|
100
|
+
__decorate([
|
|
101
|
+
(0, class_transformer_1.Expose)(),
|
|
102
|
+
__metadata("design:type", String)
|
|
103
|
+
], PackageAvailabilityRO.prototype, "reason", void 0);
|
|
104
|
+
__decorate([
|
|
105
|
+
(0, class_transformer_1.Expose)(),
|
|
106
|
+
(0, class_transformer_1.Type)(() => PackagePositionOptionsRO),
|
|
107
|
+
__metadata("design:type", Array)
|
|
108
|
+
], PackageAvailabilityRO.prototype, "positions", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
(0, class_transformer_1.Expose)(),
|
|
111
|
+
(0, class_transformer_1.Type)(() => PackageCombinationRO),
|
|
112
|
+
__metadata("design:type", Array)
|
|
113
|
+
], PackageAvailabilityRO.prototype, "combinations", void 0);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PackageCancelScopeEnum = void 0;
|
|
4
|
+
var PackageCancelScopeEnum;
|
|
5
|
+
(function (PackageCancelScopeEnum) {
|
|
6
|
+
/** Пакет отменяется только целиком. */
|
|
7
|
+
PackageCancelScopeEnum["WHOLE_ONLY"] = "wholeOnly";
|
|
8
|
+
/** Можно отменять отдельные позиции пакета. */
|
|
9
|
+
PackageCancelScopeEnum["PER_POSITION"] = "perPosition";
|
|
10
|
+
})(PackageCancelScopeEnum || (exports.PackageCancelScopeEnum = PackageCancelScopeEnum = {}));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PackageCapacityModelEnum = void 0;
|
|
4
|
+
var PackageCapacityModelEnum;
|
|
5
|
+
(function (PackageCapacityModelEnum) {
|
|
6
|
+
/** Общий пул игроков на весь пакет; система раскидывает их по позициям. */
|
|
7
|
+
PackageCapacityModelEnum["SHARED"] = "shared";
|
|
8
|
+
/** У каждой позиции свои игроки (независимые команды). */
|
|
9
|
+
PackageCapacityModelEnum["PER_POSITION"] = "perPosition";
|
|
10
|
+
})(PackageCapacityModelEnum || (exports.PackageCapacityModelEnum = PackageCapacityModelEnum = {}));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PackagePositionKindEnum = void 0;
|
|
4
|
+
var PackagePositionKindEnum;
|
|
5
|
+
(function (PackagePositionKindEnum) {
|
|
6
|
+
/** Позиция — квест/лаундж (лаундж = квест с типом lounge). */
|
|
7
|
+
PackagePositionKindEnum["QUESTROOM"] = "questroom";
|
|
8
|
+
/** Позиция — доп. услуга (UpsellingEntity). */
|
|
9
|
+
PackagePositionKindEnum["UPSELLING"] = "upselling";
|
|
10
|
+
})(PackagePositionKindEnum || (exports.PackagePositionKindEnum = PackagePositionKindEnum = {}));
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare enum PackagePositionSelectionEnum {
|
|
2
|
+
/** Конкретный квест/услуга — выбран заранее в настройках пакета. */
|
|
3
|
+
FIXED = "fixed",
|
|
4
|
+
/** Клиент выбирает из заданного списка/типа. */
|
|
5
|
+
CHOICE = "choice",
|
|
6
|
+
/** Любой из отобранных (список или по типу), клиенту не важно какой. */
|
|
7
|
+
ANY = "any"
|
|
8
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PackagePositionSelectionEnum = void 0;
|
|
4
|
+
var PackagePositionSelectionEnum;
|
|
5
|
+
(function (PackagePositionSelectionEnum) {
|
|
6
|
+
/** Конкретный квест/услуга — выбран заранее в настройках пакета. */
|
|
7
|
+
PackagePositionSelectionEnum["FIXED"] = "fixed";
|
|
8
|
+
/** Клиент выбирает из заданного списка/типа. */
|
|
9
|
+
PackagePositionSelectionEnum["CHOICE"] = "choice";
|
|
10
|
+
/** Любой из отобранных (список или по типу), клиенту не важно какой. */
|
|
11
|
+
PackagePositionSelectionEnum["ANY"] = "any";
|
|
12
|
+
})(PackagePositionSelectionEnum || (exports.PackagePositionSelectionEnum = PackagePositionSelectionEnum = {}));
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { QuestroomTypeEnum } from '../questroom/enum/questroom-type.enum';
|
|
2
|
+
import { PackagePositionKindEnum } from './package-position-kind.enum';
|
|
3
|
+
import { PackagePositionSelectionEnum } from './package-position-selection.enum';
|
|
4
|
+
/**
|
|
5
|
+
* Одна «роль» внутри пакета. Хранится в JSONB-массиве `PackageEntity.positions`.
|
|
6
|
+
* Примеры:
|
|
7
|
+
* - «2 любые escape»: kind=questroom, selection=any, questroomTypes=[escape], count=2
|
|
8
|
+
* - «конкретный лаундж»: kind=questroom, selection=fixed, questroomIds=[42]
|
|
9
|
+
* - «только 2-часовые VR»: selection=any, questroomTypes=[vr], durationIn=[120]
|
|
10
|
+
* - «фотосессия»: kind=upselling, upsellingId=7
|
|
11
|
+
*/
|
|
12
|
+
export declare class PackagePositionDto {
|
|
13
|
+
/** Стабильный uuid позиции внутри пакета (для сопоставления при выборе). */
|
|
14
|
+
id: string;
|
|
15
|
+
kind: PackagePositionKindEnum;
|
|
16
|
+
selection: PackagePositionSelectionEnum;
|
|
17
|
+
/** Явный список квестов (для fixed — один; для choice/any — набор). */
|
|
18
|
+
questroomIds: number[];
|
|
19
|
+
/** Отбор квестов по типу (напр. любой escape / любой lounge). */
|
|
20
|
+
questroomTypes: QuestroomTypeEnum[];
|
|
21
|
+
/** Для kind=upselling — id доп. услуги. */
|
|
22
|
+
upsellingId: number | null;
|
|
23
|
+
/** Сколько таких позиций (напр. «2 любые игры»). */
|
|
24
|
+
count: number;
|
|
25
|
+
/** Допустимые длительности в минутах (для флекса). [] = любая. */
|
|
26
|
+
durationIn: number[];
|
|
27
|
+
/** Мин. игроков на позицию (для perPosition и валидации сплита). */
|
|
28
|
+
playersMin: number | null;
|
|
29
|
+
/** Макс. игроков на позицию. */
|
|
30
|
+
playersMax: number | null;
|
|
31
|
+
/** Порядок позиции в цепочке (для sequential). */
|
|
32
|
+
sortPosition: number;
|
|
33
|
+
/** Можно ли клиенту убрать позицию из пакета (для необязательных апселлов). */
|
|
34
|
+
optional: boolean;
|
|
35
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
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.PackagePositionDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const questroom_type_enum_1 = require("../questroom/enum/questroom-type.enum");
|
|
16
|
+
const package_position_kind_enum_1 = require("./package-position-kind.enum");
|
|
17
|
+
const package_position_selection_enum_1 = require("./package-position-selection.enum");
|
|
18
|
+
/**
|
|
19
|
+
* Одна «роль» внутри пакета. Хранится в JSONB-массиве `PackageEntity.positions`.
|
|
20
|
+
* Примеры:
|
|
21
|
+
* - «2 любые escape»: kind=questroom, selection=any, questroomTypes=[escape], count=2
|
|
22
|
+
* - «конкретный лаундж»: kind=questroom, selection=fixed, questroomIds=[42]
|
|
23
|
+
* - «только 2-часовые VR»: selection=any, questroomTypes=[vr], durationIn=[120]
|
|
24
|
+
* - «фотосессия»: kind=upselling, upsellingId=7
|
|
25
|
+
*/
|
|
26
|
+
class PackagePositionDto {
|
|
27
|
+
}
|
|
28
|
+
exports.PackagePositionDto = PackagePositionDto;
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, class_validator_1.IsString)(),
|
|
31
|
+
(0, class_transformer_1.Expose)(),
|
|
32
|
+
__metadata("design:type", String)
|
|
33
|
+
], PackagePositionDto.prototype, "id", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, class_validator_1.IsEnum)(package_position_kind_enum_1.PackagePositionKindEnum),
|
|
36
|
+
(0, class_transformer_1.Expose)(),
|
|
37
|
+
__metadata("design:type", String)
|
|
38
|
+
], PackagePositionDto.prototype, "kind", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, class_validator_1.ValidateIf)((o) => o.kind === package_position_kind_enum_1.PackagePositionKindEnum.QUESTROOM),
|
|
41
|
+
(0, class_validator_1.IsEnum)(package_position_selection_enum_1.PackagePositionSelectionEnum),
|
|
42
|
+
(0, class_transformer_1.Expose)(),
|
|
43
|
+
__metadata("design:type", String)
|
|
44
|
+
], PackagePositionDto.prototype, "selection", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, class_validator_1.IsArray)(),
|
|
47
|
+
(0, class_validator_1.IsInt)({ each: true }),
|
|
48
|
+
(0, class_transformer_1.Transform)(({ value }) => (Array.isArray(value) ? value.map((v) => +v) : [])),
|
|
49
|
+
(0, class_transformer_1.Expose)(),
|
|
50
|
+
__metadata("design:type", Array)
|
|
51
|
+
], PackagePositionDto.prototype, "questroomIds", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, class_validator_1.IsArray)(),
|
|
54
|
+
(0, class_validator_1.IsEnum)(questroom_type_enum_1.QuestroomTypeEnum, { each: true }),
|
|
55
|
+
(0, class_transformer_1.Transform)(({ value }) => (Array.isArray(value) ? value : [])),
|
|
56
|
+
(0, class_transformer_1.Expose)(),
|
|
57
|
+
__metadata("design:type", Array)
|
|
58
|
+
], PackagePositionDto.prototype, "questroomTypes", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, class_validator_1.IsOptional)(),
|
|
61
|
+
(0, class_validator_1.IsInt)(),
|
|
62
|
+
(0, class_transformer_1.Expose)(),
|
|
63
|
+
__metadata("design:type", Number)
|
|
64
|
+
], PackagePositionDto.prototype, "upsellingId", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
(0, class_validator_1.IsInt)(),
|
|
67
|
+
(0, class_validator_1.Min)(1),
|
|
68
|
+
(0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 1 : +value)),
|
|
69
|
+
(0, class_transformer_1.Expose)(),
|
|
70
|
+
__metadata("design:type", Number)
|
|
71
|
+
], PackagePositionDto.prototype, "count", void 0);
|
|
72
|
+
__decorate([
|
|
73
|
+
(0, class_validator_1.IsArray)(),
|
|
74
|
+
(0, class_validator_1.IsInt)({ each: true }),
|
|
75
|
+
(0, class_transformer_1.Transform)(({ value }) => (Array.isArray(value) ? value.map((v) => +v) : [])),
|
|
76
|
+
(0, class_transformer_1.Expose)(),
|
|
77
|
+
__metadata("design:type", Array)
|
|
78
|
+
], PackagePositionDto.prototype, "durationIn", void 0);
|
|
79
|
+
__decorate([
|
|
80
|
+
(0, class_validator_1.IsOptional)(),
|
|
81
|
+
(0, class_validator_1.IsInt)(),
|
|
82
|
+
(0, class_transformer_1.Expose)(),
|
|
83
|
+
__metadata("design:type", Number)
|
|
84
|
+
], PackagePositionDto.prototype, "playersMin", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, class_validator_1.IsOptional)(),
|
|
87
|
+
(0, class_validator_1.IsInt)(),
|
|
88
|
+
(0, class_transformer_1.Expose)(),
|
|
89
|
+
__metadata("design:type", Number)
|
|
90
|
+
], PackagePositionDto.prototype, "playersMax", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
(0, class_validator_1.IsInt)(),
|
|
93
|
+
(0, class_transformer_1.Transform)(({ value }) => (value === undefined || value === null ? 0 : +value)),
|
|
94
|
+
(0, class_transformer_1.Expose)(),
|
|
95
|
+
__metadata("design:type", Number)
|
|
96
|
+
], PackagePositionDto.prototype, "sortPosition", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
(0, class_validator_1.IsBoolean)(),
|
|
99
|
+
(0, class_transformer_1.Transform)(({ value }) => value !== null && value !== void 0 ? value : false),
|
|
100
|
+
(0, class_transformer_1.Expose)(),
|
|
101
|
+
__metadata("design:type", Boolean)
|
|
102
|
+
], PackagePositionDto.prototype, "optional", void 0);
|