@hosterai/types 0.0.17 → 0.0.19

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 (194) hide show
  1. package/README.md +12 -9
  2. package/dist/decorators/all-or-none-validator.spec.d.ts +1 -0
  3. package/dist/decorators/all-or-none-validator.spec.js +91 -0
  4. package/dist/decorators/all-or-none.validator.d.ts +2 -0
  5. package/dist/decorators/all-or-none.validator.js +71 -0
  6. package/dist/decorators/at-least-one-non-empty-validator.spec.d.ts +1 -0
  7. package/dist/decorators/at-least-one-non-empty-validator.spec.js +79 -0
  8. package/dist/decorators/at-least-one-non-empty.validator.d.ts +2 -0
  9. package/dist/decorators/at-least-one-non-empty.validator.js +43 -0
  10. package/dist/decorators/is-of-allowed-types-validator.spec.d.ts +1 -0
  11. package/dist/decorators/is-of-allowed-types-validator.spec.js +188 -0
  12. package/dist/decorators/is-of-allowed-types.validator.d.ts +16 -0
  13. package/dist/decorators/is-of-allowed-types.validator.js +105 -0
  14. package/dist/decorators/is-one-of-validator.spec.d.ts +1 -0
  15. package/dist/decorators/is-one-of-validator.spec.js +51 -0
  16. package/dist/decorators/is-one-of.validator.d.ts +2 -0
  17. package/dist/decorators/is-one-of.validator.js +19 -0
  18. package/dist/decorators/is-plain-object-validator.spec.d.ts +1 -0
  19. package/dist/decorators/is-plain-object-validator.spec.js +46 -0
  20. package/dist/decorators/is-plain-object.validator.d.ts +2 -0
  21. package/dist/decorators/is-plain-object.validator.js +30 -0
  22. package/dist/decorators/is-property-forbidden-validator.spec.d.ts +1 -0
  23. package/dist/decorators/is-property-forbidden-validator.spec.js +62 -0
  24. package/dist/decorators/is-property-forbidden.validator.d.ts +2 -0
  25. package/dist/decorators/is-property-forbidden.validator.js +22 -0
  26. package/dist/decorators/is-regex-validator.spec.d.ts +1 -0
  27. package/dist/decorators/is-regex-validator.spec.js +46 -0
  28. package/dist/decorators/is-regex.validator.d.ts +2 -0
  29. package/dist/decorators/is-regex.validator.js +32 -0
  30. package/dist/decorators/min-less-or-equal-validator.spec.d.ts +1 -0
  31. package/dist/decorators/min-less-or-equal-validator.spec.js +60 -0
  32. package/dist/decorators/min-less-or-equal.validator.d.ts +2 -0
  33. package/dist/decorators/min-less-or-equal.validator.js +58 -0
  34. package/dist/decorators/unique-field-in-array-validator.spec.d.ts +1 -0
  35. package/dist/decorators/unique-field-in-array-validator.spec.js +39 -0
  36. package/dist/decorators/unique-field-in-array.validator.d.ts +6 -0
  37. package/dist/decorators/unique-field-in-array.validator.js +47 -0
  38. package/dist/dtos/action.dto.js +25 -1
  39. package/dist/dtos/admin-panel.dto.d.ts +38 -0
  40. package/dist/dtos/admin-panel.dto.js +241 -0
  41. package/dist/dtos/client-panel.dto.d.ts +24 -0
  42. package/dist/dtos/client-panel.dto.js +105 -0
  43. package/dist/dtos/company-data.dto.js +1 -1
  44. package/dist/dtos/field-option.dto.js +16 -0
  45. package/dist/dtos/field.dto.d.ts +2 -0
  46. package/dist/dtos/field.dto.js +112 -2
  47. package/dist/dtos/info.dto.d.ts +4 -79
  48. package/dist/dtos/info.dto.js +141 -0
  49. package/dist/dtos/menu.dto.d.ts +5 -6
  50. package/dist/dtos/menu.dto.js +108 -0
  51. package/dist/dtos/multilang-text.dto.js +1 -1
  52. package/dist/dtos/notification/notification-info.dto.js +42 -0
  53. package/dist/dtos/product/product-info.dto.js +73 -0
  54. package/dist/dtos/product/requests/product-downgradeable-request.dto.d.ts +18 -0
  55. package/dist/dtos/product/requests/product-downgradeable-request.dto.js +37 -0
  56. package/dist/dtos/product/requests/product-upgradeable-request.dto.d.ts +18 -0
  57. package/dist/dtos/product/requests/product-upgradeable-request.dto.js +37 -0
  58. package/dist/dtos/product/responses/product-downgradeable-response.dto.d.ts +22 -0
  59. package/dist/dtos/product/responses/product-downgradeable-response.dto.js +11 -0
  60. package/dist/dtos/product/responses/product-upgradeable-response.dto.d.ts +22 -0
  61. package/dist/dtos/product/responses/product-upgradeable-response.dto.js +11 -0
  62. package/dist/dtos/settings.dto.d.ts +14 -0
  63. package/dist/dtos/settings.dto.js +81 -0
  64. package/dist/dtos/tab.dto.js +32 -0
  65. package/dist/dtos/unit.dto.js +47 -0
  66. package/dist/index.d.ts +23 -7
  67. package/dist/index.js +26 -7
  68. package/dist/openapi/schemas/components.schemas.d.ts +991 -0
  69. package/dist/openapi/schemas/components.schemas.js +2552 -0
  70. package/dist/transformers/menu.transformer.d.ts +2 -0
  71. package/dist/transformers/menu.transformer.js +16 -0
  72. package/dist/transformers/settings.transformer.d.ts +1 -0
  73. package/dist/transformers/settings.transformer.js +15 -0
  74. package/dist/validators/action-validator.spec.d.ts +1 -0
  75. package/dist/validators/action-validator.spec.js +67 -0
  76. package/dist/validators/admin-panel-more-actions-validator.spec.d.ts +1 -0
  77. package/dist/validators/admin-panel-more-actions-validator.spec.js +129 -0
  78. package/dist/validators/admin-panel-more-actions.validator.d.ts +2 -0
  79. package/dist/validators/admin-panel-more-actions.validator.js +11 -0
  80. package/dist/validators/admin-panel-tabs-validator.spec.d.ts +1 -0
  81. package/dist/validators/admin-panel-tabs-validator.spec.js +39 -0
  82. package/dist/validators/admin-panel-tabs.validator.d.ts +2 -0
  83. package/dist/validators/admin-panel-tabs.validator.js +11 -0
  84. package/dist/validators/admin-panel-validator.spec.d.ts +1 -0
  85. package/dist/validators/admin-panel-validator.spec.js +112 -0
  86. package/dist/validators/admin-panel.validator.d.ts +2 -0
  87. package/dist/validators/admin-panel.validator.js +14 -0
  88. package/dist/validators/client-data-validator.spec.d.ts +1 -0
  89. package/dist/validators/client-data-validator.spec.js +35 -0
  90. package/dist/validators/client-panel-validator.spec.d.ts +1 -0
  91. package/dist/validators/client-panel-validator.spec.js +51 -0
  92. package/dist/validators/client-panel.validator.d.ts +2 -0
  93. package/dist/validators/client-panel.validator.js +14 -0
  94. package/dist/validators/company-data-validator.spec.d.ts +1 -0
  95. package/dist/validators/company-data-validator.spec.js +73 -0
  96. package/dist/validators/field-option-validator.spec.d.ts +1 -0
  97. package/dist/validators/field-option-validator.spec.js +28 -0
  98. package/dist/validators/field-option.validator.d.ts +2 -0
  99. package/dist/validators/field-option.validator.js +11 -0
  100. package/dist/validators/field-validator.spec.d.ts +1 -0
  101. package/dist/validators/field-validator.spec.js +102 -0
  102. package/dist/validators/jwt-validator.spec.d.ts +2 -0
  103. package/dist/validators/jwt-validator.spec.js +43 -0
  104. package/dist/validators/menu-with-submenu-validator.spec.d.ts +1 -0
  105. package/dist/validators/menu-with-submenu-validator.spec.js +52 -0
  106. package/dist/validators/menu-with-submenu.validator.d.ts +2 -0
  107. package/dist/validators/menu-with-submenu.validator.js +11 -0
  108. package/dist/validators/menu-with-url-validator.spec.d.ts +1 -0
  109. package/dist/validators/menu-with-url-validator.spec.js +70 -0
  110. package/dist/validators/menu-with-url.validator.d.ts +2 -0
  111. package/dist/validators/menu-with-url.validator.js +11 -0
  112. package/dist/validators/multilang-text-validator.spec.d.ts +1 -0
  113. package/dist/validators/multilang-text-validator.spec.js +33 -0
  114. package/dist/validators/notification-info-validator.spec.d.ts +1 -0
  115. package/dist/validators/notification-info-validator.spec.js +82 -0
  116. package/dist/validators/notification-info.validator.d.ts +7 -0
  117. package/dist/validators/notification-info.validator.js +16 -0
  118. package/dist/validators/notification-request-validator.spec.d.ts +1 -0
  119. package/dist/validators/notification-request-validator.spec.js +115 -0
  120. package/dist/validators/product-create-request-validator.spec.d.ts +2 -0
  121. package/dist/validators/product-create-request-validator.spec.js +44 -0
  122. package/dist/validators/product-delete-request-validator.spec.d.ts +1 -0
  123. package/dist/validators/product-delete-request-validator.spec.js +40 -0
  124. package/dist/validators/product-downgradable-request-validator.spec.d.ts +1 -0
  125. package/dist/validators/product-downgradable-request-validator.spec.js +40 -0
  126. package/dist/validators/product-downgrade-request-validator.spec.d.ts +1 -0
  127. package/dist/validators/product-downgrade-request-validator.spec.js +46 -0
  128. package/dist/validators/product-downgradeable-request-validator.d.ts +8 -0
  129. package/dist/validators/product-downgradeable-request-validator.js +17 -0
  130. package/dist/validators/product-info-validator.spec.d.ts +1 -0
  131. package/dist/validators/product-info-validator.spec.js +259 -0
  132. package/dist/validators/product-info.validator.d.ts +2 -0
  133. package/dist/validators/product-info.validator.js +11 -0
  134. package/dist/validators/product-renew-request-validator.spec.d.ts +1 -0
  135. package/dist/validators/product-renew-request-validator.spec.js +40 -0
  136. package/dist/validators/product-suspend-request-validator.spec.d.ts +1 -0
  137. package/dist/validators/product-suspend-request-validator.spec.js +40 -0
  138. package/dist/validators/product-unsuspend-request-validator.spec.d.ts +1 -0
  139. package/dist/validators/product-unsuspend-request-validator.spec.js +40 -0
  140. package/dist/validators/product-upgradable-request-validator.spec.d.ts +1 -0
  141. package/dist/validators/product-upgradable-request-validator.spec.js +40 -0
  142. package/dist/validators/product-upgrade-request-validator.spec.d.ts +1 -0
  143. package/dist/validators/product-upgrade-request-validator.spec.js +46 -0
  144. package/dist/validators/product-upgradeable-request-validator.d.ts +8 -0
  145. package/dist/validators/product-upgradeable-request-validator.js +17 -0
  146. package/dist/validators/product-validate-attributes-request-validator.spec.d.ts +1 -0
  147. package/dist/validators/product-validate-attributes-request-validator.spec.js +27 -0
  148. package/dist/validators/receiver-email-validator.spec.d.ts +1 -0
  149. package/dist/validators/receiver-email-validator.spec.js +32 -0
  150. package/dist/validators/receiver-push-validator.spec.d.ts +1 -0
  151. package/dist/validators/receiver-push-validator.spec.js +31 -0
  152. package/dist/validators/receiver-sms-validator.spec.d.ts +1 -0
  153. package/dist/validators/receiver-sms-validator.spec.js +29 -0
  154. package/dist/validators/sender-email-validator.spec.d.ts +2 -0
  155. package/dist/validators/sender-email-validator.spec.js +62 -0
  156. package/dist/validators/sender-push-validator.spec.d.ts +1 -0
  157. package/dist/validators/sender-push-validator.spec.js +38 -0
  158. package/dist/validators/sender-sms-validator.spec.d.ts +1 -0
  159. package/dist/validators/sender-sms-validator.spec.js +22 -0
  160. package/dist/validators/settings-with-tabs-validator.spec.d.ts +1 -0
  161. package/dist/validators/settings-with-tabs-validator.spec.js +29 -0
  162. package/dist/validators/settings-with-tabs.validator.d.ts +2 -0
  163. package/dist/validators/settings-with-tabs.validator.js +11 -0
  164. package/dist/validators/settings-with-url-validator.spec.d.ts +1 -0
  165. package/dist/validators/settings-with-url-validator.spec.js +29 -0
  166. package/dist/validators/settings-with-url.validator.d.ts +2 -0
  167. package/dist/validators/settings-with-url.validator.js +11 -0
  168. package/dist/validators/unit-validator.spec.d.ts +1 -0
  169. package/dist/validators/unit-validator.spec.js +27 -0
  170. package/dist/validators/unit.validator.d.ts +2 -0
  171. package/dist/validators/unit.validator.js +11 -0
  172. package/package.json +4 -1
  173. package/dist/dtos/info/info-notification.dto.d.ts +0 -5
  174. package/dist/dtos/info/info-notification.dto.js +0 -7
  175. package/dist/dtos/info/info.dto.d.ts +0 -196
  176. package/dist/dtos/info/info.dto.js +0 -278
  177. package/dist/dtos/notification/notification-request.dto.d.ts +0 -20
  178. package/dist/dtos/notification/notification-request.dto.js +0 -31
  179. package/dist/dtos/receiver/receiver-email.dto.d.ts +0 -20
  180. package/dist/dtos/receiver/receiver-email.dto.js +0 -39
  181. package/dist/dtos/receiver/receiver-push.dto.d.ts +0 -15
  182. package/dist/dtos/receiver/receiver-push.dto.js +0 -31
  183. package/dist/dtos/receiver/receiver-sms.dto.d.ts +0 -11
  184. package/dist/dtos/receiver/receiver-sms.dto.js +0 -26
  185. package/dist/dtos/request.dto.d.ts +0 -20
  186. package/dist/dtos/request.dto.js +0 -31
  187. package/dist/dtos/sender/sender-email.dto.d.ts +0 -25
  188. package/dist/dtos/sender/sender-email.dto.js +0 -46
  189. package/dist/dtos/sender/sender-push.dto.d.ts +0 -31
  190. package/dist/dtos/sender/sender-push.dto.js +0 -50
  191. package/dist/dtos/sender/sender-sms.dto.d.ts +0 -15
  192. package/dist/dtos/sender/sender-sms.dto.js +0 -30
  193. package/dist/enums/message-type.enum.d.ts +0 -5
  194. package/dist/enums/message-type.enum.js +0 -9
