@hosterai/types 0.0.17 → 0.0.18

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 (148) hide show
  1. package/README.md +12 -9
  2. package/dist/decorators/at-least-one-non-empty-validator.spec.d.ts +1 -0
  3. package/dist/decorators/at-least-one-non-empty-validator.spec.js +79 -0
  4. package/dist/decorators/at-least-one-non-empty.validator.d.ts +2 -0
  5. package/dist/decorators/at-least-one-non-empty.validator.js +43 -0
  6. package/dist/decorators/is-of-allowed-types-validator.spec.d.ts +1 -0
  7. package/dist/decorators/is-of-allowed-types-validator.spec.js +188 -0
  8. package/dist/decorators/is-of-allowed-types.validator.d.ts +16 -0
  9. package/dist/decorators/is-of-allowed-types.validator.js +105 -0
  10. package/dist/decorators/is-one-of-validator.spec.d.ts +1 -0
  11. package/dist/decorators/is-one-of-validator.spec.js +51 -0
  12. package/dist/decorators/is-one-of.validator.d.ts +2 -0
  13. package/dist/decorators/is-one-of.validator.js +19 -0
  14. package/dist/decorators/is-plain-object-validator.spec.d.ts +1 -0
  15. package/dist/decorators/is-plain-object-validator.spec.js +46 -0
  16. package/dist/decorators/is-plain-object.validator.d.ts +2 -0
  17. package/dist/decorators/is-plain-object.validator.js +30 -0
  18. package/dist/decorators/is-property-forbidden-validator.spec.d.ts +1 -0
  19. package/dist/decorators/is-property-forbidden-validator.spec.js +62 -0
  20. package/dist/decorators/is-property-forbidden.validator.d.ts +2 -0
  21. package/dist/decorators/is-property-forbidden.validator.js +22 -0
  22. package/dist/decorators/is-regex-validator.spec.d.ts +1 -0
  23. package/dist/decorators/is-regex-validator.spec.js +46 -0
  24. package/dist/decorators/is-regex.validator.d.ts +2 -0
  25. package/dist/decorators/is-regex.validator.js +32 -0
  26. package/dist/decorators/unique-field-in-array-validator.spec.d.ts +1 -0
  27. package/dist/decorators/unique-field-in-array-validator.spec.js +39 -0
  28. package/dist/decorators/unique-field-in-array.validator.d.ts +6 -0
  29. package/dist/decorators/unique-field-in-array.validator.js +47 -0
  30. package/dist/dtos/action.dto.js +4 -1
  31. package/dist/dtos/admin-panel.dto.d.ts +38 -0
  32. package/dist/dtos/admin-panel.dto.js +150 -0
  33. package/dist/dtos/client-panel.dto.d.ts +24 -0
  34. package/dist/dtos/client-panel.dto.js +75 -0
  35. package/dist/dtos/company-data.dto.js +1 -1
  36. package/dist/dtos/field.dto.js +32 -0
  37. package/dist/dtos/info.dto.d.ts +4 -79
  38. package/dist/dtos/info.dto.js +79 -0
  39. package/dist/dtos/menu.dto.d.ts +3 -4
  40. package/dist/dtos/menu.dto.js +75 -0
  41. package/dist/dtos/multilang-text.dto.js +1 -1
  42. package/dist/dtos/notification/notification-info.dto.js +25 -0
  43. package/dist/dtos/product/product-info.dto.js +46 -0
  44. package/dist/dtos/settings.dto.d.ts +14 -0
  45. package/dist/dtos/settings.dto.js +59 -0
  46. package/dist/dtos/tab.dto.js +20 -0
  47. package/dist/dtos/unit.dto.js +28 -0
  48. package/dist/index.d.ts +22 -7
  49. package/dist/index.js +22 -7
  50. package/dist/transformers/menu.transformer.d.ts +2 -0
  51. package/dist/transformers/menu.transformer.js +16 -0
  52. package/dist/transformers/settings.transformer.d.ts +1 -0
  53. package/dist/transformers/settings.transformer.js +15 -0
  54. package/dist/validators/action-validator.spec.d.ts +1 -0
  55. package/dist/validators/action-validator.spec.js +67 -0
  56. package/dist/validators/admin-panel-more-actions-validator.spec.d.ts +1 -0
  57. package/dist/validators/admin-panel-more-actions-validator.spec.js +129 -0
  58. package/dist/validators/admin-panel-more-actions.validator.d.ts +2 -0
  59. package/dist/validators/admin-panel-more-actions.validator.js +11 -0
  60. package/dist/validators/admin-panel-tabs-validator.spec.d.ts +1 -0
  61. package/dist/validators/admin-panel-tabs-validator.spec.js +39 -0
  62. package/dist/validators/admin-panel-tabs.validator.d.ts +2 -0
  63. package/dist/validators/admin-panel-tabs.validator.js +11 -0
  64. package/dist/validators/admin-panel-validator.spec.d.ts +1 -0
  65. package/dist/validators/admin-panel-validator.spec.js +112 -0
  66. package/dist/validators/admin-panel.validator.d.ts +2 -0
  67. package/dist/validators/admin-panel.validator.js +14 -0
  68. package/dist/validators/client-data-validator.spec.d.ts +1 -0
  69. package/dist/validators/client-data-validator.spec.js +35 -0
  70. package/dist/validators/client-panel-validator.spec.d.ts +1 -0
  71. package/dist/validators/client-panel-validator.spec.js +51 -0
  72. package/dist/validators/client-panel.validator.d.ts +2 -0
  73. package/dist/validators/client-panel.validator.js +14 -0
  74. package/dist/validators/company-data-validator.spec.d.ts +1 -0
  75. package/dist/validators/company-data-validator.spec.js +73 -0
  76. package/dist/validators/field-option-validator.spec.d.ts +1 -0
  77. package/dist/validators/field-option-validator.spec.js +28 -0
  78. package/dist/validators/field-option.validator.d.ts +2 -0
  79. package/dist/validators/field-option.validator.js +11 -0
  80. package/dist/validators/field-validator.spec.d.ts +1 -0
  81. package/dist/validators/field-validator.spec.js +76 -0
  82. package/dist/validators/jwt-validator.spec.d.ts +2 -0
  83. package/dist/validators/jwt-validator.spec.js +43 -0
  84. package/dist/validators/menu-with-submenu-validator.spec.d.ts +1 -0
  85. package/dist/validators/menu-with-submenu-validator.spec.js +52 -0
  86. package/dist/validators/menu-with-submenu.validator.d.ts +2 -0
  87. package/dist/validators/menu-with-submenu.validator.js +11 -0
  88. package/dist/validators/menu-with-url-validator.spec.d.ts +1 -0
  89. package/dist/validators/menu-with-url-validator.spec.js +70 -0
  90. package/dist/validators/menu-with-url.validator.d.ts +2 -0
  91. package/dist/validators/menu-with-url.validator.js +11 -0
  92. package/dist/validators/multilang-text-validator.spec.d.ts +1 -0
  93. package/dist/validators/multilang-text-validator.spec.js +33 -0
  94. package/dist/validators/notification-info-validator.spec.d.ts +1 -0
  95. package/dist/validators/notification-info-validator.spec.js +82 -0
  96. package/dist/validators/notification-info.validator.d.ts +7 -0
  97. package/dist/validators/notification-info.validator.js +16 -0
  98. package/dist/validators/notification-request-validator.spec.d.ts +1 -0
  99. package/dist/validators/notification-request-validator.spec.js +115 -0
  100. package/dist/validators/product-create-request-validator.spec.d.ts +2 -0
  101. package/dist/validators/product-create-request-validator.spec.js +44 -0
  102. package/dist/validators/product-delete-request-validator.spec.d.ts +1 -0
  103. package/dist/validators/product-delete-request-validator.spec.js +40 -0
  104. package/dist/validators/product-downgradable-request-validator.spec.d.ts +1 -0
  105. package/dist/validators/product-downgradable-request-validator.spec.js +40 -0
  106. package/dist/validators/product-downgrade-request-validator.spec.d.ts +1 -0
  107. package/dist/validators/product-downgrade-request-validator.spec.js +46 -0
  108. package/dist/validators/product-info-validator.spec.d.ts +1 -0
  109. package/dist/validators/product-info-validator.spec.js +172 -0
  110. package/dist/validators/product-info.validator.d.ts +2 -0
  111. package/dist/validators/product-info.validator.js +11 -0
  112. package/dist/validators/product-renew-request-validator.spec.d.ts +1 -0
  113. package/dist/validators/product-renew-request-validator.spec.js +40 -0
  114. package/dist/validators/product-suspend-request-validator.spec.d.ts +1 -0
  115. package/dist/validators/product-suspend-request-validator.spec.js +40 -0
  116. package/dist/validators/product-unsuspend-request-validator.spec.d.ts +1 -0
  117. package/dist/validators/product-unsuspend-request-validator.spec.js +40 -0
  118. package/dist/validators/product-upgradable-request-validator.spec.d.ts +1 -0
  119. package/dist/validators/product-upgradable-request-validator.spec.js +40 -0
  120. package/dist/validators/product-upgrade-request-validator.spec.d.ts +1 -0
  121. package/dist/validators/product-upgrade-request-validator.spec.js +46 -0
  122. package/dist/validators/product-validate-attributes-request-validator.spec.d.ts +1 -0
  123. package/dist/validators/product-validate-attributes-request-validator.spec.js +27 -0
  124. package/dist/validators/receiver-email-validator.spec.d.ts +1 -0
  125. package/dist/validators/receiver-email-validator.spec.js +32 -0
  126. package/dist/validators/receiver-push-validator.spec.d.ts +1 -0
  127. package/dist/validators/receiver-push-validator.spec.js +31 -0
  128. package/dist/validators/receiver-sms-validator.spec.d.ts +1 -0
  129. package/dist/validators/receiver-sms-validator.spec.js +29 -0
  130. package/dist/validators/sender-email-validator.spec.d.ts +2 -0
  131. package/dist/validators/sender-email-validator.spec.js +62 -0
  132. package/dist/validators/sender-push-validator.spec.d.ts +1 -0
  133. package/dist/validators/sender-push-validator.spec.js +38 -0
  134. package/dist/validators/sender-sms-validator.spec.d.ts +1 -0
  135. package/dist/validators/sender-sms-validator.spec.js +22 -0
  136. package/dist/validators/settings-with-tabs-validator.spec.d.ts +1 -0
  137. package/dist/validators/settings-with-tabs-validator.spec.js +29 -0
  138. package/dist/validators/settings-with-tabs.validator.d.ts +2 -0
  139. package/dist/validators/settings-with-tabs.validator.js +11 -0
  140. package/dist/validators/settings-with-url-validator.spec.d.ts +1 -0
  141. package/dist/validators/settings-with-url-validator.spec.js +29 -0
  142. package/dist/validators/settings-with-url.validator.d.ts +2 -0
  143. package/dist/validators/settings-with-url.validator.js +11 -0
  144. package/dist/validators/unit-validator.spec.d.ts +1 -0
  145. package/dist/validators/unit-validator.spec.js +27 -0
  146. package/dist/validators/unit.validator.d.ts +2 -0
  147. package/dist/validators/unit.validator.js +11 -0
  148. package/package.json +1 -1
