@hosterai/types 0.0.30 → 0.0.32

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.
Files changed (131) hide show
  1. package/dist/decorators/is-e164-validator.spec.d.ts +1 -0
  2. package/dist/decorators/is-e164-validator.spec.js +64 -0
  3. package/dist/decorators/is-e164.validator.d.ts +2 -0
  4. package/dist/decorators/is-e164.validator.js +30 -0
  5. package/dist/dtos/base-field.dto.d.ts +45 -0
  6. package/dist/dtos/base-field.dto.js +133 -0
  7. package/dist/dtos/fields/any-field.dto.d.ts +38 -0
  8. package/dist/dtos/fields/any-field.dto.js +36 -0
  9. package/dist/dtos/fields/boolean-field.dto.d.ts +14 -0
  10. package/dist/dtos/fields/boolean-field.dto.js +48 -0
  11. package/dist/dtos/fields/countries-field.dto.d.ts +14 -0
  12. package/dist/dtos/fields/countries-field.dto.js +51 -0
  13. package/dist/dtos/fields/currency-field.dto.d.ts +14 -0
  14. package/dist/dtos/fields/currency-field.dto.js +50 -0
  15. package/dist/dtos/fields/date-field.dto.d.ts +14 -0
  16. package/dist/dtos/fields/date-field.dto.js +49 -0
  17. package/dist/dtos/fields/email-field.dto.d.ts +14 -0
  18. package/dist/dtos/fields/email-field.dto.js +49 -0
  19. package/dist/dtos/fields/multi-select-field.dto.d.ts +15 -0
  20. package/dist/dtos/fields/multi-select-field.dto.js +53 -0
  21. package/dist/dtos/fields/number-field.dto.d.ts +26 -0
  22. package/dist/dtos/fields/number-field.dto.js +82 -0
  23. package/dist/dtos/fields/password-field.dto.d.ts +21 -0
  24. package/dist/dtos/fields/password-field.dto.js +64 -0
  25. package/dist/dtos/fields/phone-field.dto.d.ts +14 -0
  26. package/dist/dtos/fields/phone-field.dto.js +50 -0
  27. package/dist/dtos/fields/select-field.dto.d.ts +15 -0
  28. package/dist/dtos/fields/select-field.dto.js +51 -0
  29. package/dist/dtos/fields/text-field.dto.d.ts +31 -0
  30. package/dist/dtos/fields/text-field.dto.js +102 -0
  31. package/dist/dtos/fields/textarea-field.dto.d.ts +31 -0
  32. package/dist/dtos/fields/textarea-field.dto.js +102 -0
  33. package/dist/dtos/fields/url-field.dto.d.ts +14 -0
  34. package/dist/dtos/fields/url-field.dto.js +49 -0
  35. package/dist/dtos/info/info-notification.dto.d.ts +5 -0
  36. package/dist/dtos/info/info-notification.dto.js +7 -0
  37. package/dist/dtos/info/info.dto.d.ts +196 -0
  38. package/dist/dtos/info/info.dto.js +278 -0
  39. package/dist/dtos/info.dto.d.ts +7 -0
  40. package/dist/dtos/info.dto.js +11 -0
  41. package/dist/dtos/notification/notification-request.dto.d.ts +20 -0
  42. package/dist/dtos/notification/notification-request.dto.js +31 -0
  43. package/dist/dtos/receiver/receiver-email.dto.d.ts +20 -0
  44. package/dist/dtos/receiver/receiver-email.dto.js +39 -0
  45. package/dist/dtos/receiver/receiver-push.dto.d.ts +15 -0
  46. package/dist/dtos/receiver/receiver-push.dto.js +31 -0
  47. package/dist/dtos/receiver/receiver-sms.dto.d.ts +11 -0
  48. package/dist/dtos/receiver/receiver-sms.dto.js +26 -0
  49. package/dist/dtos/request.dto.d.ts +20 -0
  50. package/dist/dtos/request.dto.js +31 -0
  51. package/dist/dtos/sender/sender-email.dto.d.ts +25 -0
  52. package/dist/dtos/sender/sender-email.dto.js +46 -0
  53. package/dist/dtos/sender/sender-push.dto.d.ts +31 -0
  54. package/dist/dtos/sender/sender-push.dto.js +50 -0
  55. package/dist/dtos/sender/sender-sms.dto.d.ts +15 -0
  56. package/dist/dtos/sender/sender-sms.dto.js +30 -0
  57. package/dist/enums/message-type.enum.d.ts +5 -0
  58. package/dist/enums/message-type.enum.js +9 -0
  59. package/dist/enums/roles.enum.d.ts +1 -0
  60. package/dist/enums/roles.enum.js +1 -0
  61. package/dist/openapi/schemas/components.schemas.d.ts +27 -6
  62. package/dist/openapi/schemas/components.schemas.js +27 -0
  63. package/dist/validators/any-field-validator.d.ts +10 -0
  64. package/dist/validators/any-field-validator.js +28 -0
  65. package/dist/validators/any-field-validator.spec.d.ts +1 -0
  66. package/dist/validators/any-field-validator.spec.js +37 -0
  67. package/dist/validators/fields/boolean-field-validator.d.ts +8 -0
  68. package/dist/validators/fields/boolean-field-validator.js +15 -0
  69. package/dist/validators/fields/boolean-field-validator.spec.d.ts +1 -0
  70. package/dist/validators/fields/boolean-field-validator.spec.js +43 -0
  71. package/dist/validators/fields/countries-field-validator.d.ts +8 -0
  72. package/dist/validators/fields/countries-field-validator.js +15 -0
  73. package/dist/validators/fields/countries-field-validator.spec.d.ts +1 -0
  74. package/dist/validators/fields/countries-field-validator.spec.js +44 -0
  75. package/dist/validators/fields/currency-field-validator.d.ts +8 -0
  76. package/dist/validators/fields/currency-field-validator.js +15 -0
  77. package/dist/validators/fields/currency-field-validator.spec.d.ts +1 -0
  78. package/dist/validators/fields/currency-field-validator.spec.js +41 -0
  79. package/dist/validators/fields/date-field-validator.d.ts +8 -0
  80. package/dist/validators/fields/date-field-validator.js +15 -0
  81. package/dist/validators/fields/date-field-validator.spec.d.ts +1 -0
  82. package/dist/validators/fields/date-field-validator.spec.js +43 -0
  83. package/dist/validators/fields/email-field-validator.d.ts +8 -0
  84. package/dist/validators/fields/email-field-validator.js +15 -0
  85. package/dist/validators/fields/email-field-validator.spec.d.ts +1 -0
  86. package/dist/validators/fields/email-field-validator.spec.js +43 -0
  87. package/dist/validators/fields/multi-select-field-validator.d.ts +8 -0
  88. package/dist/validators/fields/multi-select-field-validator.js +15 -0
  89. package/dist/validators/fields/multi-select-field-validator.spec.d.ts +1 -0
  90. package/dist/validators/fields/multi-select-field-validator.spec.js +52 -0
  91. package/dist/validators/fields/number-field-validator.d.ts +8 -0
  92. package/dist/validators/fields/number-field-validator.js +15 -0
  93. package/dist/validators/fields/number-field-validator.spec.d.ts +1 -0
  94. package/dist/validators/fields/number-field-validator.spec.js +59 -0
  95. package/dist/validators/fields/password-field-validator.d.ts +8 -0
  96. package/dist/validators/fields/password-field-validator.js +15 -0
  97. package/dist/validators/fields/password-field-validator.spec.d.ts +1 -0
  98. package/dist/validators/fields/password-field-validator.spec.js +44 -0
  99. package/dist/validators/fields/phone-field-validator.d.ts +8 -0
  100. package/dist/validators/fields/phone-field-validator.js +15 -0
  101. package/dist/validators/fields/phone-field-validator.spec.d.ts +1 -0
  102. package/dist/validators/fields/phone-field-validator.spec.js +41 -0
  103. package/dist/validators/fields/select-field-validator.d.ts +8 -0
  104. package/dist/validators/fields/select-field-validator.js +15 -0
  105. package/dist/validators/fields/select-field-validator.spec.d.ts +1 -0
  106. package/dist/validators/fields/select-field-validator.spec.js +46 -0
  107. package/dist/validators/fields/text-field-validator.d.ts +8 -0
  108. package/dist/validators/fields/text-field-validator.js +15 -0
  109. package/dist/validators/fields/text-field-validator.spec.d.ts +1 -0
  110. package/dist/validators/fields/text-field-validator.spec.js +60 -0
  111. package/dist/validators/fields/textarea-field-validator.d.ts +8 -0
  112. package/dist/validators/fields/textarea-field-validator.js +15 -0
  113. package/dist/validators/fields/textarea-field-validator.spec.d.ts +1 -0
  114. package/dist/validators/fields/textarea-field-validator.spec.js +52 -0
  115. package/dist/validators/fields/url-field-validator.d.ts +8 -0
  116. package/dist/validators/fields/url-field-validator.js +15 -0
  117. package/dist/validators/fields/url-field-validator.spec.d.ts +1 -0
  118. package/dist/validators/fields/url-field-validator.spec.js +43 -0
  119. package/package.json +1 -1
  120. package/dist/dtos/product/requests/product-downgradeable-request.dto.d.ts +0 -18
  121. package/dist/dtos/product/requests/product-downgradeable-request.dto.js +0 -37
  122. package/dist/dtos/product/requests/product-upgradeable-request.dto.d.ts +0 -18
  123. package/dist/dtos/product/requests/product-upgradeable-request.dto.js +0 -37
  124. package/dist/dtos/product/responses/product-downgradeable-response.dto.d.ts +0 -22
  125. package/dist/dtos/product/responses/product-downgradeable-response.dto.js +0 -11
  126. package/dist/dtos/product/responses/product-upgradeable-response.dto.d.ts +0 -22
  127. package/dist/dtos/product/responses/product-upgradeable-response.dto.js +0 -11
  128. package/dist/validators/product-downgradeable-request-validator.d.ts +0 -8
  129. package/dist/validators/product-downgradeable-request-validator.js +0 -17
  130. package/dist/validators/product-upgradeable-request-validator.d.ts +0 -8
  131. package/dist/validators/product-upgradeable-request-validator.js +0 -17