@@ -0,0 +1,38 @@
1
+ import { TabDto } from './tab.dto';
2
+ import { ActionDto } from './action.dto';
3
+ import { MenuDtoWithSubmenu, MenuDtoWithUrl } from './menu.dto';
4
+ import { SettingsWithTabsDto, SettingsWithUrlDto } from './settings.dto';
5
+ export declare class AdminPanelTabsDto {
6
+ product?: TabDto[];
7
+ item?: TabDto[];
8
+ client?: TabDto[];
9
+ user?: TabDto[];
10
+ order?: TabDto[];
11
+ }
12
+ export declare class AdminPanelMoreActionsDto {
13
+ client?: ActionDto[];
14
+ item?: ActionDto[];
15
+ invoice?: ActionDto[];
16
+ user?: ActionDto[];
17
+ order?: ActionDto[];
18
+ }
19
+ export declare class AdminPanelDto {
20
+ /**
21
+ * Defines the tab structure for different sections of the admin panel.
22
+ * Each property represents a section (e.g., product, item) and contains an array of TabDto objects.
23
+ */
24
+ tabs?: AdminPanelTabsDto;
25
+ /**
26
+ * Defines additional actions that can be performed in different sections of the admin panel.
27
+ */
28
+ moreActions?: AdminPanelMoreActionsDto;
29
+ /**
30
+ * The main menu for the admin panel.
31
+ * This can be a simple menu with a URL or a menu with submenus.
32
+ */
33
+ menu?: MenuDtoWithSubmenu | MenuDtoWithUrl;
34
+ /**
35
+ * Configuration for the integration's settings page.
36
+ */
37
+ settings?: SettingsWithUrlDto | SettingsWithTabsDto;
38
+ }
@@ -0,0 +1,241 @@
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.AdminPanelDto = exports.AdminPanelMoreActionsDto = exports.AdminPanelTabsDto = 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 action_dto_1 = require("./action.dto");
17
+ const menu_dto_1 = require("./menu.dto");
18
+ const settings_dto_1 = require("./settings.dto");
19
+ const settings_transformer_1 = require("../transformers/settings.transformer");
20
+ const menu_transformer_1 = require("../transformers/menu.transformer");
21
+ const is_one_of_validator_1 = require("../decorators/is-one-of.validator");
22
+ const at_least_one_non_empty_validator_1 = require("../decorators/at-least-one-non-empty.validator");
23
+ const class_validator_jsonschema_1 = require("class-validator-jsonschema");
24
+ let AdminPanelTabsDto = class AdminPanelTabsDto {
25
+ };
26
+ exports.AdminPanelTabsDto = AdminPanelTabsDto;
27
+ __decorate([
28
+ (0, class_validator_1.ValidateNested)({ each: true }),
29
+ (0, class_transformer_1.Type)(() => tab_dto_1.TabDto),
30
+ (0, class_validator_1.IsOptional)(),
31
+ (0, class_validator_1.IsArray)(),
32
+ (0, class_validator_1.ArrayMinSize)(1),
33
+ (0, class_validator_jsonschema_1.JSONSchema)({
34
+ title: 'Product Tabs',
35
+ description: 'Tabs shown on the product detail page in Admin panel.',
36
+ type: 'array',
37
+ items: { $ref: '#/components/schemas/TabDto' }
38
+ }),
39
+ __metadata("design:type", Array)
40
+ ], AdminPanelTabsDto.prototype, "product", void 0);
41
+ __decorate([
42
+ (0, class_validator_1.ValidateNested)({ each: true }),
43
+ (0, class_transformer_1.Type)(() => tab_dto_1.TabDto),
44
+ (0, class_validator_1.IsOptional)(),
45
+ (0, class_validator_1.IsArray)(),
46
+ (0, class_validator_1.ArrayMinSize)(1),
47
+ (0, class_validator_jsonschema_1.JSONSchema)({
48
+ title: 'Item Tabs',
49
+ description: 'Tabs shown on the item detail page in Admin panel.',
50
+ type: 'array',
51
+ items: { $ref: '#/components/schemas/TabDto' }
52
+ }),
53
+ __metadata("design:type", Array)
54
+ ], AdminPanelTabsDto.prototype, "item", void 0);
55
+ __decorate([
56
+ (0, class_validator_1.ValidateNested)({ each: true }),
57
+ (0, class_transformer_1.Type)(() => tab_dto_1.TabDto),
58
+ (0, class_validator_1.IsOptional)(),
59
+ (0, class_validator_1.IsArray)(),
60
+ (0, class_validator_1.ArrayMinSize)(1),
61
+ (0, class_validator_jsonschema_1.JSONSchema)({
62
+ title: 'Client Tabs',
63
+ description: 'Tabs shown on the client profile page in Admin panel.',
64
+ type: 'array',
65
+ items: { $ref: '#/components/schemas/TabDto' }
66
+ }),
67
+ __metadata("design:type", Array)
68
+ ], AdminPanelTabsDto.prototype, "client", void 0);
69
+ __decorate([
70
+ (0, class_validator_1.ValidateNested)({ each: true }),
71
+ (0, class_transformer_1.Type)(() => tab_dto_1.TabDto),
72
+ (0, class_validator_1.IsOptional)(),
73
+ (0, class_validator_1.IsArray)(),
74
+ (0, class_validator_1.ArrayMinSize)(1),
75
+ (0, class_validator_jsonschema_1.JSONSchema)({
76
+ title: 'User Tabs',
77
+ description: 'Tabs shown on the user page in Admin panel.',
78
+ type: 'array',
79
+ items: { $ref: '#/components/schemas/TabDto' }
80
+ }),
81
+ __metadata("design:type", Array)
82
+ ], AdminPanelTabsDto.prototype, "user", void 0);
83
+ __decorate([
84
+ (0, class_validator_1.ValidateNested)({ each: true }),
85
+ (0, class_transformer_1.Type)(() => tab_dto_1.TabDto),
86
+ (0, class_validator_1.IsOptional)(),
87
+ (0, class_validator_1.IsArray)(),
88
+ (0, class_validator_1.ArrayMinSize)(1),
89
+ (0, class_validator_jsonschema_1.JSONSchema)({
90
+ title: 'Order Tabs',
91
+ description: 'Tabs shown on the order page in Admin panel.',
92
+ type: 'array',
93
+ items: { $ref: '#/components/schemas/TabDto' }
94
+ }),
95
+ __metadata("design:type", Array)
96
+ ], AdminPanelTabsDto.prototype, "order", void 0);
97
+ exports.AdminPanelTabsDto = AdminPanelTabsDto = __decorate([
98
+ (0, at_least_one_non_empty_validator_1.AtLeastOneNonEmptyProperty)(['product', 'item', 'client', 'user', 'order'])
99
+ ], AdminPanelTabsDto);
100
+ let AdminPanelMoreActionsDto = class AdminPanelMoreActionsDto {
101
+ };
102
+ exports.AdminPanelMoreActionsDto = AdminPanelMoreActionsDto;
103
+ __decorate([
104
+ (0, class_validator_1.IsOptional)(),
105
+ (0, class_validator_1.IsArray)(),
106
+ (0, class_validator_1.ArrayMinSize)(1),
107
+ (0, class_validator_1.ValidateNested)({ each: true }),
108
+ (0, class_transformer_1.Type)(() => action_dto_1.ActionDto),
109
+ (0, class_validator_jsonschema_1.JSONSchema)({
110
+ title: 'Client Actions',
111
+ description: 'Additional actions available on the client page.',
112
+ type: 'array',
113
+ items: { $ref: '#/components/schemas/ActionDto' }
114
+ }),
115
+ __metadata("design:type", Array)
116
+ ], AdminPanelMoreActionsDto.prototype, "client", void 0);
117
+ __decorate([
118
+ (0, class_validator_1.IsOptional)(),
119
+ (0, class_validator_1.IsArray)(),
120
+ (0, class_validator_1.ArrayMinSize)(1),
121
+ (0, class_validator_1.ValidateNested)({ each: true }),
122
+ (0, class_transformer_1.Type)(() => action_dto_1.ActionDto),
123
+ (0, class_validator_jsonschema_1.JSONSchema)({
124
+ title: 'Item Actions',
125
+ description: 'Additional actions available on the item page.',
126
+ type: 'array',
127
+ items: { $ref: '#/components/schemas/ActionDto' }
128
+ }),
129
+ __metadata("design:type", Array)
130
+ ], AdminPanelMoreActionsDto.prototype, "item", void 0);
131
+ __decorate([
132
+ (0, class_validator_1.IsOptional)(),
133
+ (0, class_validator_1.IsArray)(),
134
+ (0, class_validator_1.ArrayMinSize)(1),
135
+ (0, class_validator_1.ValidateNested)({ each: true }),
136
+ (0, class_transformer_1.Type)(() => action_dto_1.ActionDto),
137
+ (0, class_validator_jsonschema_1.JSONSchema)({
138
+ title: 'Invoice Actions',
139
+ description: 'Additional actions available on the invoice page.',
140
+ type: 'array',
141
+ items: { $ref: '#/components/schemas/ActionDto' }
142
+ }),
143
+ __metadata("design:type", Array)
144
+ ], AdminPanelMoreActionsDto.prototype, "invoice", void 0);
145
+ __decorate([
146
+ (0, class_validator_1.IsOptional)(),
147
+ (0, class_validator_1.IsArray)(),
148
+ (0, class_validator_1.ArrayMinSize)(1),
149
+ (0, class_validator_1.ValidateNested)({ each: true }),
150
+ (0, class_transformer_1.Type)(() => action_dto_1.ActionDto),
151
+ (0, class_validator_jsonschema_1.JSONSchema)({
152
+ title: 'User Actions',
153
+ description: 'Additional actions available on the user page.',
154
+ type: 'array',
155
+ items: { $ref: '#/components/schemas/ActionDto' }
156
+ }),
157
+ __metadata("design:type", Array)
158
+ ], AdminPanelMoreActionsDto.prototype, "user", void 0);
159
+ __decorate([
160
+ (0, class_validator_1.IsOptional)(),
161
+ (0, class_validator_1.IsArray)(),
162
+ (0, class_validator_1.ArrayMinSize)(1),
163
+ (0, class_validator_1.ValidateNested)({ each: true }),
164
+ (0, class_transformer_1.Type)(() => action_dto_1.ActionDto),
165
+ (0, class_validator_jsonschema_1.JSONSchema)({
166
+ title: 'Order Actions',
167
+ description: 'Additional actions available on the order page.',
168
+ type: 'array',
169
+ items: { $ref: '#/components/schemas/ActionDto' }
170
+ }),
171
+ __metadata("design:type", Array)
172
+ ], AdminPanelMoreActionsDto.prototype, "order", void 0);
173
+ exports.AdminPanelMoreActionsDto = AdminPanelMoreActionsDto = __decorate([
174
+ (0, at_least_one_non_empty_validator_1.AtLeastOneNonEmptyProperty)(['client', 'item', 'invoice', 'user', 'order'])
175
+ ], AdminPanelMoreActionsDto);
176
+ let AdminPanelDto = class AdminPanelDto {
177
+ };
178
+ exports.AdminPanelDto = AdminPanelDto;
179
+ __decorate([
180
+ (0, class_validator_1.IsOptional)(),
181
+ (0, class_validator_1.ValidateNested)(),
182
+ (0, class_transformer_1.Type)(() => AdminPanelTabsDto),
183
+ (0, class_validator_jsonschema_1.JSONSchema)({
184
+ title: 'Tabs',
185
+ description: 'Tab structure for Admin panel sections.',
186
+ type: 'object',
187
+ properties: { tabs: { $ref: '#/components/schemas/AdminPanelTabsDto' } }
188
+ }),
189
+ __metadata("design:type", AdminPanelTabsDto)
190
+ ], AdminPanelDto.prototype, "tabs", void 0);
191
+ __decorate([
192
+ (0, class_validator_1.IsOptional)(),
193
+ (0, class_validator_1.ValidateNested)(),
194
+ (0, class_transformer_1.Type)(() => AdminPanelMoreActionsDto),
195
+ (0, class_validator_jsonschema_1.JSONSchema)({
196
+ title: 'More Actions',
197
+ description: 'Additional actions in Admin panel sections.',
198
+ type: 'object',
199
+ properties: { moreActions: { $ref: '#/components/schemas/AdminPanelMoreActionsDto' } }
200
+ }),
201
+ __metadata("design:type", AdminPanelMoreActionsDto)
202
+ ], AdminPanelDto.prototype, "moreActions", void 0);
203
+ __decorate([
204
+ (0, class_validator_1.IsOptional)(),
205
+ (0, class_transformer_1.Transform)(({ value }) => (0, menu_transformer_1.transformMenu)(value)),
206
+ (0, class_validator_1.ValidateNested)(),
207
+ (0, is_one_of_validator_1.IsOneOf)([menu_dto_1.MenuDtoWithUrl, menu_dto_1.MenuDtoWithSubmenu], {
208
+ message: 'menu must be MenuDtoWithUrl or MenuDtoWithSubmenu',
209
+ }),
210
+ (0, class_validator_jsonschema_1.JSONSchema)({
211
+ title: 'Menu',
212
+ description: 'Admin panel main menu (URL or submenu variant).',
213
+ type: 'object',
214
+ oneOf: [
215
+ { $ref: '#/components/schemas/MenuDtoWithSubmenu' },
216
+ { $ref: '#/components/schemas/MenuDtoWithUrl' }
217
+ ]
218
+ }),
219
+ __metadata("design:type", Object)
220
+ ], AdminPanelDto.prototype, "menu", void 0);
221
+ __decorate([
222
+ (0, class_validator_1.IsOptional)(),
223
+ (0, class_transformer_1.Transform)(({ value }) => (0, settings_transformer_1.transformSettings)(value)),
224
+ (0, class_validator_1.ValidateNested)(),
225
+ (0, is_one_of_validator_1.IsOneOf)([settings_dto_1.SettingsWithUrlDto, settings_dto_1.SettingsWithTabsDto], {
226
+ message: 'settings must be SettingsWithUrlDto or SettingsWithTabsDto',
227
+ }),
228
+ (0, class_validator_jsonschema_1.JSONSchema)({
229
+ title: 'Settings',
230
+ description: 'Admin panel settings page configuration.',
231
+ type: 'object',
232
+ oneOf: [
233
+ { $ref: '#/components/schemas/SettingsWithUrlDto' },
234
+ { $ref: '#/components/schemas/SettingsWithTabsDto' }
235
+ ]
236
+ }),
237
+ __metadata("design:type", Object)
238
+ ], AdminPanelDto.prototype, "settings", void 0);
239
+ exports.AdminPanelDto = AdminPanelDto = __decorate([
240
+ (0, at_least_one_non_empty_validator_1.AtLeastOneNonEmptyProperty)(['tabs', 'moreActions', 'menu', 'settings'])
241
+ ], AdminPanelDto);
@@ -0,0 +1,24 @@
1
+ import { ActionDto } from "./action.dto";
2
+ import { MenuDtoWithSubmenu, MenuDtoWithUrl } from "./menu.dto";
3
+ import { TabDto } from "./tab.dto";
4
+ export declare class ClientPanelTabsDto {
5
+ item?: TabDto[];
6
+ }
7
+ export declare class ClientPanelMoreActionsDto {
8
+ item?: ActionDto[];
9
+ }
10
+ export declare class ClientPanelDto {
11
+ /**
12
+ * Defines the tab structure for the client panel.
13
+ */
14
+ tabs?: ClientPanelTabsDto;
15
+ /**
16
+ * Defines additional actions that can be performed in the client panel.
17
+ */
18
+ moreActions?: ClientPanelMoreActionsDto;
19
+ /**
20
+ * The main menu for the client panel.
21
+ * This can be a simple menu with a URL or a menu with submenus.
22
+ */
23
+ menu?: MenuDtoWithSubmenu | MenuDtoWithUrl;
24
+ }
@@ -0,0 +1,105 @@
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.ClientPanelDto = exports.ClientPanelMoreActionsDto = exports.ClientPanelTabsDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const action_dto_1 = require("./action.dto");
16
+ const menu_dto_1 = require("./menu.dto");
17
+ const tab_dto_1 = require("./tab.dto");
18
+ const menu_transformer_1 = require("../transformers/menu.transformer");
19
+ const is_one_of_validator_1 = require("../decorators/is-one-of.validator");
20
+ const at_least_one_non_empty_validator_1 = require("../decorators/at-least-one-non-empty.validator");
21
+ const class_validator_jsonschema_1 = require("class-validator-jsonschema");
22
+ let ClientPanelTabsDto = class ClientPanelTabsDto {
23
+ };
24
+ exports.ClientPanelTabsDto = ClientPanelTabsDto;
25
+ __decorate([
26
+ (0, class_validator_1.IsOptional)(),
27
+ (0, class_validator_1.IsArray)(),
28
+ (0, class_validator_1.ArrayMinSize)(1),
29
+ (0, class_validator_1.ValidateNested)({ each: true }),
30
+ (0, class_transformer_1.Type)(() => tab_dto_1.TabDto),
31
+ (0, class_validator_jsonschema_1.JSONSchema)({
32
+ title: 'Item Tabs',
33
+ description: 'Tabs shown on the item page in Client panel.',
34
+ type: 'array',
35
+ items: { $ref: '#/components/schemas/TabDto' }
36
+ }),
37
+ __metadata("design:type", Array)
38
+ ], ClientPanelTabsDto.prototype, "item", void 0);
39
+ exports.ClientPanelTabsDto = ClientPanelTabsDto = __decorate([
40
+ (0, at_least_one_non_empty_validator_1.AtLeastOneNonEmptyProperty)(["item"])
41
+ ], ClientPanelTabsDto);
42
+ let ClientPanelMoreActionsDto = class ClientPanelMoreActionsDto {
43
+ };
44
+ exports.ClientPanelMoreActionsDto = ClientPanelMoreActionsDto;
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)(() => action_dto_1.ActionDto),
51
+ (0, class_validator_jsonschema_1.JSONSchema)({
52
+ title: 'Item Actions',
53
+ description: 'Additional actions available on the item page in Client panel.',
54
+ type: 'array',
55
+ items: { $ref: '#/components/schemas/ActionDto' }
56
+ }),
57
+ __metadata("design:type", Array)
58
+ ], ClientPanelMoreActionsDto.prototype, "item", void 0);
59
+ exports.ClientPanelMoreActionsDto = ClientPanelMoreActionsDto = __decorate([
60
+ (0, at_least_one_non_empty_validator_1.AtLeastOneNonEmptyProperty)(["item"])
61
+ ], ClientPanelMoreActionsDto);
62
+ let ClientPanelDto = class ClientPanelDto {
63
+ };
64
+ exports.ClientPanelDto = ClientPanelDto;
65
+ __decorate([
66
+ (0, class_validator_1.IsOptional)(),
67
+ (0, class_validator_1.ValidateNested)(),
68
+ (0, class_transformer_1.Type)(() => ClientPanelTabsDto),
69
+ (0, class_validator_jsonschema_1.JSONSchema)({
70
+ title: 'Tabs',
71
+ description: 'Tab structure for Client panel.',
72
+ type: 'object',
73
+ properties: { tabs: { $ref: '#/components/schemas/ClientPanelTabsDto' } }
74
+ }),
75
+ __metadata("design:type", ClientPanelTabsDto)
76
+ ], ClientPanelDto.prototype, "tabs", void 0);
77
+ __decorate([
78
+ (0, class_validator_1.IsOptional)(),
79
+ (0, class_validator_1.ValidateNested)(),
80
+ (0, class_transformer_1.Type)(() => ClientPanelMoreActionsDto),
81
+ (0, class_validator_jsonschema_1.JSONSchema)({
82
+ title: 'More Actions',
83
+ description: 'Additional actions in Client panel.',
84
+ type: 'object',
85
+ properties: { moreActions: { $ref: '#/components/schemas/ClientPanelMoreActionsDto' } }
86
+ }),
87
+ __metadata("design:type", ClientPanelMoreActionsDto)
88
+ ], ClientPanelDto.prototype, "moreActions", void 0);
89
+ __decorate([
90
+ (0, class_validator_1.IsOptional)(),
91
+ (0, class_validator_1.ValidateNested)(),
92
+ (0, class_transformer_1.Transform)(({ value }) => (0, menu_transformer_1.transformMenu)(value)),
93
+ (0, is_one_of_validator_1.IsOneOf)([menu_dto_1.MenuDtoWithSubmenu, menu_dto_1.MenuDtoWithUrl], {
94
+ message: 'menu must be either a MenuDtoWithUrl or MenuDtoWithSubmenu',
95
+ }),
96
+ (0, class_validator_jsonschema_1.JSONSchema)({
97
+ title: 'Menu',
98
+ description: 'Client panel main menu (URL or submenu variant).',
99
+ oneOf: [{ $ref: '#/components/schemas/MenuDtoWithSubmenu' }, { $ref: '#/components/schemas/MenuDtoWithUrl' }],
100
+ }),
101
+ __metadata("design:type", Object)
102
+ ], ClientPanelDto.prototype, "menu", void 0);
103
+ exports.ClientPanelDto = ClientPanelDto = __decorate([
104
+ (0, at_least_one_non_empty_validator_1.AtLeastOneNonEmptyProperty)(["tabs", "moreActions", "menu"])
105
+ ], ClientPanelDto);
@@ -39,7 +39,7 @@ __decorate([
39
39
  __metadata("design:type", String)
40
40
  ], CompanyDataDto.prototype, "invoiceEmail", void 0);