@@ -10,10 +10,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.FieldDto = void 0;
13
+ const is_of_allowed_types_validator_1 = require("../decorators/is-of-allowed-types.validator");
13
14
  const class_validator_1 = require("class-validator");
14
15
  const class_transformer_1 = require("class-transformer");
15
16
  const field_type_enum_1 = require("../enums/field-type.enum");
16
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");
17
20
  /**
18
21
  * Data Transfer Object for a form field.
19
22
  * This class defines the structure and properties of a single field
@@ -36,6 +39,7 @@ class FieldDto {
36
39
  exports.FieldDto = FieldDto;
37
40
  __decorate([
38
41
  (0, class_validator_1.IsString)(),
42
+ (0, class_validator_1.IsDefined)(),
39
43
  __metadata("design:type", String)
40
44
  ], FieldDto.prototype, "id", void 0);
41
45
  __decorate([
@@ -47,30 +51,56 @@ __decorate([
47
51
  ], FieldDto.prototype, "label", void 0);
48
52
  __decorate([
49
53
  (0, class_validator_1.IsDefined)(),
54
+ (0, is_of_allowed_types_validator_1.IsOfAllowedTypes)(['string', 'number', 'object', 'array'], {
55
+ objectClass: field_option_dto_1.FieldOptionDto,
56
+ arrayElementClass: field_option_dto_1.FieldOptionDto,
57
+ require: true,
58
+ objectNotEmpty: true,
59
+ arrayNotEmpty: true,
60
+ })
61
+ // @IsDefined()
62
+ // @ValidateIf(o => typeof o.value === 'string')
63
+ // @IsString({ message: 'Value must be a valid string' })
64
+ // @ValidateIf(o => typeof o.value === 'number')
65
+ // @IsNumber({}, { message: 'Value must be a valid number' })
66
+ // @ValidateIf(o => Array.isArray(o.value))
67
+ // @IsArray({ message: 'Value must be an array' })
68
+ // @ValidateNested({ each: true })
69
+ // @Type(() => FieldOptionDto)
70
+ // @ValidateIf(o => typeof o.value === 'object' && !Array.isArray(o.value))
71
+ // @ValidateNested()
72
+ // @Type(() => FieldOptionDto)
73
+ ,
50
74
  __metadata("design:type", Object)
51
75
  ], FieldDto.prototype, "value", void 0);
52
76
  __decorate([
53
77
  (0, class_validator_1.IsEnum)(field_type_enum_1.FieldTypeEnum),
78
+ (0, class_validator_1.IsDefined)(),
54
79
  __metadata("design:type", String)
55
80
  ], FieldDto.prototype, "type", void 0);
56
81
  __decorate([
57
82
  (0, class_validator_1.IsBoolean)(),
83
+ (0, class_validator_1.IsDefined)(),
58
84
  __metadata("design:type", Boolean)
59
85
  ], FieldDto.prototype, "required", void 0);
60
86
  __decorate([
61
87
  (0, class_validator_1.IsBoolean)(),
88
+ (0, class_validator_1.IsDefined)(),
62
89
  __metadata("design:type", Boolean)
63
90
  ], FieldDto.prototype, "disabled", void 0);
64
91
  __decorate([
65
92
  (0, class_validator_1.IsBoolean)(),
93
+ (0, class_validator_1.IsDefined)(),
66
94
  __metadata("design:type", Boolean)
67
95
  ], FieldDto.prototype, "hidden", void 0);
68
96
  __decorate([
69
97
  (0, class_validator_1.IsString)(),
98
+ (0, is_regex_validator_1.IsRegex)(),
70
99
  (0, class_validator_1.IsOptional)(),
71
100
  __metadata("design:type", String)
72
101
  ], FieldDto.prototype, "regexValidation", void 0);
73
102
  __decorate([
103
+ (0, class_validator_1.ValidateIf)((o) => !!o.regexValidation),
74
104
  (0, class_validator_1.ValidateNested)({ each: true }),
75
105
  (0, class_transformer_1.Type)(() => multilang_text_dto_1.MultilangTextDto),
76
106
  (0, class_validator_1.IsOptional)(),
@@ -82,6 +112,7 @@ __decorate([
82
112
  __metadata("design:type", Boolean)
83
113
  ], FieldDto.prototype, "triggersRemoteValidation", void 0);
84
114
  __decorate([
115
+ (0, class_validator_1.ValidateIf)((o) => o.triggersRemoteValidation === true),
85
116
  (0, class_validator_1.ValidateNested)({ each: true }),
86
117
  (0, class_transformer_1.Type)(() => multilang_text_dto_1.MultilangTextDto),
87
118
  (0, class_validator_1.IsOptional)(),
@@ -89,5 +120,6 @@ __decorate([
89
120
  ], FieldDto.prototype, "remoteValidationErrorMessage", void 0);
90
121
  __decorate([
91
122
  (0, class_validator_1.IsBoolean)(),
123
+ (0, class_validator_1.IsDefined)(),
92
124
  __metadata("design:type", Boolean)
93
125
  ], FieldDto.prototype, "upgradable", void 0);
@@ -2,9 +2,8 @@ import { ActionsEnum } from '../enums/actions.enum';
2
2
  import { EventsEnum } from '../enums/events.enum';
3
3
  import { LanguageEnum } from '../enums/language.enum';
4
4
  import { RolesEnum } from '../enums/roles.enum';
5
- import { ActionDto } from './action.dto';
6
- import { TabDto } from './tab.dto';
7
- import { MenuDtoWithSubmenu, MenuDtoWithUrl } from './menu.dto';
5
+ import { AdminPanelDto } from './admin-panel.dto';
6
+ import { ClientPanelDto } from './client-panel.dto';
8
7
  /**
9
8
  * DTO for integration information.
10
9
  * This is a central DTO that contains all the necessary information
@@ -48,86 +47,12 @@ export declare class InfoDto {
48
47
  * Configuration for the admin panel.
49
48
  * This section defines the entire user interface for the integration's admin panel.
50
49
  */