@@ -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);
@@ -0,0 +1,26 @@
1
+ import { BaseFieldDto } from '../base-field.dto';
2
+ /**
3
+ * Numeric input field.
4
+ */
5
+ export declare class NumberFieldDto extends BaseFieldDto {
6
+ /**
7
+ * Discriminator literal.
8
+ */
9
+ type: 'NUMBER';
10
+ /**
11
+ * Value of the field.
12
+ */
13
+ value?: number;
14
+ /**
15
+ * Minimum allowed value.
16
+ */
17
+ min?: number;
18
+ /**
19
+ * Maximum allowed value.
20
+ */
21
+ max?: number;
22
+ /**
23
+ * When true, only integer values are allowed.
24
+ */
25
+ integer?: boolean;
26
+ }
@@ -0,0 +1,82 @@
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.NumberFieldDto = 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 min_less_or_equal_validator_1 = require("../../decorators/min-less-or-equal.validator");
17
+ /**
18
+ * Numeric input field.
19
+ */
20
+ let NumberFieldDto = class NumberFieldDto extends base_field_dto_1.BaseFieldDto {
21
+ constructor() {
22
+ super(...arguments);
23
+ /**
24
+ * Discriminator literal.
25
+ */
26
+ this.type = 'NUMBER';
27
+ }
28
+ };
29
+ exports.NumberFieldDto = NumberFieldDto;
30
+ __decorate([
31
+ (0, class_validator_1.Equals)('NUMBER'),
32
+ (0, class_validator_jsonschema_1.JSONSchema)({
33
+ title: 'Field Type',
34
+ description: "Discriminator literal — always 'NUMBER' for this DTO.",
35
+ type: 'string',
36
+ enum: ['NUMBER'],
37
+ }),
38
+ __metadata("design:type", String)
39
+ ], NumberFieldDto.prototype, "type", void 0);
40
+ __decorate([
41
+ (0, class_validator_1.IsNumber)(),
42
+ (0, class_validator_1.IsOptional)(),
43
+ (0, class_validator_jsonschema_1.JSONSchema)({
44
+ title: 'Value',
45
+ description: 'Numeric value of the field.',
46
+ type: 'number',
47
+ }),
48
+ __metadata("design:type", Number)
49
+ ], NumberFieldDto.prototype, "value", void 0);
50
+ __decorate([
51
+ (0, class_validator_1.IsNumber)(),
52
+ (0, class_validator_1.IsOptional)(),
53
+ (0, class_validator_jsonschema_1.JSONSchema)({
54
+ title: 'Minimum',
55
+ description: 'Minimum allowed value.',
56
+ type: 'number',
57
+ }),
58
+ __metadata("design:type", Number)
59
+ ], NumberFieldDto.prototype, "min", void 0);
60
+ __decorate([
61
+ (0, class_validator_1.IsNumber)(),
62
+ (0, class_validator_1.IsOptional)(),
63
+ (0, class_validator_jsonschema_1.JSONSchema)({
64
+ title: 'Maximum',
65
+ description: 'Maximum allowed value.',
66
+ type: 'number',
67
+ }),
68
+ __metadata("design:type", Number)
69
+ ], NumberFieldDto.prototype, "max", void 0);
70
+ __decorate([
71
+ (0, class_validator_1.IsBoolean)(),
72
+ (0, class_validator_1.IsOptional)(),
73
+ (0, class_validator_jsonschema_1.JSONSchema)({
74
+ title: 'Integer Only',
75
+ description: 'When true, only integer values are allowed.',
76
+ type: 'boolean',
77
+ }),
78
+ __metadata("design:type", Boolean)
79
+ ], NumberFieldDto.prototype, "integer", void 0);
80
+ exports.NumberFieldDto = NumberFieldDto = __decorate([
81
+ (0, min_less_or_equal_validator_1.MinLessOrEqualMaxProperty)(['min', 'max'])
82
+ ], NumberFieldDto);
@@ -0,0 +1,21 @@
1
+ import { BaseFieldDto } from '../base-field.dto';
2
+ /**
3
+ * Password input field.
4
+ *
5
+ * This DTO intentionally does NOT enforce password strength rules — that is
6
+ * the responsibility of the consuming application.
7
+ */
8
+ export declare class PasswordFieldDto extends BaseFieldDto {
9
+ /**
10
+ * Discriminator literal.
11
+ */
12
+ type: 'PASSWORD';
13
+ /**
14
+ * Value of the field.
15
+ */
16
+ value?: string;
17
+ /**
18
+ * Minimum allowed length.
19
+ */
20
+ minLength?: number;
21
+ }
@@ -0,0 +1,64 @@
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.PasswordFieldDto = 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
+ * Password input field.
18
+ *
19
+ * This DTO intentionally does NOT enforce password strength rules — that is
20
+ * the responsibility of the consuming application.
21
+ */
22
+ class PasswordFieldDto extends base_field_dto_1.BaseFieldDto {
23
+ constructor() {
24
+ super(...arguments);
25
+ /**
26
+ * Discriminator literal.
27
+ */
28
+ this.type = 'PASSWORD';
29
+ }
30
+ }
31
+ exports.PasswordFieldDto = PasswordFieldDto;
32
+ __decorate([
33
+ (0, class_validator_1.Equals)('PASSWORD'),
34
+ (0, class_validator_jsonschema_1.JSONSchema)({
35
+ title: 'Field Type',
36
+ description: "Discriminator literal — always 'PASSWORD' for this DTO.",
37
+ type: 'string',
38
+ enum: ['PASSWORD'],
39
+ }),
40
+ __metadata("design:type", String)
41
+ ], PasswordFieldDto.prototype, "type", void 0);
42
+ __decorate([
43
+ (0, class_validator_1.IsString)(),
44
+ (0, class_validator_1.IsOptional)(),
45
+ (0, class_validator_jsonschema_1.JSONSchema)({
46
+ title: 'Value',
47
+ description: 'Password value.',
48
+ type: 'string',
49
+ format: 'password',
50
+ }),
51
+ __metadata("design:type", String)
52
+ ], PasswordFieldDto.prototype, "value", void 0);
53
+ __decorate([
54
+ (0, class_validator_1.IsInt)(),
55
+ (0, class_validator_1.Min)(0),
56
+ (0, class_validator_1.IsOptional)(),
57
+ (0, class_validator_jsonschema_1.JSONSchema)({
58
+ title: 'Minimum Length',
59
+ description: 'Minimum allowed length.',
60
+ type: 'integer',
61
+ minimum: 0,
62
+ }),
63
+ __metadata("design:type", Number)
64
+ ], PasswordFieldDto.prototype, "minLength", void 0);
@@ -0,0 +1,14 @@
1
+ import { BaseFieldDto } from '../base-field.dto';
2
+ /**
3
+ * Phone number field. Value must be in E.164 format (e.g. +14155552671).
4
+ */
5
+ export declare class PhoneFieldDto extends BaseFieldDto {
6
+ /**
7
+ * Discriminator literal.
8
+ */
9
+ type: 'PHONE';
10
+ /**
11
+ * Value of the field in E.164 format.
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.PhoneFieldDto = 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 is_e164_validator_1 = require("../../decorators/is-e164.validator");
17
+ /**
18
+ * Phone number field. Value must be in E.164 format (e.g. +14155552671).
19
+ */
20
+ class PhoneFieldDto extends base_field_dto_1.BaseFieldDto {
21
+ constructor() {
22
+ super(...arguments);
23
+ /**
24
+ * Discriminator literal.
25
+ */
26
+ this.type = 'PHONE';
27
+ }
28
+ }
29
+ exports.PhoneFieldDto = PhoneFieldDto;
30
+ __decorate([
31
+ (0, class_validator_1.Equals)('PHONE'),
32
+ (0, class_validator_jsonschema_1.JSONSchema)({
33
+ title: 'Field Type',
34
+ description: "Discriminator literal — always 'PHONE' for this DTO.",
35
+ type: 'string',
36
+ enum: ['PHONE'],
37
+ }),
38
+ __metadata("design:type", String)
39
+ ], PhoneFieldDto.prototype, "type", void 0);
40
+ __decorate([
41
+ (0, is_e164_validator_1.IsE164)(),
42
+ (0, class_validator_1.IsOptional)(),
43
+ (0, class_validator_jsonschema_1.JSONSchema)({
44
+ title: 'Value',
45
+ description: 'Phone number in E.164 format (e.g. +14155552671).',
46
+ type: 'string',
47
+ example: '+14155552671',
48
+ }),
49
+ __metadata("design:type", String)
50
+ ], PhoneFieldDto.prototype, "value", void 0);
@@ -0,0 +1,15 @@
1
+ import { BaseFieldDto } from '../base-field.dto';
2
+ import { FieldOptionDto } from '../field-option.dto';
3
+ /**
4
+ * Single-choice select field.
5
+ */
6
+ export declare class SelectFieldDto extends BaseFieldDto {
7
+ /**
8
+ * Discriminator literal.
9
+ */
10
+ type: 'SELECT';
11
+ /**
12
+ * Value of the field — the selected option.
13
+ */
14
+ value?: FieldOptionDto;
15
+ }
@@ -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.SelectFieldDto = 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
+ * Single-choice select field.
20
+ */
21
+ class SelectFieldDto extends base_field_dto_1.BaseFieldDto {
22
+ constructor() {
23
+ super(...arguments);
24
+ /**
25
+ * Discriminator literal.
26
+ */
27
+ this.type = 'SELECT';
28
+ }
29
+ }
30
+ exports.SelectFieldDto = SelectFieldDto;
31
+ __decorate([
32
+ (0, class_validator_1.Equals)('SELECT'),
33
+ (0, class_validator_jsonschema_1.JSONSchema)({
34
+ title: 'Field Type',
35
+ description: "Discriminator literal — always 'SELECT' for this DTO.",
36
+ type: 'string',
37
+ enum: ['SELECT'],
38
+ }),
39
+ __metadata("design:type", String)
40
+ ], SelectFieldDto.prototype, "type", void 0);
41
+ __decorate([
42
+ (0, class_validator_1.ValidateNested)(),
43
+ (0, class_transformer_1.Type)(() => field_option_dto_1.FieldOptionDto),
44
+ (0, class_validator_1.IsOptional)(),
45
+ (0, class_validator_jsonschema_1.JSONSchema)({
46
+ title: 'Value',
47
+ description: 'Selected option.',
48
+ $ref: '#/components/schemas/FieldOptionDto',
49
+ }),
50
+ __metadata("design:type", field_option_dto_1.FieldOptionDto)
51
+ ], SelectFieldDto.prototype, "value", void 0);
@@ -0,0 +1,31 @@
1
+ import { BaseFieldDto } from '../base-field.dto';
2
+ import { MultilangTextDto } from '../multilang-text.dto';
3
+ /**
4
+ * Single-line text input field.
5
+ */
6
+ export declare class TextFieldDto extends BaseFieldDto {
7
+ /**
8
+ * Discriminator literal.
9
+ */
10
+ type: 'TEXT';
11
+ /**
12
+ * Value of the field.
13
+ */
14
+ value?: string;
15
+ /**
16
+ * Minimum allowed character length.
17
+ */
18
+ minLength?: number;
19
+ /**
20
+ * Maximum allowed character length.
21
+ */
22
+ maxLength?: number;
23
+ /**
24
+ * Optional regex pattern to validate input.
25
+ */
26
+ regexValidation?: string;
27
+ /**
28
+ * Localized error message shown when regex validation fails.
29
+ */
30
+ regexValidationErrorMessage?: MultilangTextDto[];
31
+ }
@@ -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.TextFieldDto = 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 multilang_text_dto_1 = require("../multilang-text.dto");
18
+ const is_regex_validator_1 = require("../../decorators/is-regex.validator");
19
+ /**
20
+ * Single-line text input field.
21
+ */
22
+ class TextFieldDto extends base_field_dto_1.BaseFieldDto {
23
+ constructor() {
24
+ super(...arguments);
25
+ /**
26
+ * Discriminator literal.
27
+ */
28
+ this.type = 'TEXT';
29
+ }
30
+ }
31
+ exports.TextFieldDto = TextFieldDto;
32
+ __decorate([
33
+ (0, class_validator_1.Equals)('TEXT'),
34
+ (0, class_validator_jsonschema_1.JSONSchema)({
35
+ title: 'Field Type',
36
+ description: "Discriminator literal — always 'TEXT' for this DTO.",
37
+ type: 'string',
38
+ enum: ['TEXT'],
39
+ }),
40
+ __metadata("design:type", String)
41
+ ], TextFieldDto.prototype, "type", void 0);
42
+ __decorate([
43
+ (0, class_validator_1.IsString)(),
44
+ (0, class_validator_1.IsOptional)(),
45
+ (0, class_validator_jsonschema_1.JSONSchema)({
46
+ title: 'Value',
47
+ description: 'Text value of the field.',
48
+ type: 'string',
49
+ }),
50
+ __metadata("design:type", String)
51
+ ], TextFieldDto.prototype, "value", void 0);
52
+ __decorate([
53
+ (0, class_validator_1.IsInt)(),
54
+ (0, class_validator_1.Min)(0),
55
+ (0, class_validator_1.IsOptional)(),
56
+ (0, class_validator_jsonschema_1.JSONSchema)({
57
+ title: 'Minimum Length',
58
+ description: 'Minimum allowed character length.',
59
+ type: 'integer',
60
+ minimum: 0,
61
+ }),
62
+ __metadata("design:type", Number)
63
+ ], TextFieldDto.prototype, "minLength", void 0);
64
+ __decorate([
65
+ (0, class_validator_1.IsInt)(),
66
+ (0, class_validator_1.Min)(0),
67
+ (0, class_validator_1.IsOptional)(),
68
+ (0, class_validator_jsonschema_1.JSONSchema)({
69
+ title: 'Maximum Length',
70
+ description: 'Maximum allowed character length.',
71
+ type: 'integer',
72
+ minimum: 0,
73
+ }),
74
+ __metadata("design:type", Number)
75
+ ], TextFieldDto.prototype, "maxLength", void 0);
76
+ __decorate([
77
+ (0, class_validator_1.IsString)(),
78
+ (0, is_regex_validator_1.IsRegex)(),
79
+ (0, class_validator_1.IsOptional)(),
80
+ (0, class_validator_jsonschema_1.JSONSchema)({
81
+ title: 'Regex Validation',
82
+ description: 'Optional regex to validate input.',
83
+ type: 'string',
84
+ example: '^[A-Za-z0-9_-]+$',
85
+ }),
86
+ __metadata("design:type", String)
87
+ ], TextFieldDto.prototype, "regexValidation", void 0);
88
+ __decorate([
89
+ (0, class_validator_1.ValidateIf)((o) => !!o.regexValidation),
90
+ (0, class_validator_1.ValidateNested)({ each: true }),
91
+ (0, class_transformer_1.Type)(() => multilang_text_dto_1.MultilangTextDto),
92
+ (0, class_validator_1.IsArray)(),
93
+ (0, class_validator_1.ArrayMinSize)(1),
94
+ (0, class_validator_1.IsOptional)(),
95
+ (0, class_validator_jsonschema_1.JSONSchema)({
96
+ title: 'Regex Validation Error Message',
97
+ description: 'Localized error message shown when regex validation fails.',
98
+ type: 'array',
99
+ items: { $ref: '#/components/schemas/MultilangTextDto' },
100
+ }),
101
+ __metadata("design:type", Array)
102
+ ], TextFieldDto.prototype, "regexValidationErrorMessage", void 0);
@@ -0,0 +1,31 @@
1
+ import { BaseFieldDto } from '../base-field.dto';
2
+ import { MultilangTextDto } from '../multilang-text.dto';
3
+ /**
4
+ * Multi-line text input field.
5
+ */
6
+ export declare class TextareaFieldDto extends BaseFieldDto {
7
+ /**
8
+ * Discriminator literal.
9
+ */
10
+ type: 'TEXTAREA';
11
+ /**
12
+ * Value of the field.
13
+ */
14
+ value?: string;
15
+ /**
16
+ * Minimum allowed character length.
17
+ */
18
+ minLength?: number;
19
+ /**
20
+ * Maximum allowed character length.
21
+ */
22
+ maxLength?: number;
23
+ /**
24
+ * Optional regex pattern to validate input.
25
+ */
26
+ regexValidation?: string;
27
+ /**
28
+ * Localized error message shown when regex validation fails.
29
+ */
30
+ regexValidationErrorMessage?: MultilangTextDto[];
31
+ }