41
41
  __decorate([
42
- (0, class_validator_1.IsUrl)(),
42
+ (0, class_validator_1.IsUrl)({ protocols: ['https'], require_protocol: true }),
43
43
  __metadata("design:type", String)
44
44
  ], CompanyDataDto.prototype, "privacyPolicyUrl", void 0);
45
45
  __decorate([
@@ -11,6 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.FieldOptionDto = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
+ const class_validator_jsonschema_1 = require("class-validator-jsonschema");
14
15
  /**
15
16
  * Data Transfer Object for field options.
16
17
  * This class defines the structure and properties of a field option
@@ -28,15 +29,30 @@ exports.FieldOptionDto = FieldOptionDto;
28
29
  __decorate([
29
30
  (0, class_validator_1.IsString)(),
30
31
  (0, class_validator_1.IsDefined)(),
32
+ (0, class_validator_jsonschema_1.JSONSchema)({
33
+ title: 'Key',
34
+ description: 'Internal key for the option.',
35
+ type: 'string'
36
+ }),
31
37
  __metadata("design:type", String)
32
38
  ], FieldOptionDto.prototype, "key", void 0);
33
39
  __decorate([
34
40
  (0, class_validator_1.IsString)(),
35
41
  (0, class_validator_1.IsDefined)(),
42
+ (0, class_validator_jsonschema_1.JSONSchema)({
43
+ title: 'Value',
44
+ description: 'Display value for the option.',
45
+ type: 'string'
46
+ }),
36
47
  __metadata("design:type", String)
37
48
  ], FieldOptionDto.prototype, "value", void 0);
38
49
  __decorate([
39
50
  (0, class_validator_1.IsBoolean)(),
40
51
  (0, class_validator_1.IsOptional)(),
52
+ (0, class_validator_jsonschema_1.JSONSchema)({
53
+ title: 'Disabled',
54
+ description: 'Whether the option is disabled.',
55
+ type: 'boolean'
56
+ }),
41
57
  __metadata("design:type", Boolean)
42
58
  ], FieldOptionDto.prototype, "disabled", void 0);
@@ -28,6 +28,8 @@ export declare class FieldDto {
28
28
  * Type of the field
29
29
  */
30
30
  type: FieldTypeEnum;
31
+ reapetableMin?: number;
32
+ reapetableMax?: number;
31
33
  /**
32
34
  * Indicates if the field is required
33
35
  */
@@ -10,16 +10,22 @@ 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");
20
+ const all_or_none_validator_1 = require("../decorators/all-or-none.validator");
21
+ const min_less_or_equal_validator_1 = require("../decorators/min-less-or-equal.validator");
22
+ const class_validator_jsonschema_1 = require("class-validator-jsonschema");
17
23
  /**
18
24
  * Data Transfer Object for a form field.
19
25
  * This class defines the structure and properties of a single field
20
26
  * that can be used in a user interface form.
21
27
  */
22
- class FieldDto {
28
+ let FieldDto = class FieldDto {
23
29
  constructor() {
24
30
  /**
25
31
  * Indicates if the field triggers remote validation
@@ -32,10 +38,16 @@ class FieldDto {
32
38
  */
33
39
  this.upgradable = false;
34
40
  }
35
- }
41
+ };
36
42
  exports.FieldDto = FieldDto;
37
43
  __decorate([
38
44
  (0, class_validator_1.IsString)(),
45
+ (0, class_validator_1.IsDefined)(),
46
+ (0, class_validator_jsonschema_1.JSONSchema)({
47
+ title: 'ID',
48
+ description: 'Unique identifier for the field.',
49
+ type: 'string',
50
+ }),
39
51
  __metadata("design:type", String)
40
52
  ], FieldDto.prototype, "id", void 0);
41
53
  __decorate([
@@ -43,51 +55,149 @@ __decorate([
43
55
  (0, class_transformer_1.Type)(() => multilang_text_dto_1.MultilangTextDto),
44
56
  (0, class_validator_1.IsArray)(),
45
57
  (0, class_validator_1.ArrayMinSize)(1),
58
+ (0, class_validator_jsonschema_1.JSONSchema)({
59
+ title: 'Label',
60
+ description: 'Multilingual label for the field.',
61
+ type: 'array',
62
+ items: { $ref: '#/components/schemas/MultilangTextDto' },
63
+ }),
46
64
  __metadata("design:type", Array)
47
65
  ], FieldDto.prototype, "label", void 0);
48
66
  __decorate([
49
67
  (0, class_validator_1.IsDefined)(),
68
+ (0, is_of_allowed_types_validator_1.IsOfAllowedTypes)(['string', 'number', 'object', 'array'], {
69
+ objectClass: field_option_dto_1.FieldOptionDto,
70
+ arrayElementClass: field_option_dto_1.FieldOptionDto,
71
+ require: true,
72
+ objectNotEmpty: true,
73
+ arrayNotEmpty: true,
74
+ }),
75
+ (0, class_validator_jsonschema_1.JSONSchema)({
76
+ title: 'Value',
77
+ description: 'Value of the field. String/Number, or FieldOptionDto/FieldOptionDto[] depending on type.',
78
+ oneOf: [
79
+ { title: 'String', type: 'string' },
80
+ { title: 'Number', type: 'number' },
81
+ { title: 'Option', $ref: '#/components/schemas/FieldOptionDto' },
82
+ {
83
+ title: 'Options Array',
84
+ type: 'array',
85
+ items: { $ref: '#/components/schemas/FieldOptionDto' },
86
+ },
87
+ ],
88
+ }),
50
89
  __metadata("design:type", Object)
51
90
  ], FieldDto.prototype, "value", void 0);
52
91
  __decorate([
53
92
  (0, class_validator_1.IsEnum)(field_type_enum_1.FieldTypeEnum),
93
+ (0, class_validator_1.IsDefined)(),
94
+ (0, class_validator_jsonschema_1.JSONSchema)({
95
+ title: 'Field Type',
96
+ description: 'Type of the field.',
97
+ type: 'string',
98
+ enum: Object.values(field_type_enum_1.FieldTypeEnum),
99
+ }),
54
100
  __metadata("design:type", String)
55
101
  ], FieldDto.prototype, "type", void 0);
102
+ __decorate([
103
+ (0, class_validator_1.IsOptional)(),
104
+ (0, class_validator_1.IsNumber)(),
105
+ __metadata("design:type", Number)
106
+ ], FieldDto.prototype, "reapetableMin", void 0);
107
+ __decorate([
108
+ (0, class_validator_1.IsOptional)(),
109
+ (0, class_validator_1.IsNumber)(),
110
+ __metadata("design:type", Number)
111
+ ], FieldDto.prototype, "reapetableMax", void 0);
56
112
  __decorate([
57
113
  (0, class_validator_1.IsBoolean)(),
114
+ (0, class_validator_1.IsDefined)(),
115
+ (0, class_validator_jsonschema_1.JSONSchema)({
116
+ title: 'Required',
117
+ description: 'Whether the field is required.',
118
+ type: 'boolean',
119
+ }),
58
120
  __metadata("design:type", Boolean)
59
121
  ], FieldDto.prototype, "required", void 0);
60
122
  __decorate([
61
123
  (0, class_validator_1.IsBoolean)(),
124
+ (0, class_validator_1.IsDefined)(),
125
+ (0, class_validator_jsonschema_1.JSONSchema)({
126
+ title: 'Disabled',
127
+ description: 'Whether the field is disabled.',
128
+ type: 'boolean',
129
+ }),
62
130
  __metadata("design:type", Boolean)
63
131
  ], FieldDto.prototype, "disabled", void 0);
64
132
  __decorate([
65
133
  (0, class_validator_1.IsBoolean)(),
134
+ (0, class_validator_1.IsDefined)(),
135
+ (0, class_validator_jsonschema_1.JSONSchema)({
136
+ title: 'Hidden',
137
+ description: 'Whether the field is hidden.',
138
+ type: 'boolean',
139
+ }),
66
140
  __metadata("design:type", Boolean)
67
141
  ], FieldDto.prototype, "hidden", void 0);
68
142
  __decorate([
69
143
  (0, class_validator_1.IsString)(),
144
+ (0, is_regex_validator_1.IsRegex)(),
70
145
  (0, class_validator_1.IsOptional)(),
146
+ (0, class_validator_jsonschema_1.JSONSchema)({
147
+ title: 'Regex Validation',
148
+ description: 'Optional regex to validate input.',
149
+ type: 'string',
150
+ example: '^[A-Za-z0-9_-]+$',
151
+ }),
71
152
  __metadata("design:type", String)
72
153
  ], FieldDto.prototype, "regexValidation", void 0);
73
154
  __decorate([
155
+ (0, class_validator_1.ValidateIf)((o) => !!o.regexValidation),
74
156
  (0, class_validator_1.ValidateNested)({ each: true }),
75
157
  (0, class_transformer_1.Type)(() => multilang_text_dto_1.MultilangTextDto),
76
158
  (0, class_validator_1.IsOptional)(),
159
+ (0, class_validator_jsonschema_1.JSONSchema)({
160
+ title: 'Regex Validation Error Message',
161
+ description: 'Localized error message shown when regex validation fails.',
162
+ type: 'array',
163
+ items: { $ref: '#/components/schemas/MultilangTextDto' },
164
+ }),
77
165
  __metadata("design:type", Array)
78
166
  ], FieldDto.prototype, "regexValidationErrorMessage", void 0);
79
167
  __decorate([
80
168
  (0, class_validator_1.IsBoolean)(),
81
169
  (0, class_validator_1.IsOptional)(),
170
+ (0, class_validator_jsonschema_1.JSONSchema)({
171
+ title: 'Triggers Remote Validation',
172
+ description: 'If true, field triggers remote validation.',
173
+ type: 'boolean',
174
+ }),
82
175
  __metadata("design:type", Boolean)
83
176
  ], FieldDto.prototype, "triggersRemoteValidation", void 0);
84
177
  __decorate([
178
+ (0, class_validator_1.ValidateIf)((o) => o.triggersRemoteValidation === true),
85
179
  (0, class_validator_1.ValidateNested)({ each: true }),
86
180
  (0, class_transformer_1.Type)(() => multilang_text_dto_1.MultilangTextDto),
87
181
  (0, class_validator_1.IsOptional)(),
182
+ (0, class_validator_jsonschema_1.JSONSchema)({
183
+ title: 'Remote Validation Error Message',
184
+ description: 'Localized error messages for remote validation.',
185
+ type: 'array',
186
+ items: { $ref: '#/components/schemas/MultilangTextDto' },
187
+ }),
88
188
  __metadata("design:type", Array)
89
189
  ], FieldDto.prototype, "remoteValidationErrorMessage", void 0);
90
190
  __decorate([
91
191
  (0, class_validator_1.IsBoolean)(),
192
+ (0, class_validator_1.IsDefined)(),
193
+ (0, class_validator_jsonschema_1.JSONSchema)({
194
+ title: 'Upgradable',
195
+ description: 'Whether the item attribute is upgradable by the user.',
196
+ type: 'boolean',
197
+ }),
92
198
  __metadata("design:type", Boolean)
93
199
  ], FieldDto.prototype, "upgradable", void 0);
200
+ exports.FieldDto = FieldDto = __decorate([
201
+ (0, all_or_none_validator_1.AllOrNoneProperty)(['reapetableMin', 'reapetableMax']),
202
+ (0, min_less_or_equal_validator_1.MinLessOrEqualMaxProperty)(['reapetableMin', 'reapetableMax'])
203
+ ], FieldDto);