51
- adminPanel?: {
52
- /**
53
- * Defines the tab structure for different sections of the admin panel.
54
- * Each property represents a section (e.g., product, item) and contains an array of TabDto objects.
55
- */
56
- tabs?: {
57
- /** Tabs for the product management section. */
58
- product: TabDto[];
59
- /** Tabs for the item management section. */
60
- item: TabDto[];
61
- /** Tabs for the client management section. */
62
- client: TabDto[];
63
- /** Tabs for the user management section. */
64
- user: TabDto[];
65
- /** Tabs for the order management section. */
66
- order: TabDto[];
67
- };
68
- /**
69
- * Defines additional actions that can be performed in different sections of the admin panel.
70
- */
71
- moreActions?: {
72
- /** Actions available in the client management section. */
73
- client?: ActionDto[];
74
- /** Actions available in the item management section. */
75
- item?: ActionDto[];
76
- /** Actions available in the invoice management section. */
77
- invoice?: ActionDto[];
78
- /** Actions available in the user management section. */
79
- user?: ActionDto[];
80
- /** Actions available in the order management section. */
81
- order?: ActionDto[];
82
- };
83
- /**
84
- * The main menu for the admin panel.
85
- * This can be a simple menu with a URL or a menu with submenus.
86
- */
87
- menu?: MenuDtoWithSubmenu | MenuDtoWithUrl;
88
- /**
89
- * Configuration for the integration's settings page.
90
- */
91
- settings?: {
92
- /** The label for the settings page. */
93
- label: string;
94
- /** The icon for the settings page. */
95
- icon: string;
96
- /** A description of the settings page. */
97
- description: string;
98
- } & ({
99
- url: string;
100
- tabs?: never;
101
- } | {
102
- url?: never;
103
- tabs: [TabDto, ...TabDto[]];
104
- });
105
- };
50
+ adminPanel?: AdminPanelDto;
106
51
  /**
107
52
  * Configuration for the client panel.
108
53
  * This section defines the user interface for the integration's client-facing panel.
109
54
  */
