@hosterai/types 0.0.29 → 0.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/dist/decorators/is-e164-validator.spec.d.ts +1 -0
- package/dist/decorators/is-e164-validator.spec.js +64 -0
- package/dist/decorators/is-e164.validator.d.ts +2 -0
- package/dist/decorators/is-e164.validator.js +30 -0
- package/dist/decorators/unique-field-in-array-validator.spec.js +14 -0
- package/dist/decorators/unique-field-in-array.validator.js +18 -4
- package/dist/dtos/addon-field.dto.d.ts +6 -2
- package/dist/dtos/addon-field.dto.js +25 -2
- package/dist/dtos/attribute-field.dto.d.ts +18 -6
- package/dist/dtos/attribute-field.dto.js +18 -2
- package/dist/dtos/base-field.dto.d.ts +45 -0
- package/dist/dtos/base-field.dto.js +133 -0
- package/dist/dtos/field.dto.d.ts +5 -64
- package/dist/dtos/field.dto.js +0 -186
- package/dist/dtos/fields/any-field.dto.d.ts +38 -0
- package/dist/dtos/fields/any-field.dto.js +36 -0
- package/dist/dtos/fields/boolean-field.dto.d.ts +14 -0
- package/dist/dtos/fields/boolean-field.dto.js +48 -0
- package/dist/dtos/fields/countries-field.dto.d.ts +14 -0
- package/dist/dtos/fields/countries-field.dto.js +51 -0
- package/dist/dtos/fields/currency-field.dto.d.ts +14 -0
- package/dist/dtos/fields/currency-field.dto.js +50 -0
- package/dist/dtos/fields/date-field.dto.d.ts +14 -0
- package/dist/dtos/fields/date-field.dto.js +49 -0
- package/dist/dtos/fields/email-field.dto.d.ts +14 -0
- package/dist/dtos/fields/email-field.dto.js +49 -0
- package/dist/dtos/fields/multi-select-field.dto.d.ts +15 -0
- package/dist/dtos/fields/multi-select-field.dto.js +53 -0
- package/dist/dtos/fields/number-field.dto.d.ts +26 -0
- package/dist/dtos/fields/number-field.dto.js +82 -0
- package/dist/dtos/fields/password-field.dto.d.ts +21 -0
- package/dist/dtos/fields/password-field.dto.js +64 -0
- package/dist/dtos/fields/phone-field.dto.d.ts +14 -0
- package/dist/dtos/fields/phone-field.dto.js +50 -0
- package/dist/dtos/fields/select-field.dto.d.ts +15 -0
- package/dist/dtos/fields/select-field.dto.js +51 -0
- package/dist/dtos/fields/text-field.dto.d.ts +31 -0
- package/dist/dtos/fields/text-field.dto.js +102 -0
- package/dist/dtos/fields/textarea-field.dto.d.ts +31 -0
- package/dist/dtos/fields/textarea-field.dto.js +102 -0
- package/dist/dtos/fields/url-field.dto.d.ts +14 -0
- package/dist/dtos/fields/url-field.dto.js +49 -0
- package/dist/dtos/info/info-notification.dto.d.ts +5 -0
- package/dist/dtos/info/info-notification.dto.js +7 -0
- package/dist/dtos/info/info.dto.d.ts +196 -0
- package/dist/dtos/info/info.dto.js +278 -0
- package/dist/dtos/info.dto.d.ts +2 -2
- package/dist/dtos/info.dto.js +2 -5
- package/dist/dtos/invoice/requests/base-invoice-request.dto.d.ts +1 -1
- package/dist/dtos/invoice/requests/base-invoice-request.dto.js +1 -1
- package/dist/dtos/notification/notification-request.dto.d.ts +20 -0
- package/dist/dtos/notification/notification-request.dto.js +31 -0
- package/dist/dtos/product/product-info.dto.d.ts +2 -2
- package/dist/dtos/product/product-info.dto.js +4 -4
- package/dist/dtos/product/product-item-data.dto.d.ts +2 -2
- package/dist/dtos/product/product-item-data.dto.js +2 -2
- package/dist/dtos/receiver/receiver-email.dto.d.ts +20 -0
- package/dist/dtos/receiver/receiver-email.dto.js +39 -0
- package/dist/dtos/receiver/receiver-push.dto.d.ts +15 -0
- package/dist/dtos/receiver/receiver-push.dto.js +31 -0
- package/dist/dtos/receiver/receiver-sms.dto.d.ts +11 -0
- package/dist/dtos/receiver/receiver-sms.dto.js +26 -0
- package/dist/dtos/request.dto.d.ts +20 -0
- package/dist/dtos/request.dto.js +31 -0
- package/dist/dtos/responses/validate-attributes-response.dto.d.ts +4 -4
- package/dist/dtos/responses/validate-attributes-response.dto.js +2 -6
- package/dist/dtos/sender/sender-email.dto.d.ts +25 -0
- package/dist/dtos/sender/sender-email.dto.js +46 -0
- package/dist/dtos/sender/sender-push.dto.d.ts +31 -0
- package/dist/dtos/sender/sender-push.dto.js +50 -0
- package/dist/dtos/sender/sender-sms.dto.d.ts +15 -0
- package/dist/dtos/sender/sender-sms.dto.js +30 -0
- package/dist/enums/field-type.enum.d.ts +20 -7
- package/dist/enums/field-type.enum.js +19 -7
- package/dist/enums/item-actions.enum.d.ts +10 -10
- package/dist/enums/item-actions.enum.js +13 -14
- package/dist/enums/message-type.enum.d.ts +5 -0
- package/dist/enums/message-type.enum.js +9 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.js +29 -0
- package/dist/openapi/schemas/components.schemas.d.ts +1169 -236
- package/dist/openapi/schemas/components.schemas.js +1878 -567
- package/dist/validators/addon-field-validator.d.ts +4 -1
- package/dist/validators/addon-field-validator.js +22 -3
- package/dist/validators/addon-field-validator.spec.js +15 -21
- package/dist/validators/any-field-validator.d.ts +10 -0
- package/dist/validators/any-field-validator.js +28 -0
- package/dist/validators/any-field-validator.spec.d.ts +1 -0
- package/dist/validators/any-field-validator.spec.js +37 -0
- package/dist/validators/attribute-field-validator.d.ts +4 -0
- package/dist/validators/attribute-field-validator.js +16 -0
- package/dist/validators/attribute-field-validator.spec.js +30 -20
- package/dist/validators/field-validator.d.ts +2 -4
- package/dist/validators/field-validator.js +4 -10
- package/dist/validators/field-validator.spec.js +16 -79
- package/dist/validators/fields/boolean-field-validator.d.ts +8 -0
- package/dist/validators/fields/boolean-field-validator.js +15 -0
- package/dist/validators/fields/boolean-field-validator.spec.d.ts +1 -0
- package/dist/validators/fields/boolean-field-validator.spec.js +43 -0
- package/dist/validators/fields/countries-field-validator.d.ts +8 -0
- package/dist/validators/fields/countries-field-validator.js +15 -0
- package/dist/validators/fields/countries-field-validator.spec.d.ts +1 -0
- package/dist/validators/fields/countries-field-validator.spec.js +44 -0
- package/dist/validators/fields/currency-field-validator.d.ts +8 -0
- package/dist/validators/fields/currency-field-validator.js +15 -0
- package/dist/validators/fields/currency-field-validator.spec.d.ts +1 -0
- package/dist/validators/fields/currency-field-validator.spec.js +41 -0
- package/dist/validators/fields/date-field-validator.d.ts +8 -0
- package/dist/validators/fields/date-field-validator.js +15 -0
- package/dist/validators/fields/date-field-validator.spec.d.ts +1 -0
- package/dist/validators/fields/date-field-validator.spec.js +43 -0
- package/dist/validators/fields/email-field-validator.d.ts +8 -0
- package/dist/validators/fields/email-field-validator.js +15 -0
- package/dist/validators/fields/email-field-validator.spec.d.ts +1 -0
- package/dist/validators/fields/email-field-validator.spec.js +43 -0
- package/dist/validators/fields/multi-select-field-validator.d.ts +8 -0
- package/dist/validators/fields/multi-select-field-validator.js +15 -0
- package/dist/validators/fields/multi-select-field-validator.spec.d.ts +1 -0
- package/dist/validators/fields/multi-select-field-validator.spec.js +52 -0
- package/dist/validators/fields/number-field-validator.d.ts +8 -0
- package/dist/validators/fields/number-field-validator.js +15 -0
- package/dist/validators/fields/number-field-validator.spec.d.ts +1 -0
- package/dist/validators/fields/number-field-validator.spec.js +59 -0
- package/dist/validators/fields/password-field-validator.d.ts +8 -0
- package/dist/validators/fields/password-field-validator.js +15 -0
- package/dist/validators/fields/password-field-validator.spec.d.ts +1 -0
- package/dist/validators/fields/password-field-validator.spec.js +44 -0
- package/dist/validators/fields/phone-field-validator.d.ts +8 -0
- package/dist/validators/fields/phone-field-validator.js +15 -0
- package/dist/validators/fields/phone-field-validator.spec.d.ts +1 -0
- package/dist/validators/fields/phone-field-validator.spec.js +41 -0
- package/dist/validators/fields/select-field-validator.d.ts +8 -0
- package/dist/validators/fields/select-field-validator.js +15 -0
- package/dist/validators/fields/select-field-validator.spec.d.ts +1 -0
- package/dist/validators/fields/select-field-validator.spec.js +46 -0
- package/dist/validators/fields/text-field-validator.d.ts +8 -0
- package/dist/validators/fields/text-field-validator.js +15 -0
- package/dist/validators/fields/text-field-validator.spec.d.ts +1 -0
- package/dist/validators/fields/text-field-validator.spec.js +60 -0
- package/dist/validators/fields/textarea-field-validator.d.ts +8 -0
- package/dist/validators/fields/textarea-field-validator.js +15 -0
- package/dist/validators/fields/textarea-field-validator.spec.d.ts +1 -0
- package/dist/validators/fields/textarea-field-validator.spec.js +52 -0
- package/dist/validators/fields/url-field-validator.d.ts +8 -0
- package/dist/validators/fields/url-field-validator.js +15 -0
- package/dist/validators/fields/url-field-validator.spec.d.ts +1 -0
- package/dist/validators/fields/url-field-validator.spec.js +43 -0
- package/dist/validators/notification-info-validator.spec.js +5 -5
- package/dist/validators/product-info-validator.spec.js +54 -120
- package/dist/validators/product-item-data-validator.spec.js +3 -3
- package/package.json +1 -1
- package/dist/dtos/product/requests/product-downgradeable-request.dto.d.ts +0 -18
- package/dist/dtos/product/requests/product-downgradeable-request.dto.js +0 -37
- package/dist/dtos/product/requests/product-upgradeable-request.dto.d.ts +0 -18
- package/dist/dtos/product/requests/product-upgradeable-request.dto.js +0 -37
- package/dist/dtos/product/responses/product-downgradeable-response.dto.d.ts +0 -22
- package/dist/dtos/product/responses/product-downgradeable-response.dto.js +0 -11
- package/dist/dtos/product/responses/product-upgradeable-response.dto.d.ts +0 -22
- package/dist/dtos/product/responses/product-upgradeable-response.dto.js +0 -11
- package/dist/validators/product-downgradeable-request-validator.d.ts +0 -8
- package/dist/validators/product-downgradeable-request-validator.js +0 -17
- package/dist/validators/product-upgradeable-request-validator.d.ts +0 -8
- package/dist/validators/product-upgradeable-request-validator.js +0 -17
package/dist/dtos/field.dto.js
CHANGED
|
@@ -1,188 +1,2 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.FieldDto = void 0;
|
|
13
|
-
const is_of_allowed_types_validator_1 = require("../decorators/is-of-allowed-types.validator");
|
|
14
|
-
const class_validator_1 = require("class-validator");
|
|
15
|
-
const class_transformer_1 = require("class-transformer");
|
|
16
|
-
const field_type_enum_1 = require("../enums/field-type.enum");
|
|
17
|
-
const multilang_text_dto_1 = require("./multilang-text.dto");
|
|
18
|
-
const field_option_dto_1 = require("./field-option.dto");
|
|
19
|
-
const is_regex_validator_1 = require("../decorators/is-regex.validator");
|
|
20
|
-
const class_validator_jsonschema_1 = require("class-validator-jsonschema");
|
|
21
|
-
/**
|
|
22
|
-
* Data Transfer Object for a form field.
|
|
23
|
-
* This class defines the structure and properties of a single field
|
|
24
|
-
* that can be used in a user interface form.
|
|
25
|
-
*/
|
|
26
|
-
class FieldDto {
|
|
27
|
-
constructor() {
|
|
28
|
-
/**
|
|
29
|
-
* The item attribute is upgradable
|
|
30
|
-
* If the user has the permission to upgrade the item from his panel
|
|
31
|
-
* TODO: Let's see if this approach is the best way for the user to upgrade their item
|
|
32
|
-
*/
|
|
33
|
-
this.upgradable = false;
|
|
34
|
-
this.downgradable = false;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
exports.FieldDto = FieldDto;
|
|
38
|
-
__decorate([
|
|
39
|
-
(0, class_validator_1.IsString)(),
|
|
40
|
-
(0, class_validator_1.IsDefined)(),
|
|
41
|
-
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
42
|
-
title: 'ID',
|
|
43
|
-
description: 'Unique identifier for the field.',
|
|
44
|
-
type: 'string',
|
|
45
|
-
}),
|
|
46
|
-
__metadata("design:type", String)
|
|
47
|
-
], FieldDto.prototype, "id", void 0);
|
|
48
|
-
__decorate([
|
|
49
|
-
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
50
|
-
(0, class_transformer_1.Type)(() => multilang_text_dto_1.MultilangTextDto),
|
|
51
|
-
(0, class_validator_1.IsArray)(),
|
|
52
|
-
(0, class_validator_1.ArrayMinSize)(1),
|
|
53
|
-
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
54
|
-
title: 'Label',
|
|
55
|
-
description: 'Multilingual label for the field.',
|
|
56
|
-
type: 'array',
|
|
57
|
-
items: { $ref: '#/components/schemas/MultilangTextDto' },
|
|
58
|
-
}),
|
|
59
|
-
__metadata("design:type", Array)
|
|
60
|
-
], FieldDto.prototype, "label", void 0);
|
|
61
|
-
__decorate([
|
|
62
|
-
(0, class_validator_1.IsDefined)(),
|
|
63
|
-
(0, is_of_allowed_types_validator_1.IsOfAllowedTypes)(['string', 'number', 'object', 'array'], {
|
|
64
|
-
objectClass: field_option_dto_1.FieldOptionDto,
|
|
65
|
-
arrayElementClass: field_option_dto_1.FieldOptionDto,
|
|
66
|
-
require: true,
|
|
67
|
-
objectNotEmpty: true,
|
|
68
|
-
arrayNotEmpty: true,
|
|
69
|
-
}),
|
|
70
|
-
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
71
|
-
title: 'Value',
|
|
72
|
-
description: 'Value of the field. String/Number, or FieldOptionDto/FieldOptionDto[] depending on type.',
|
|
73
|
-
oneOf: [
|
|
74
|
-
{ title: 'String', type: 'string' },
|
|
75
|
-
{ title: 'Number', type: 'number' },
|
|
76
|
-
{ title: 'Option', $ref: '#/components/schemas/FieldOptionDto' },
|
|
77
|
-
{
|
|
78
|
-
title: 'Options Array',
|
|
79
|
-
type: 'array',
|
|
80
|
-
items: { $ref: '#/components/schemas/FieldOptionDto' },
|
|
81
|
-
},
|
|
82
|
-
],
|
|
83
|
-
}),
|
|
84
|
-
__metadata("design:type", Object)
|
|
85
|
-
], FieldDto.prototype, "value", void 0);
|
|
86
|
-
__decorate([
|
|
87
|
-
(0, class_validator_1.IsEnum)(field_type_enum_1.FieldTypeEnum),
|
|
88
|
-
(0, class_validator_1.IsDefined)(),
|
|
89
|
-
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
90
|
-
title: 'Field Type',
|
|
91
|
-
description: 'Type of the field.',
|
|
92
|
-
type: 'string',
|
|
93
|
-
enum: Object.values(field_type_enum_1.FieldTypeEnum),
|
|
94
|
-
}),
|
|
95
|
-
__metadata("design:type", String)
|
|
96
|
-
], FieldDto.prototype, "type", void 0);
|
|
97
|
-
__decorate([
|
|
98
|
-
(0, class_validator_1.IsBoolean)(),
|
|
99
|
-
(0, class_validator_1.IsDefined)(),
|
|
100
|
-
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
101
|
-
title: 'Required',
|
|
102
|
-
description: 'Whether the field is required.',
|
|
103
|
-
type: 'boolean',
|
|
104
|
-
}),
|
|
105
|
-
__metadata("design:type", Boolean)
|
|
106
|
-
], FieldDto.prototype, "required", void 0);
|
|
107
|
-
__decorate([
|
|
108
|
-
(0, class_validator_1.IsBoolean)(),
|
|
109
|
-
(0, class_validator_1.IsDefined)(),
|
|
110
|
-
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
111
|
-
title: 'Disabled',
|
|
112
|
-
description: 'Whether the field is disabled.',
|
|
113
|
-
type: 'boolean',
|
|
114
|
-
}),
|
|
115
|
-
__metadata("design:type", Boolean)
|
|
116
|
-
], FieldDto.prototype, "disabled", void 0);
|
|
117
|
-
__decorate([
|
|
118
|
-
(0, class_validator_1.IsBoolean)(),
|
|
119
|
-
(0, class_validator_1.IsOptional)(),
|
|
120
|
-
__metadata("design:type", Boolean)
|
|
121
|
-
], FieldDto.prototype, "hidden", void 0);
|
|
122
|
-
__decorate([
|
|
123
|
-
(0, class_validator_1.IsString)(),
|
|
124
|
-
(0, is_regex_validator_1.IsRegex)(),
|
|
125
|
-
(0, class_validator_1.IsOptional)(),
|
|
126
|
-
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
127
|
-
title: 'Regex Validation',
|
|
128
|
-
description: 'Optional regex to validate input.',
|
|
129
|
-
type: 'string',
|
|
130
|
-
example: '^[A-Za-z0-9_-]+$',
|
|
131
|
-
}),
|
|
132
|
-
__metadata("design:type", String)
|
|
133
|
-
], FieldDto.prototype, "regexValidation", void 0);
|
|
134
|
-
__decorate([
|
|
135
|
-
(0, class_validator_1.ValidateIf)((o) => !!o.regexValidation),
|
|
136
|
-
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
137
|
-
(0, class_transformer_1.Type)(() => multilang_text_dto_1.MultilangTextDto),
|
|
138
|
-
(0, class_validator_1.IsArray)(),
|
|
139
|
-
(0, class_validator_1.ArrayMinSize)(1),
|
|
140
|
-
(0, class_validator_1.IsOptional)(),
|
|
141
|
-
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
142
|
-
title: 'Regex Validation Error Message',
|
|
143
|
-
description: 'Localized error message shown when regex validation fails.',
|
|
144
|
-
type: 'array',
|
|
145
|
-
items: { $ref: '#/components/schemas/MultilangTextDto' },
|
|
146
|
-
}),
|
|
147
|
-
__metadata("design:type", Array)
|
|
148
|
-
], FieldDto.prototype, "regexValidationErrorMessage", void 0);
|
|
149
|
-
__decorate([
|
|
150
|
-
(0, class_validator_1.IsBoolean)(),
|
|
151
|
-
(0, class_validator_1.IsOptional)(),
|
|
152
|
-
__metadata("design:type", Boolean)
|
|
153
|
-
], FieldDto.prototype, "triggersRemoteValidation", void 0);
|
|
154
|
-
__decorate([
|
|
155
|
-
(0, class_validator_1.ValidateIf)((o) => !!o.triggersRemoteValidation),
|
|
156
|
-
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
157
|
-
(0, class_transformer_1.Type)(() => multilang_text_dto_1.MultilangTextDto),
|
|
158
|
-
(0, class_validator_1.IsArray)(),
|
|
159
|
-
(0, class_validator_1.ArrayMinSize)(1),
|
|
160
|
-
(0, class_validator_1.IsOptional)(),
|
|
161
|
-
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
162
|
-
title: 'Remote Validation Error Message',
|
|
163
|
-
description: 'Localized error message shown when remote validation fails.',
|
|
164
|
-
type: 'array',
|
|
165
|
-
items: { $ref: '#/components/schemas/MultilangTextDto' },
|
|
166
|
-
}),
|
|
167
|
-
__metadata("design:type", Array)
|
|
168
|
-
], FieldDto.prototype, "remoteValidationErrorMessage", void 0);
|
|
169
|
-
__decorate([
|
|
170
|
-
(0, class_validator_1.IsBoolean)(),
|
|
171
|
-
(0, class_validator_1.IsOptional)(),
|
|
172
|
-
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
173
|
-
title: 'Upgradable',
|
|
174
|
-
description: 'Whether the item attribute is upgradable by the user.',
|
|
175
|
-
type: 'boolean',
|
|
176
|
-
}),
|
|
177
|
-
__metadata("design:type", Boolean)
|
|
178
|
-
], FieldDto.prototype, "upgradable", void 0);
|
|
179
|
-
__decorate([
|
|
180
|
-
(0, class_validator_1.IsBoolean)(),
|
|
181
|
-
(0, class_validator_1.IsOptional)(),
|
|
182
|
-
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
183
|
-
title: 'Downgradable',
|
|
184
|
-
description: 'Whether the item attribute is downgradable by the user.',
|
|
185
|
-
type: 'boolean',
|
|
186
|
-
}),
|
|
187
|
-
__metadata("design:type", Boolean)
|
|
188
|
-
], FieldDto.prototype, "downgradable", void 0);
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { BooleanFieldDto } from './boolean-field.dto';
|
|
2
|
+
import { TextFieldDto } from './text-field.dto';
|
|
3
|
+
import { TextareaFieldDto } from './textarea-field.dto';
|
|
4
|
+
import { NumberFieldDto } from './number-field.dto';
|
|
5
|
+
import { PhoneFieldDto } from './phone-field.dto';
|
|
6
|
+
import { EmailFieldDto } from './email-field.dto';
|
|
7
|
+
import { UrlFieldDto } from './url-field.dto';
|
|
8
|
+
import { CountriesFieldDto } from './countries-field.dto';
|
|
9
|
+
import { CurrencyFieldDto } from './currency-field.dto';
|
|
10
|
+
import { DateFieldDto } from './date-field.dto';
|
|
11
|
+
import { PasswordFieldDto } from './password-field.dto';
|
|
12
|
+
import { SelectFieldDto } from './select-field.dto';
|
|
13
|
+
import { MultiSelectFieldDto } from './multi-select-field.dto';
|
|
14
|
+
/**
|
|
15
|
+
* Discriminated union of every concrete field DTO. Discriminator is the string-literal `type`.
|
|
16
|
+
*/
|
|
17
|
+
export type AnyFieldDto = BooleanFieldDto | TextFieldDto | TextareaFieldDto | NumberFieldDto | PhoneFieldDto | EmailFieldDto | UrlFieldDto | CountriesFieldDto | CurrencyFieldDto | DateFieldDto | PasswordFieldDto | SelectFieldDto | MultiSelectFieldDto;
|
|
18
|
+
/**
|
|
19
|
+
* Runtime registry mapping each `type` literal to its concrete class.
|
|
20
|
+
* Used by the dispatcher validator and the OpenAPI schema generator to build the
|
|
21
|
+
* `oneOf` / `discriminator` schema for `AnyFieldDto`.
|
|
22
|
+
*/
|
|
23
|
+
export declare const FIELD_DTO_CLASSES: {
|
|
24
|
+
readonly BOOLEAN: typeof BooleanFieldDto;
|
|
25
|
+
readonly TEXT: typeof TextFieldDto;
|
|
26
|
+
readonly TEXTAREA: typeof TextareaFieldDto;
|
|
27
|
+
readonly NUMBER: typeof NumberFieldDto;
|
|
28
|
+
readonly PHONE: typeof PhoneFieldDto;
|
|
29
|
+
readonly EMAIL: typeof EmailFieldDto;
|
|
30
|
+
readonly URL: typeof UrlFieldDto;
|
|
31
|
+
readonly COUNTRIES: typeof CountriesFieldDto;
|
|
32
|
+
readonly CURRENCY: typeof CurrencyFieldDto;
|
|
33
|
+
readonly DATE: typeof DateFieldDto;
|
|
34
|
+
readonly PASSWORD: typeof PasswordFieldDto;
|
|
35
|
+
readonly SELECT: typeof SelectFieldDto;
|
|
36
|
+
readonly MULTI_SELECT: typeof MultiSelectFieldDto;
|
|
37
|
+
};
|
|
38
|
+
export type FieldTypeLiteral = keyof typeof FIELD_DTO_CLASSES;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FIELD_DTO_CLASSES = void 0;
|
|
4
|
+
const boolean_field_dto_1 = require("./boolean-field.dto");
|
|
5
|
+
const text_field_dto_1 = require("./text-field.dto");
|
|
6
|
+
const textarea_field_dto_1 = require("./textarea-field.dto");
|
|
7
|
+
const number_field_dto_1 = require("./number-field.dto");
|
|
8
|
+
const phone_field_dto_1 = require("./phone-field.dto");
|
|
9
|
+
const email_field_dto_1 = require("./email-field.dto");
|
|
10
|
+
const url_field_dto_1 = require("./url-field.dto");
|
|
11
|
+
const countries_field_dto_1 = require("./countries-field.dto");
|
|
12
|
+
const currency_field_dto_1 = require("./currency-field.dto");
|
|
13
|
+
const date_field_dto_1 = require("./date-field.dto");
|
|
14
|
+
const password_field_dto_1 = require("./password-field.dto");
|
|
15
|
+
const select_field_dto_1 = require("./select-field.dto");
|
|
16
|
+
const multi_select_field_dto_1 = require("./multi-select-field.dto");
|
|
17
|
+
/**
|
|
18
|
+
* Runtime registry mapping each `type` literal to its concrete class.
|
|
19
|
+
* Used by the dispatcher validator and the OpenAPI schema generator to build the
|
|
20
|
+
* `oneOf` / `discriminator` schema for `AnyFieldDto`.
|
|
21
|
+
*/
|
|
22
|
+
exports.FIELD_DTO_CLASSES = {
|
|
23
|
+
BOOLEAN: boolean_field_dto_1.BooleanFieldDto,
|
|
24
|
+
TEXT: text_field_dto_1.TextFieldDto,
|
|
25
|
+
TEXTAREA: textarea_field_dto_1.TextareaFieldDto,
|
|
26
|
+
NUMBER: number_field_dto_1.NumberFieldDto,
|
|
27
|
+
PHONE: phone_field_dto_1.PhoneFieldDto,
|
|
28
|
+
EMAIL: email_field_dto_1.EmailFieldDto,
|
|
29
|
+
URL: url_field_dto_1.UrlFieldDto,
|
|
30
|
+
COUNTRIES: countries_field_dto_1.CountriesFieldDto,
|
|
31
|
+
CURRENCY: currency_field_dto_1.CurrencyFieldDto,
|
|
32
|
+
DATE: date_field_dto_1.DateFieldDto,
|
|
33
|
+
PASSWORD: password_field_dto_1.PasswordFieldDto,
|
|
34
|
+
SELECT: select_field_dto_1.SelectFieldDto,
|
|
35
|
+
MULTI_SELECT: multi_select_field_dto_1.MultiSelectFieldDto,
|
|
36
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseFieldDto } from '../base-field.dto';
|
|
2
|
+
/**
|
|
3
|
+
* Boolean field. Represents a single on/off value (e.g. checkbox, switch).
|
|
4
|
+
*/
|
|
5
|
+
export declare class BooleanFieldDto extends BaseFieldDto {
|
|
6
|
+
/**
|
|
7
|
+
* Discriminator literal.
|
|
8
|
+
*/
|
|
9
|
+
type: 'BOOLEAN';
|
|
10
|
+
/**
|
|
11
|
+
* Value of the field.
|
|
12
|
+
*/
|
|
13
|
+
value?: boolean;
|
|
14
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
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.BooleanFieldDto = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
const class_validator_jsonschema_1 = require("class-validator-jsonschema");
|
|
15
|
+
const base_field_dto_1 = require("../base-field.dto");
|
|
16
|
+
/**
|
|
17
|
+
* Boolean field. Represents a single on/off value (e.g. checkbox, switch).
|
|
18
|
+
*/
|
|
19
|
+
class BooleanFieldDto extends base_field_dto_1.BaseFieldDto {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
/**
|
|
23
|
+
* Discriminator literal.
|
|
24
|
+
*/
|
|
25
|
+
this.type = 'BOOLEAN';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.BooleanFieldDto = BooleanFieldDto;
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, class_validator_1.Equals)('BOOLEAN'),
|
|
31
|
+
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
32
|
+
title: 'Field Type',
|
|
33
|
+
description: "Discriminator literal — always 'BOOLEAN' for this DTO.",
|
|
34
|
+
type: 'string',
|
|
35
|
+
enum: ['BOOLEAN'],
|
|
36
|
+
}),
|
|
37
|
+
__metadata("design:type", String)
|
|
38
|
+
], BooleanFieldDto.prototype, "type", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, class_validator_1.IsBoolean)(),
|
|
41
|
+
(0, class_validator_1.IsOptional)(),
|
|
42
|
+
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
43
|
+
title: 'Value',
|
|
44
|
+
description: 'Boolean value of the field.',
|
|
45
|
+
type: 'boolean',
|
|
46
|
+
}),
|
|
47
|
+
__metadata("design:type", Boolean)
|
|
48
|
+
], BooleanFieldDto.prototype, "value", void 0);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseFieldDto } from '../base-field.dto';
|
|
2
|
+
/**
|
|
3
|
+
* Multi-country selection field. Value is an array of ISO 3166-1 alpha-2 country codes.
|
|
4
|
+
*/
|
|
5
|
+
export declare class CountriesFieldDto extends BaseFieldDto {
|
|
6
|
+
/**
|
|
7
|
+
* Discriminator literal.
|
|
8
|
+
*/
|
|
9
|
+
type: 'COUNTRIES';
|
|
10
|
+
/**
|
|
11
|
+
* Value of the field — ISO 3166-1 alpha-2 country codes.
|
|
12
|
+
*/
|
|
13
|
+
value?: string[];
|
|
14
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
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.CountriesFieldDto = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
const class_validator_jsonschema_1 = require("class-validator-jsonschema");
|
|
15
|
+
const base_field_dto_1 = require("../base-field.dto");
|
|
16
|
+
const country_enum_1 = require("../../enums/country.enum");
|
|
17
|
+
/**
|
|
18
|
+
* Multi-country selection field. Value is an array of ISO 3166-1 alpha-2 country codes.
|
|
19
|
+
*/
|
|
20
|
+
class CountriesFieldDto extends base_field_dto_1.BaseFieldDto {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
/**
|
|
24
|
+
* Discriminator literal.
|
|
25
|
+
*/
|
|
26
|
+
this.type = 'COUNTRIES';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.CountriesFieldDto = CountriesFieldDto;
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_validator_1.Equals)('COUNTRIES'),
|
|
32
|
+
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
33
|
+
title: 'Field Type',
|
|
34
|
+
description: "Discriminator literal — always 'COUNTRIES' for this DTO.",
|
|
35
|
+
type: 'string',
|
|
36
|
+
enum: ['COUNTRIES'],
|
|
37
|
+
}),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], CountriesFieldDto.prototype, "type", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, class_validator_1.IsArray)(),
|
|
42
|
+
(0, class_validator_1.IsEnum)(country_enum_1.CountryEnum, { each: true }),
|
|
43
|
+
(0, class_validator_1.IsOptional)(),
|
|
44
|
+
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
45
|
+
title: 'Value',
|
|
46
|
+
description: 'Array of ISO 3166-1 alpha-2 country codes.',
|
|
47
|
+
type: 'array',
|
|
48
|
+
items: { type: 'string', enum: Object.values(country_enum_1.CountryEnum) },
|
|
49
|
+
}),
|
|
50
|
+
__metadata("design:type", Array)
|
|
51
|
+
], CountriesFieldDto.prototype, "value", void 0);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseFieldDto } from '../base-field.dto';
|
|
2
|
+
/**
|
|
3
|
+
* Currency selection field. Value is an ISO 4217 currency code.
|
|
4
|
+
*/
|
|
5
|
+
export declare class CurrencyFieldDto extends BaseFieldDto {
|
|
6
|
+
/**
|
|
7
|
+
* Discriminator literal.
|
|
8
|
+
*/
|
|
9
|
+
type: 'CURRENCY';
|
|
10
|
+
/**
|
|
11
|
+
* Value of the field — ISO 4217 currency code.
|
|
12
|
+
*/
|
|
13
|
+
value?: string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
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.CurrencyFieldDto = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
const class_validator_jsonschema_1 = require("class-validator-jsonschema");
|
|
15
|
+
const base_field_dto_1 = require("../base-field.dto");
|
|
16
|
+
const currency_enum_1 = require("../../enums/currency.enum");
|
|
17
|
+
/**
|
|
18
|
+
* Currency selection field. Value is an ISO 4217 currency code.
|
|
19
|
+
*/
|
|
20
|
+
class CurrencyFieldDto extends base_field_dto_1.BaseFieldDto {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
/**
|
|
24
|
+
* Discriminator literal.
|
|
25
|
+
*/
|
|
26
|
+
this.type = 'CURRENCY';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.CurrencyFieldDto = CurrencyFieldDto;
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_validator_1.Equals)('CURRENCY'),
|
|
32
|
+
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
33
|
+
title: 'Field Type',
|
|
34
|
+
description: "Discriminator literal — always 'CURRENCY' for this DTO.",
|
|
35
|
+
type: 'string',
|
|
36
|
+
enum: ['CURRENCY'],
|
|
37
|
+
}),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], CurrencyFieldDto.prototype, "type", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, class_validator_1.IsEnum)(currency_enum_1.CurrencyEnum),
|
|
42
|
+
(0, class_validator_1.IsOptional)(),
|
|
43
|
+
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
44
|
+
title: 'Value',
|
|
45
|
+
description: 'ISO 4217 currency code.',
|
|
46
|
+
type: 'string',
|
|
47
|
+
enum: Object.values(currency_enum_1.CurrencyEnum),
|
|
48
|
+
}),
|
|
49
|
+
__metadata("design:type", String)
|
|
50
|
+
], CurrencyFieldDto.prototype, "value", void 0);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseFieldDto } from '../base-field.dto';
|
|
2
|
+
/**
|
|
3
|
+
* Date input field. Value is an ISO 8601 string.
|
|
4
|
+
*/
|
|
5
|
+
export declare class DateFieldDto extends BaseFieldDto {
|
|
6
|
+
/**
|
|
7
|
+
* Discriminator literal.
|
|
8
|
+
*/
|
|
9
|
+
type: 'DATE';
|
|
10
|
+
/**
|
|
11
|
+
* Value of the field — ISO 8601 date or date-time.
|
|
12
|
+
*/
|
|
13
|
+
value?: string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
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.DateFieldDto = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
const class_validator_jsonschema_1 = require("class-validator-jsonschema");
|
|
15
|
+
const base_field_dto_1 = require("../base-field.dto");
|
|
16
|
+
/**
|
|
17
|
+
* Date input field. Value is an ISO 8601 string.
|
|
18
|
+
*/
|
|
19
|
+
class DateFieldDto extends base_field_dto_1.BaseFieldDto {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
/**
|
|
23
|
+
* Discriminator literal.
|
|
24
|
+
*/
|
|
25
|
+
this.type = 'DATE';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.DateFieldDto = DateFieldDto;
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, class_validator_1.Equals)('DATE'),
|
|
31
|
+
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
32
|
+
title: 'Field Type',
|
|
33
|
+
description: "Discriminator literal — always 'DATE' for this DTO.",
|
|
34
|
+
type: 'string',
|
|
35
|
+
enum: ['DATE'],
|
|
36
|
+
}),
|
|
37
|
+
__metadata("design:type", String)
|
|
38
|
+
], DateFieldDto.prototype, "type", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, class_validator_1.IsISO8601)(),
|
|
41
|
+
(0, class_validator_1.IsOptional)(),
|
|
42
|
+
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
43
|
+
title: 'Value',
|
|
44
|
+
description: 'ISO 8601 date or date-time string.',
|
|
45
|
+
type: 'string',
|
|
46
|
+
format: 'date-time',
|
|
47
|
+
}),
|
|
48
|
+
__metadata("design:type", String)
|
|
49
|
+
], DateFieldDto.prototype, "value", void 0);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseFieldDto } from '../base-field.dto';
|
|
2
|
+
/**
|
|
3
|
+
* Email input field.
|
|
4
|
+
*/
|
|
5
|
+
export declare class EmailFieldDto extends BaseFieldDto {
|
|
6
|
+
/**
|
|
7
|
+
* Discriminator literal.
|
|
8
|
+
*/
|
|
9
|
+
type: 'EMAIL';
|
|
10
|
+
/**
|
|
11
|
+
* Value of the field.
|
|
12
|
+
*/
|
|
13
|
+
value?: string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
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.EmailFieldDto = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
const class_validator_jsonschema_1 = require("class-validator-jsonschema");
|
|
15
|
+
const base_field_dto_1 = require("../base-field.dto");
|
|
16
|
+
/**
|
|
17
|
+
* Email input field.
|
|
18
|
+
*/
|
|
19
|
+
class EmailFieldDto extends base_field_dto_1.BaseFieldDto {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
/**
|
|
23
|
+
* Discriminator literal.
|
|
24
|
+
*/
|
|
25
|
+
this.type = 'EMAIL';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.EmailFieldDto = EmailFieldDto;
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, class_validator_1.Equals)('EMAIL'),
|
|
31
|
+
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
32
|
+
title: 'Field Type',
|
|
33
|
+
description: "Discriminator literal — always 'EMAIL' for this DTO.",
|
|
34
|
+
type: 'string',
|
|
35
|
+
enum: ['EMAIL'],
|
|
36
|
+
}),
|
|
37
|
+
__metadata("design:type", String)
|
|
38
|
+
], EmailFieldDto.prototype, "type", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, class_validator_1.IsEmail)(),
|
|
41
|
+
(0, class_validator_1.IsOptional)(),
|
|
42
|
+
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
43
|
+
title: 'Value',
|
|
44
|
+
description: 'Email address.',
|
|
45
|
+
type: 'string',
|
|
46
|
+
format: 'email',
|
|
47
|
+
}),
|
|
48
|
+
__metadata("design:type", String)
|
|
49
|
+
], EmailFieldDto.prototype, "value", void 0);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseFieldDto } from '../base-field.dto';
|
|
2
|
+
import { FieldOptionDto } from '../field-option.dto';
|
|
3
|
+
/**
|
|
4
|
+
* Multi-choice select field.
|
|
5
|
+
*/
|
|
6
|
+
export declare class MultiSelectFieldDto extends BaseFieldDto {
|
|
7
|
+
/**
|
|
8
|
+
* Discriminator literal.
|
|
9
|
+
*/
|
|
10
|
+
type: 'MULTI_SELECT';
|
|
11
|
+
/**
|
|
12
|
+
* Value of the field — array of selected options.
|
|
13
|
+
*/
|
|
14
|
+
value?: FieldOptionDto[];
|
|
15
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
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.MultiSelectFieldDto = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
const class_transformer_1 = require("class-transformer");
|
|
15
|
+
const class_validator_jsonschema_1 = require("class-validator-jsonschema");
|
|
16
|
+
const base_field_dto_1 = require("../base-field.dto");
|
|
17
|
+
const field_option_dto_1 = require("../field-option.dto");
|
|
18
|
+
/**
|
|
19
|
+
* Multi-choice select field.
|
|
20
|
+
*/
|
|
21
|
+
class MultiSelectFieldDto extends base_field_dto_1.BaseFieldDto {
|
|
22
|
+
constructor() {
|
|
23
|
+
super(...arguments);
|
|
24
|
+
/**
|
|
25
|
+
* Discriminator literal.
|
|
26
|
+
*/
|
|
27
|
+
this.type = 'MULTI_SELECT';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.MultiSelectFieldDto = MultiSelectFieldDto;
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, class_validator_1.Equals)('MULTI_SELECT'),
|
|
33
|
+
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
34
|
+
title: 'Field Type',
|
|
35
|
+
description: "Discriminator literal — always 'MULTI_SELECT' for this DTO.",
|
|
36
|
+
type: 'string',
|
|
37
|
+
enum: ['MULTI_SELECT'],
|
|
38
|
+
}),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], MultiSelectFieldDto.prototype, "type", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, class_validator_1.IsArray)(),
|
|
43
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
44
|
+
(0, class_transformer_1.Type)(() => field_option_dto_1.FieldOptionDto),
|
|
45
|
+
(0, class_validator_1.IsOptional)(),
|
|
46
|
+
(0, class_validator_jsonschema_1.JSONSchema)({
|
|
47
|
+
title: 'Value',
|
|
48
|
+
description: 'Array of selected options.',
|
|
49
|
+
type: 'array',
|
|
50
|
+
items: { $ref: '#/components/schemas/FieldOptionDto' },
|
|
51
|
+
}),
|
|
52
|
+
__metadata("design:type", Array)
|
|
53
|
+
], MultiSelectFieldDto.prototype, "value", void 0);
|