110
- clientPanel?: {
111
- /**
112
- * Defines the tab structure for the client panel.
113
- */
114
- tabs?: {
115
- /** Tabs for the item management section. */
116
- item: TabDto[];
117
- };
118
- /**
119
- * Defines additional actions that can be performed in the client panel.
120
- */
121
- moreActions?: {
122
- /** Actions available in the item management section. */
123
- item?: ActionDto[];
124
- };
125
- /**
126
- * The main menu for the client panel.
127
- * This can be a simple menu with a URL or a menu with submenus.
128
- */
129
- menu?: MenuDtoWithSubmenu | MenuDtoWithUrl;
130
- };
55
+ clientPanel?: ClientPanelDto;
131
56
  /**
132
57
  * The URL for the onboarding process after the integration is installed.
133
58
  * This URL will be displayed in a popup or side sheet with a JWT for authentication.
@@ -1,6 +1,26 @@
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.InfoDto = void 0;
13
+ const actions_enum_1 = require("../enums/actions.enum");
14
+ const events_enum_1 = require("../enums/events.enum");
15
+ const language_enum_1 = require("../enums/language.enum");
16
+ const roles_enum_1 = require("../enums/roles.enum");
17
+ // import { ActionDto } from './action.dto';
18
+ // import { TabDto } from './tab.dto';
19
+ // import { MenuDtoWithSubmenu, MenuDtoWithUrl } from './menu.dto';
20
+ const class_validator_1 = require("class-validator");
21
+ const class_transformer_1 = require("class-transformer");
22
+ const admin_panel_dto_1 = require("./admin-panel.dto");
23
+ const client_panel_dto_1 = require("./client-panel.dto");
4
24
  /**
5
25
  * DTO for integration information.
6
26
  * This is a central DTO that contains all the necessary information
@@ -16,3 +36,62 @@ class InfoDto {
16
36
  }
17
37
  }
18
38
  exports.InfoDto = InfoDto;
39
+ __decorate([
40
+ (0, class_validator_1.IsString)(),
41
+ (0, class_validator_1.IsNotEmpty)(),
42
+ __metadata("design:type", String)
43
+ ], InfoDto.prototype, "title", void 0);
44
+ __decorate([
45
+ (0, class_validator_1.IsUrl)({ protocols: ['https'], require_protocol: true }),
46
+ (0, class_validator_1.IsOptional)(),
47
+ __metadata("design:type", String)
48
+ ], InfoDto.prototype, "logo", void 0);
49
+ __decorate([
50
+ (0, class_validator_1.IsString)(),
51
+ (0, class_validator_1.IsOptional)(),
52
+ __metadata("design:type", String)
53
+ ], InfoDto.prototype, "description", void 0);
54
+ __decorate([
55
+ (0, class_validator_1.IsDefined)(),
56
+ (0, class_validator_1.IsArray)(),
57
+ (0, class_validator_1.IsEnum)(language_enum_1.LanguageEnum, { each: true }),
58
+ (0, class_validator_1.ArrayMinSize)(1),
59
+ __metadata("design:type", Array)
60
+ ], InfoDto.prototype, "supportedLanguages", void 0);
61
+ __decorate([
62
+ (0, class_validator_1.IsOptional)(),
63
+ (0, class_validator_1.IsArray)(),
64
+ (0, class_validator_1.IsEnum)(actions_enum_1.ActionsEnum, { each: true }),
65
+ __metadata("design:type", Array)
66
+ ], InfoDto.prototype, "supportedActions", void 0);
67
+ __decorate([
68
+ (0, class_validator_1.IsOptional)(),
69
+ (0, class_validator_1.IsArray)(),
70
+ (0, class_validator_1.IsEnum)(events_enum_1.EventsEnum, { each: true }),
71
+ (0, class_validator_1.ArrayMinSize)(1),
72
+ __metadata("design:type", Array)
73
+ ], InfoDto.prototype, "listenEvents", void 0);
74
+ __decorate([
75
+ (0, class_validator_1.IsOptional)(),
76
+ (0, class_validator_1.IsArray)(),
77
+ (0, class_validator_1.IsEnum)(roles_enum_1.RolesEnum, { each: true }),
78
+ (0, class_validator_1.ArrayMinSize)(1),
79
+ __metadata("design:type", Array)
80
+ ], InfoDto.prototype, "requiredRoles", void 0);
81
+ __decorate([
82
+ (0, class_validator_1.IsOptional)(),
83
+ (0, class_validator_1.ValidateNested)(),
84
+ (0, class_transformer_1.Type)(() => admin_panel_dto_1.AdminPanelDto),
85
+ __metadata("design:type", admin_panel_dto_1.AdminPanelDto)
86
+ ], InfoDto.prototype, "adminPanel", void 0);
87
+ __decorate([
88
+ (0, class_validator_1.IsOptional)(),
89
+ (0, class_validator_1.ValidateNested)(),
90
+ (0, class_transformer_1.Type)(() => client_panel_dto_1.ClientPanelDto),
91
+ __metadata("design:type", client_panel_dto_1.ClientPanelDto)
92
+ ], InfoDto.prototype, "clientPanel", void 0);
93
+ __decorate([
94
+ (0, class_validator_1.IsOptional)(),
95
+ (0, class_validator_1.IsUrl)({ protocols: ['https'], require_protocol: true }),
96
+ __metadata("design:type", String)
97
+ ], InfoDto.prototype, "onboardingUrl", void 0);
@@ -2,7 +2,7 @@ import { SubmenuDto } from './submenu.dto';
2
2
  /**
3
3
  * Base properties shared by all menu items.
4
4
  */
5
- interface BaseMenuDto {
5
+ export declare class BaseMenuDto {
6
6
  /**
7
7
  * The icon to be displayed for the menu item.
8
8
  * @example "home"
@@ -18,7 +18,7 @@ interface BaseMenuDto {
18
18
  * Represents a menu item that links directly to a URL.
19
19
  * This type of menu item does not have a submenu.
20
20
  */
21
- export interface MenuDtoWithUrl extends BaseMenuDto {
21
+ export declare class MenuDtoWithUrl extends BaseMenuDto {
22
22
  /**
23
23
  * The type of the menu item. This is a discriminator property.
24
24
  */
@@ -37,7 +37,7 @@ export interface MenuDtoWithUrl extends BaseMenuDto {
37
37
  * Represents a menu item that contains a submenu.
38
38
  * This type of menu item does not have a direct URL.
39
39
  */
40
- export interface MenuDtoWithSubmenu extends BaseMenuDto {
40
+ export declare class MenuDtoWithSubmenu extends BaseMenuDto {
41
41
  /**
42
42
  * The type of the menu item. This is a discriminator property.
43
43
  */
@@ -52,4 +52,3 @@ export interface MenuDtoWithSubmenu extends BaseMenuDto {
52
52
  */
53
53
  submenu: SubmenuDto[];
54
54
  }
55
- export {};
@@ -1,2 +1,77 @@
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MenuDtoWithSubmenu = exports.MenuDtoWithUrl = exports.BaseMenuDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const submenu_dto_1 = require("./submenu.dto");
15
+ const class_transformer_1 = require("class-transformer");
16
+ const is_property_forbidden_validator_1 = require("../decorators/is-property-forbidden.validator");
17
+ /**
18
+ * Base properties shared by all menu items.
19
+ */
20
+ class BaseMenuDto {
21
+ }
22
+ exports.BaseMenuDto = BaseMenuDto;
23
+ __decorate([
24
+ (0, class_validator_1.IsString)(),
25
+ (0, class_validator_1.IsNotEmpty)(),
26
+ __metadata("design:type", String)
27
+ ], BaseMenuDto.prototype, "icon", void 0);
28
+ __decorate([
29
+ (0, class_validator_1.IsString)(),
30
+ (0, class_validator_1.IsNotEmpty)(),
31
+ __metadata("design:type", String)
32
+ ], BaseMenuDto.prototype, "label", void 0);
33
+ /**
34
+ * Represents a menu item that links directly to a URL.
35
+ * This type of menu item does not have a submenu.
36
+ */
37
+ class MenuDtoWithUrl extends BaseMenuDto {
38
+ }
39
+ exports.MenuDtoWithUrl = MenuDtoWithUrl;
40
+ __decorate([
41
+ (0, class_validator_1.IsString)(),
42
+ (0, class_validator_1.IsNotEmpty)(),
43
+ (0, class_validator_1.IsIn)(['only-url']),
44
+ __metadata("design:type", String)
45
+ ], MenuDtoWithUrl.prototype, "type", void 0);
46
+ __decorate([
47
+ (0, class_validator_1.IsUrl)({ protocols: ['https'], require_protocol: true }),
48
+ (0, class_validator_1.IsNotEmpty)(),
49
+ __metadata("design:type", String)
50
+ ], MenuDtoWithUrl.prototype, "url", void 0);
51
+ __decorate([
52
+ (0, is_property_forbidden_validator_1.IsPropertyForbidden)('submenu', { message: 'submenu is forbidden in MenuDtoWithUrl' }),
53
+ __metadata("design:type", void 0)
54
+ ], MenuDtoWithUrl.prototype, "submenu", void 0);
55
+ /**
56
+ * Represents a menu item that contains a submenu.
57
+ * This type of menu item does not have a direct URL.
58
+ */
59
+ class MenuDtoWithSubmenu extends BaseMenuDto {
60
+ }
61
+ exports.MenuDtoWithSubmenu = MenuDtoWithSubmenu;
62
+ __decorate([
63
+ (0, class_validator_1.IsString)(),
64
+ (0, class_validator_1.IsNotEmpty)(),
65
+ (0, class_validator_1.IsIn)(['with-submenu']),
66
+ __metadata("design:type", String)
67
+ ], MenuDtoWithSubmenu.prototype, "type", void 0);
68
+ __decorate([
69
+ (0, is_property_forbidden_validator_1.IsPropertyForbidden)('url', { message: 'url is forbidden in MenuDtoWithSubmenu' }),
70
+ __metadata("design:type", void 0)
71
+ ], MenuDtoWithSubmenu.prototype, "url", void 0);
72
+ __decorate([
73
+ (0, class_validator_1.IsDefined)(),
74
+ (0, class_validator_1.ValidateNested)({ each: true }),
75
+ (0, class_transformer_1.Type)(() => submenu_dto_1.SubmenuDto),
76
+ __metadata("design:type", Array)
77
+ ], MenuDtoWithSubmenu.prototype, "submenu", void 0);
@@ -26,6 +26,6 @@ __decorate([
26
26
  ], MultilangTextDto.prototype, "language", void 0);
27
27
  __decorate([
28
28
  (0, class_validator_1.IsString)(),
29
- (0, class_validator_1.IsDefined)(),
29
+ (0, class_validator_1.IsNotEmpty)(),
30
30
  __metadata("design:type", String)
31
31
  ], MultilangTextDto.prototype, "text", void 0);
@@ -1,7 +1,20 @@
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.NotificationInfoDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const notification_message_type_enum_1 = require("../../enums/notification/notification-message-type.enum");
4
15
  const info_dto_1 = require("../info.dto");
16
+ const unit_dto_1 = require("../unit.dto");
17
+ const class_transformer_1 = require("class-transformer");
5
18
  /**
6
19
  * DTO for notification information.
7
20
  * Extends the base InfoDto to include the notification message type.
@@ -9,3 +22,15 @@ const info_dto_1 = require("../info.dto");
9
22
  class NotificationInfoDto extends info_dto_1.InfoDto {
10
23
  }
11
24
  exports.NotificationInfoDto = NotificationInfoDto;
25
+ __decorate([
26
+ (0, class_validator_1.IsEnum)(notification_message_type_enum_1.NotificationMessageTypeEnum),
27
+ (0, class_validator_1.IsDefined)(),
28
+ __metadata("design:type", String)
29
+ ], NotificationInfoDto.prototype, "type", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsArray)(),
33
+ (0, class_validator_1.ValidateNested)({ each: true }),
34
+ (0, class_transformer_1.Type)(() => unit_dto_1.UnitDto),
35
+ __metadata("design:type", Array)
36
+ ], NotificationInfoDto.prototype, "payPerUseUnits", void 0);
@@ -1,7 +1,22 @@
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.ProductInfoDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const field_dto_1 = require("../field.dto");
4
15
  const info_dto_1 = require("../info.dto");
16
+ const unit_dto_1 = require("../unit.dto");
17
+ const class_transformer_1 = require("class-transformer");
18
+ const is_plain_object_validator_1 = require("../../decorators/is-plain-object.validator");
19
+ const unique_field_in_array_validator_1 = require("../../decorators/unique-field-in-array.validator");
5
20
  /**
6
21
  * DTO for notification information.
7
22
  * Extends the base InfoDto to include the notification message type.
@@ -9,3 +24,34 @@ const info_dto_1 = require("../info.dto");
9
24
  class ProductInfoDto extends info_dto_1.InfoDto {
10
25
  }
11
26
  exports.ProductInfoDto = ProductInfoDto;
27
+ __decorate([
28
+ (0, class_validator_1.IsOptional)(),
29
+ (0, class_validator_1.IsArray)(),
30
+ (0, class_validator_1.ArrayMinSize)(1),
31
+ (0, class_validator_1.ValidateNested)({ each: true }),
32
+ (0, class_transformer_1.Type)(() => field_dto_1.FieldDto),
33
+ (0, unique_field_in_array_validator_1.UniqueFieldInArray)('id'),
34
+ __metadata("design:type", Array)
35
+ ], ProductInfoDto.prototype, "productAttributes", void 0);
36
+ __decorate([
37
+ (0, class_validator_1.IsOptional)(),
38
+ (0, class_validator_1.IsArray)(),
39
+ (0, class_validator_1.ArrayMinSize)(1),
40
+ (0, class_validator_1.ValidateNested)({ each: true }),
41
+ (0, class_transformer_1.Type)(() => field_dto_1.FieldDto),
42
+ (0, unique_field_in_array_validator_1.UniqueFieldInArray)('id'),
43
+ __metadata("design:type", Array)
44
+ ], ProductInfoDto.prototype, "itemAttributes", void 0);
45
+ __decorate([
46
+ (0, class_validator_1.IsOptional)(),
47
+ (0, class_validator_1.IsArray)(),
48
+ (0, class_validator_1.ArrayMinSize)(1),
49
+ (0, class_validator_1.ValidateNested)({ each: true }),
50
+ (0, class_transformer_1.Type)(() => unit_dto_1.UnitDto),
51
+ __metadata("design:type", Array)
52
+ ], ProductInfoDto.prototype, "payPerUseUnits", void 0);
53
+ __decorate([
54
+ (0, class_validator_1.IsOptional)(),
55
+ (0, is_plain_object_validator_1.IsPlainObject)(),
56
+ __metadata("design:type", Object)
57
+ ], ProductInfoDto.prototype, "responseDataFieldNames", void 0);
@@ -0,0 +1,14 @@
1
+ import { TabDto } from './tab.dto';
2
+ export declare class SettingsDto {
3
+ label: string;
4
+ icon: string;
5
+ description: string;
6
+ }
7
+ export declare class SettingsWithUrlDto extends SettingsDto {
8
+ url: string;
9
+ tabs?: never;
10
+ }
11
+ export declare class SettingsWithTabsDto extends SettingsDto {
12
+ tabs: [TabDto, ...TabDto[]];
13
+ url?: never;
14
+ }
@@ -0,0 +1,59 @@
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.SettingsWithTabsDto = exports.SettingsWithUrlDto = exports.SettingsDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const tab_dto_1 = require("./tab.dto");
16
+ const class_validator_2 = require("class-validator");
17
+ const is_property_forbidden_validator_1 = require("../decorators/is-property-forbidden.validator");
18
+ class SettingsDto {
19
+ }
20
+ exports.SettingsDto = SettingsDto;
21
+ __decorate([
22
+ (0, class_validator_1.IsString)(),
23
+ (0, class_validator_2.IsDefined)(),
24
+ (0, class_validator_1.IsNotEmpty)(),
25
+ __metadata("design:type", String)
26
+ ], SettingsDto.prototype, "label", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsString)(),
29
+ (0, class_validator_2.IsDefined)(),
30
+ __metadata("design:type", String)
31
+ ], SettingsDto.prototype, "icon", void 0);
32
+ __decorate([
33
+ (0, class_validator_1.IsString)(),
34
+ (0, class_validator_2.IsDefined)(),
35
+ __metadata("design:type", String)
36
+ ], SettingsDto.prototype, "description", void 0);
37
+ class SettingsWithUrlDto extends SettingsDto {
38
+ }
39
+ exports.SettingsWithUrlDto = SettingsWithUrlDto;
40
+ __decorate([
41
+ (0, class_validator_1.IsUrl)({ protocols: ['https'], require_protocol: true }),
42
+ __metadata("design:type", String)
43
+ ], SettingsWithUrlDto.prototype, "url", void 0);
44
+ __decorate([
45
+ (0, is_property_forbidden_validator_1.IsPropertyForbidden)('tabs'),
46
+ __metadata("design:type", void 0)
47
+ ], SettingsWithUrlDto.prototype, "tabs", void 0);
48
+ class SettingsWithTabsDto extends SettingsDto {
49
+ }
50
+ exports.SettingsWithTabsDto = SettingsWithTabsDto;
51
+ __decorate([
52
+ (0, class_validator_1.ValidateNested)({ each: true }),
53
+ (0, class_transformer_1.Type)(() => tab_dto_1.TabDto),
54
+ __metadata("design:type", Array)
55
+ ], SettingsWithTabsDto.prototype, "tabs", void 0);
56
+ __decorate([
57
+ (0, is_property_forbidden_validator_1.IsPropertyForbidden)('url'),
58
+ __metadata("design:type", void 0)
59
+ ], SettingsWithTabsDto.prototype, "url", void 0);
@@ -1,6 +1,16 @@
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.TabDto = void 0;
13
+ const class_validator_1 = require("class-validator");
4
14
  /**
5
15
  * DTO for tabs
6
16
  * Used for defining tabs in the user interface
@@ -8,3 +18,13 @@ exports.TabDto = void 0;
8
18
  class TabDto {
9
19
  }
10
20
  exports.TabDto = TabDto;
21
+ __decorate([
22
+ (0, class_validator_1.IsString)(),
23
+ (0, class_validator_1.IsNotEmpty)(),
24
+ __metadata("design:type", String)
25
+ ], TabDto.prototype, "label", void 0);
26
+ __decorate([
27
+ (0, class_validator_1.IsUrl)({ protocols: ['https'], require_protocol: true }),
28
+ (0, class_validator_1.IsNotEmpty)(),
29
+ __metadata("design:type", String)
30
+ ], TabDto.prototype, "url", void 0);
@@ -1,6 +1,16 @@
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.UnitDto = void 0;
13
+ const class_validator_1 = require("class-validator");
4
14
  /**
5
15
  * DTO for billing units.
6
16
  * Used for defining units for pay-per-use billing.
@@ -8,3 +18,21 @@ exports.UnitDto = void 0;
8
18
  class UnitDto {
9
19
  }
10
20
  exports.UnitDto = UnitDto;
21
+ __decorate([
22
+ (0, class_validator_1.IsString)(),
23
+ (0, class_validator_1.IsDefined)(),
24
+ (0, class_validator_1.IsNotEmpty)(),
25
+ __metadata("design:type", String)
26
+ ], UnitDto.prototype, "id", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsString)(),
29
+ (0, class_validator_1.IsDefined)(),
30
+ (0, class_validator_1.IsNotEmpty)(),
31
+ __metadata("design:type", String)
32
+ ], UnitDto.prototype, "unitDescription", void 0);
33
+ __decorate([
34
+ (0, class_validator_1.IsString)(),
35
+ (0, class_validator_1.IsDefined)(),
36
+ (0, class_validator_1.IsNotEmpty)(),
37
+ __metadata("design:type", String)
38
+ ], UnitDto.prototype, "intervalDescription", void 0);