@flusys/nestjs-entity-builder 9.0.0

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 (114) hide show
  1. package/README.md +111 -0
  2. package/config/entity-builder.constants.d.ts +6 -0
  3. package/config/event-actions.d.ts +8 -0
  4. package/config/index.d.ts +3 -0
  5. package/config/message-keys.d.ts +542 -0
  6. package/controllers/entity-definition.controller.d.ts +40 -0
  7. package/controllers/field-definition.controller.d.ts +22 -0
  8. package/controllers/flow-definition.controller.d.ts +51 -0
  9. package/controllers/flow-execution.controller.d.ts +21 -0
  10. package/controllers/flow-runtime.controller.d.ts +24 -0
  11. package/controllers/index.d.ts +5 -0
  12. package/docs/entity-builder-swagger.config.d.ts +3 -0
  13. package/docs/index.d.ts +1 -0
  14. package/dtos/entity-definition.dto.d.ts +58 -0
  15. package/dtos/field-definition.dto.d.ts +42 -0
  16. package/dtos/flow.dto.d.ts +76 -0
  17. package/dtos/index.d.ts +3 -0
  18. package/dtos/schema-change.dto.d.ts +53 -0
  19. package/entities/entity-definition.entity.d.ts +15 -0
  20. package/entities/field-definition.entity.d.ts +23 -0
  21. package/entities/flow-definition.entity.d.ts +14 -0
  22. package/entities/flow-execution.entity.d.ts +19 -0
  23. package/entities/flow-version.entity.d.ts +10 -0
  24. package/entities/index.d.ts +14 -0
  25. package/entities/schema-change-log.entity.d.ts +15 -0
  26. package/enums/ddl-operation.enum.d.ts +13 -0
  27. package/enums/entity-status.enum.d.ts +5 -0
  28. package/enums/field-type.enum.d.ts +15 -0
  29. package/enums/index.d.ts +3 -0
  30. package/fesm/21.js +576 -0
  31. package/fesm/362.js +1074 -0
  32. package/fesm/458.js +649 -0
  33. package/fesm/582.js +1247 -0
  34. package/fesm/677.js +7534 -0
  35. package/fesm/719.js +3597 -0
  36. package/fesm/794.js +979 -0
  37. package/fesm/913.js +1620 -0
  38. package/fesm/config/index.js +126 -0
  39. package/fesm/controllers/index.js +27 -0
  40. package/fesm/docs/index.js +82 -0
  41. package/fesm/dtos/index.js +327 -0
  42. package/fesm/entities/index.js +18 -0
  43. package/fesm/enums/index.js +97 -0
  44. package/fesm/guards/index.js +226 -0
  45. package/fesm/index.js +548 -0
  46. package/fesm/interfaces/index.js +80 -0
  47. package/fesm/modules/index.js +25 -0
  48. package/fesm/rule-engine/index.js +21 -0
  49. package/fesm/runtime.js +85 -0
  50. package/fesm/services/index.js +526 -0
  51. package/flow-engine/flow-api-key.d.ts +6 -0
  52. package/flow-engine/flow-code-sandbox.d.ts +5 -0
  53. package/flow-engine/flow-engine.d.ts +22 -0
  54. package/flow-engine/flow-graph.validator.d.ts +20 -0
  55. package/flow-engine/flow-http.client.d.ts +15 -0
  56. package/flow-engine/flow-input.validator.d.ts +7 -0
  57. package/flow-engine/flow-node-handlers.d.ts +5 -0
  58. package/flow-engine/flow-rate-limiter.d.ts +8 -0
  59. package/flow-engine/flow-reference.d.ts +7 -0
  60. package/flow-engine/flow-run.types.d.ts +131 -0
  61. package/flow-engine/flow.errors.d.ts +27 -0
  62. package/flow-engine/flow.types.d.ts +315 -0
  63. package/flow-engine/index.d.ts +4 -0
  64. package/flow-engine/redact.d.ts +3 -0
  65. package/flow-engine/ssrf-guard.d.ts +6 -0
  66. package/guards/flow-access.guard.d.ts +11 -0
  67. package/guards/index.d.ts +1 -0
  68. package/index.d.ts +11 -0
  69. package/interfaces/entity-builder-module.interface.d.ts +28 -0
  70. package/interfaces/field-definition.interface.d.ts +33 -0
  71. package/interfaces/flow-definition.interface.d.ts +24 -0
  72. package/interfaces/generic-record.interface.d.ts +15 -0
  73. package/interfaces/index.d.ts +5 -0
  74. package/interfaces/reference-provider.interface.d.ts +8 -0
  75. package/interfaces/schema-dialect-adapter.interface.d.ts +15 -0
  76. package/modules/entity-builder.module.d.ts +10 -0
  77. package/modules/index.d.ts +1 -0
  78. package/package.json +93 -0
  79. package/rule-engine/index.d.ts +3 -0
  80. package/rule-engine/rule-engine.service.d.ts +40 -0
  81. package/rule-engine/rule-evaluation-context.interface.d.ts +28 -0
  82. package/rule-engine/rule-ip.d.ts +3 -0
  83. package/rule-engine/rule-permission.d.ts +10 -0
  84. package/rule-engine/rule-regex.d.ts +4 -0
  85. package/rule-engine/rule-values.d.ts +5 -0
  86. package/rule-engine/rule.interface.d.ts +79 -0
  87. package/services/database-error.mapper.d.ts +2 -0
  88. package/services/definition-cache.service.d.ts +8 -0
  89. package/services/entity-builder-config.service.d.ts +12 -0
  90. package/services/entity-builder-datasource.provider.d.ts +24 -0
  91. package/services/entity-definition.service.d.ts +17 -0
  92. package/services/entity-flow-scaffold.d.ts +27 -0
  93. package/services/entity-permission.service.d.ts +8 -0
  94. package/services/field-definition.service.d.ts +17 -0
  95. package/services/field-type-conversion.d.ts +15 -0
  96. package/services/field-value-validator.d.ts +17 -0
  97. package/services/flow-definition.service.d.ts +62 -0
  98. package/services/flow-execution.service.d.ts +38 -0
  99. package/services/flow-executor.service.d.ts +41 -0
  100. package/services/flow-reference.provider.d.ts +13 -0
  101. package/services/flow-runtime.service.d.ts +30 -0
  102. package/services/generic-entity-service.factory.d.ts +12 -0
  103. package/services/generic-entity.service.d.ts +67 -0
  104. package/services/identifier-rules.d.ts +9 -0
  105. package/services/index.d.ts +26 -0
  106. package/services/reference-rewrite.d.ts +7 -0
  107. package/services/reference-scanner.service.d.ts +10 -0
  108. package/services/schema-change-executor.service.d.ts +39 -0
  109. package/services/schema-change.types.d.ts +59 -0
  110. package/services/schema-columns.d.ts +26 -0
  111. package/services/schema-dialect-adapter.service.d.ts +13 -0
  112. package/services/schema-evolution.service.d.ts +67 -0
  113. package/services/schema-registry.service.d.ts +13 -0
  114. package/services/schema-sync.service.d.ts +28 -0
package/fesm/362.js ADDED
@@ -0,0 +1,1074 @@
1
+ import * as __rspack_external__flusys_nestjs_shared_dtos_c4585026 from "@flusys/nestjs-shared/dtos";
2
+ import * as __rspack_external__nestjs_swagger_7cd450b5 from "@nestjs/swagger";
3
+ import * as __rspack_external_class_transformer_c5a479fb from "class-transformer";
4
+ import * as __rspack_external_class_validator_7b99ef4d from "class-validator";
5
+ export const __rspack_esm_id = 362;
6
+ export const __rspack_esm_ids = [362];
7
+ export const __webpack_modules__ = {
8
+ 680(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
9
+ /* import */ var _flusys_nestjs_shared_dtos__rspack_import_0 = __webpack_require__(6873);
10
+ /* import */ var _nestjs_swagger__rspack_import_1 = __webpack_require__(6176);
11
+ /* import */ var class_transformer__rspack_import_2 = __webpack_require__(5812);
12
+ /* import */ var class_validator__rspack_import_3 = __webpack_require__(5421);
13
+ /* import */ var _config_entity_builder_constants_js__rspack_import_5 = __webpack_require__(6576);
14
+ /* import */ var _enums_entity_status_enum_js__rspack_import_6 = __webpack_require__(1313);
15
+ /* import */ var _field_definition_dto_js__rspack_import_4 = __webpack_require__(2003);
16
+ function _ts_decorate(decorators, target, key, desc) {
17
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
18
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
19
+ r = Reflect.decorate(decorators, target, key, desc);
20
+ } else {
21
+ for(var i = decorators.length - 1; i >= 0; i--){
22
+ if (d = decorators[i]) {
23
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
24
+ }
25
+ }
26
+ }
27
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
28
+ }
29
+ function _ts_metadata(metadataKey, metadataValue) {
30
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
31
+ return Reflect.metadata(metadataKey, metadataValue);
32
+ }
33
+ }
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+ class CreateEntityDefinitionDto {
42
+ code;
43
+ label;
44
+ description;
45
+ isSoftDeleteEnabled;
46
+ isAuditEnabled;
47
+ uiConfig;
48
+ }
49
+ _ts_decorate([
50
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)({
51
+ description: 'Unique identifier code - becomes the eb_<code> table name',
52
+ example: 'customer_ticket',
53
+ maxLength: (/* inlined export .ENTITY_CODE_MAX_LENGTH */63)
54
+ }),
55
+ (0,class_validator__rspack_import_3.IsString)(),
56
+ (0,class_validator__rspack_import_3.IsNotEmpty)(),
57
+ (0,class_validator__rspack_import_3.MaxLength)((/* inlined export .ENTITY_CODE_MAX_LENGTH */63)),
58
+ (0,class_validator__rspack_import_3.Matches)(_config_entity_builder_constants_js__rspack_import_5/* .ENTITY_CODE_PATTERN */.vs, {
59
+ message: 'code must start with a lowercase letter and contain only lowercase letters, digits, and underscores'
60
+ }),
61
+ _ts_metadata("design:type", String)
62
+ ], CreateEntityDefinitionDto.prototype, "code", void 0);
63
+ _ts_decorate([
64
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)({
65
+ description: 'Human-readable label',
66
+ example: 'Customer Ticket'
67
+ }),
68
+ (0,class_validator__rspack_import_3.IsString)(),
69
+ (0,class_validator__rspack_import_3.IsNotEmpty)(),
70
+ (0,class_validator__rspack_import_3.MaxLength)(255),
71
+ _ts_metadata("design:type", String)
72
+ ], CreateEntityDefinitionDto.prototype, "label", void 0);
73
+ _ts_decorate([
74
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
75
+ description: 'Description of the entity'
76
+ }),
77
+ (0,class_validator__rspack_import_3.IsString)(),
78
+ (0,class_validator__rspack_import_3.IsOptional)(),
79
+ (0,class_validator__rspack_import_3.MaxLength)(500),
80
+ _ts_metadata("design:type", String)
81
+ ], CreateEntityDefinitionDto.prototype, "description", void 0);
82
+ _ts_decorate([
83
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
84
+ description: 'Enable soft delete columns',
85
+ default: true
86
+ }),
87
+ (0,class_validator__rspack_import_3.IsBoolean)(),
88
+ (0,class_validator__rspack_import_3.IsOptional)(),
89
+ _ts_metadata("design:type", Boolean)
90
+ ], CreateEntityDefinitionDto.prototype, "isSoftDeleteEnabled", void 0);
91
+ _ts_decorate([
92
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
93
+ description: 'Enable audit columns',
94
+ default: true
95
+ }),
96
+ (0,class_validator__rspack_import_3.IsBoolean)(),
97
+ (0,class_validator__rspack_import_3.IsOptional)(),
98
+ _ts_metadata("design:type", Boolean)
99
+ ], CreateEntityDefinitionDto.prototype, "isAuditEnabled", void 0);
100
+ _ts_decorate([
101
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
102
+ description: 'UI designer configuration (JSON)'
103
+ }),
104
+ (0,class_validator__rspack_import_3.IsObject)(),
105
+ (0,class_validator__rspack_import_3.IsOptional)(),
106
+ _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
107
+ ], CreateEntityDefinitionDto.prototype, "uiConfig", void 0);
108
+ class UpdateEntityDefinitionDto extends (0,_nestjs_swagger__rspack_import_1.PartialType)(CreateEntityDefinitionDto) {
109
+ id;
110
+ }
111
+ _ts_decorate([
112
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)({
113
+ description: 'Entity definition ID'
114
+ }),
115
+ (0,class_validator__rspack_import_3.IsUUID)(),
116
+ (0,class_validator__rspack_import_3.IsNotEmpty)(),
117
+ _ts_metadata("design:type", String)
118
+ ], UpdateEntityDefinitionDto.prototype, "id", void 0);
119
+ /**
120
+ * One initial field spec passed alongside entity creation - identical to
121
+ * CreateFieldDefinitionDto but without entityDefinitionId, which does not
122
+ * exist yet until SchemaSyncService.createEntity assigns it.
123
+ */ class EntityFieldSpecDto extends (0,_nestjs_swagger__rspack_import_1.OmitType)(_field_definition_dto_js__rspack_import_4/* .CreateFieldDefinitionDto */.Vj, [
124
+ 'entityDefinitionId'
125
+ ]) {
126
+ }
127
+ const FLOW_TEXT_MAX_LENGTH = 100;
128
+ /** Name of each endpoint's Request step in the entity's flow, in the creator's language. */ class EntityFlowNamesDto {
129
+ insert;
130
+ insertMany;
131
+ getById;
132
+ getByIds;
133
+ getAll;
134
+ getByFilter;
135
+ update;
136
+ updateMany;
137
+ bulkUpsert;
138
+ delete;
139
+ }
140
+ _ts_decorate([
141
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
142
+ example: 'Insert'
143
+ }),
144
+ (0,class_validator__rspack_import_3.IsString)(),
145
+ (0,class_validator__rspack_import_3.IsOptional)(),
146
+ (0,class_validator__rspack_import_3.MaxLength)(FLOW_TEXT_MAX_LENGTH),
147
+ _ts_metadata("design:type", String)
148
+ ], EntityFlowNamesDto.prototype, "insert", void 0);
149
+ _ts_decorate([
150
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
151
+ example: 'Insert many'
152
+ }),
153
+ (0,class_validator__rspack_import_3.IsString)(),
154
+ (0,class_validator__rspack_import_3.IsOptional)(),
155
+ (0,class_validator__rspack_import_3.MaxLength)(FLOW_TEXT_MAX_LENGTH),
156
+ _ts_metadata("design:type", String)
157
+ ], EntityFlowNamesDto.prototype, "insertMany", void 0);
158
+ _ts_decorate([
159
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
160
+ example: 'Get by id'
161
+ }),
162
+ (0,class_validator__rspack_import_3.IsString)(),
163
+ (0,class_validator__rspack_import_3.IsOptional)(),
164
+ (0,class_validator__rspack_import_3.MaxLength)(FLOW_TEXT_MAX_LENGTH),
165
+ _ts_metadata("design:type", String)
166
+ ], EntityFlowNamesDto.prototype, "getById", void 0);
167
+ _ts_decorate([
168
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
169
+ example: 'Get by ids'
170
+ }),
171
+ (0,class_validator__rspack_import_3.IsString)(),
172
+ (0,class_validator__rspack_import_3.IsOptional)(),
173
+ (0,class_validator__rspack_import_3.MaxLength)(FLOW_TEXT_MAX_LENGTH),
174
+ _ts_metadata("design:type", String)
175
+ ], EntityFlowNamesDto.prototype, "getByIds", void 0);
176
+ _ts_decorate([
177
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
178
+ example: 'Get all'
179
+ }),
180
+ (0,class_validator__rspack_import_3.IsString)(),
181
+ (0,class_validator__rspack_import_3.IsOptional)(),
182
+ (0,class_validator__rspack_import_3.MaxLength)(FLOW_TEXT_MAX_LENGTH),
183
+ _ts_metadata("design:type", String)
184
+ ], EntityFlowNamesDto.prototype, "getAll", void 0);
185
+ _ts_decorate([
186
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
187
+ example: 'Get by filter'
188
+ }),
189
+ (0,class_validator__rspack_import_3.IsString)(),
190
+ (0,class_validator__rspack_import_3.IsOptional)(),
191
+ (0,class_validator__rspack_import_3.MaxLength)(FLOW_TEXT_MAX_LENGTH),
192
+ _ts_metadata("design:type", String)
193
+ ], EntityFlowNamesDto.prototype, "getByFilter", void 0);
194
+ _ts_decorate([
195
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
196
+ example: 'Update'
197
+ }),
198
+ (0,class_validator__rspack_import_3.IsString)(),
199
+ (0,class_validator__rspack_import_3.IsOptional)(),
200
+ (0,class_validator__rspack_import_3.MaxLength)(FLOW_TEXT_MAX_LENGTH),
201
+ _ts_metadata("design:type", String)
202
+ ], EntityFlowNamesDto.prototype, "update", void 0);
203
+ _ts_decorate([
204
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
205
+ example: 'Update many'
206
+ }),
207
+ (0,class_validator__rspack_import_3.IsString)(),
208
+ (0,class_validator__rspack_import_3.IsOptional)(),
209
+ (0,class_validator__rspack_import_3.MaxLength)(FLOW_TEXT_MAX_LENGTH),
210
+ _ts_metadata("design:type", String)
211
+ ], EntityFlowNamesDto.prototype, "updateMany", void 0);
212
+ _ts_decorate([
213
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
214
+ example: 'Bulk upsert'
215
+ }),
216
+ (0,class_validator__rspack_import_3.IsString)(),
217
+ (0,class_validator__rspack_import_3.IsOptional)(),
218
+ (0,class_validator__rspack_import_3.MaxLength)(FLOW_TEXT_MAX_LENGTH),
219
+ _ts_metadata("design:type", String)
220
+ ], EntityFlowNamesDto.prototype, "bulkUpsert", void 0);
221
+ _ts_decorate([
222
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
223
+ example: 'Delete'
224
+ }),
225
+ (0,class_validator__rspack_import_3.IsString)(),
226
+ (0,class_validator__rspack_import_3.IsOptional)(),
227
+ (0,class_validator__rspack_import_3.MaxLength)(FLOW_TEXT_MAX_LENGTH),
228
+ _ts_metadata("design:type", String)
229
+ ], EntityFlowNamesDto.prototype, "delete", void 0);
230
+ /** Labels of the inputs the endpoints add besides the entity fields. */ class EntityFlowInputLabelsDto {
231
+ id;
232
+ ids;
233
+ search;
234
+ }
235
+ _ts_decorate([
236
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
237
+ example: 'Id'
238
+ }),
239
+ (0,class_validator__rspack_import_3.IsString)(),
240
+ (0,class_validator__rspack_import_3.IsOptional)(),
241
+ (0,class_validator__rspack_import_3.MaxLength)(FLOW_TEXT_MAX_LENGTH),
242
+ _ts_metadata("design:type", String)
243
+ ], EntityFlowInputLabelsDto.prototype, "id", void 0);
244
+ _ts_decorate([
245
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
246
+ example: 'Ids'
247
+ }),
248
+ (0,class_validator__rspack_import_3.IsString)(),
249
+ (0,class_validator__rspack_import_3.IsOptional)(),
250
+ (0,class_validator__rspack_import_3.MaxLength)(FLOW_TEXT_MAX_LENGTH),
251
+ _ts_metadata("design:type", String)
252
+ ], EntityFlowInputLabelsDto.prototype, "ids", void 0);
253
+ _ts_decorate([
254
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
255
+ example: 'Search'
256
+ }),
257
+ (0,class_validator__rspack_import_3.IsString)(),
258
+ (0,class_validator__rspack_import_3.IsOptional)(),
259
+ (0,class_validator__rspack_import_3.MaxLength)(FLOW_TEXT_MAX_LENGTH),
260
+ _ts_metadata("design:type", String)
261
+ ], EntityFlowInputLabelsDto.prototype, "search", void 0);
262
+ /**
263
+ * Text written into the entity's flow, sent by the designer in the creator's language so the
264
+ * saved flow reads like one the user wrote. Anything left out falls back to English.
265
+ */ class EntityFlowTextsDto {
266
+ names;
267
+ inputLabels;
268
+ noMatchMessage;
269
+ }
270
+ _ts_decorate([
271
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
272
+ type: EntityFlowNamesDto
273
+ }),
274
+ (0,class_validator__rspack_import_3.IsOptional)(),
275
+ (0,class_validator__rspack_import_3.ValidateNested)(),
276
+ (0,class_transformer__rspack_import_2.Type)(()=>EntityFlowNamesDto),
277
+ _ts_metadata("design:type", typeof EntityFlowNamesDto === "undefined" ? Object : EntityFlowNamesDto)
278
+ ], EntityFlowTextsDto.prototype, "names", void 0);
279
+ _ts_decorate([
280
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
281
+ type: EntityFlowInputLabelsDto
282
+ }),
283
+ (0,class_validator__rspack_import_3.IsOptional)(),
284
+ (0,class_validator__rspack_import_3.ValidateNested)(),
285
+ (0,class_transformer__rspack_import_2.Type)(()=>EntityFlowInputLabelsDto),
286
+ _ts_metadata("design:type", typeof EntityFlowInputLabelsDto === "undefined" ? Object : EntityFlowInputLabelsDto)
287
+ ], EntityFlowTextsDto.prototype, "inputLabels", void 0);
288
+ _ts_decorate([
289
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
290
+ description: 'Message of the 404 answer of the get-by-filter endpoint',
291
+ example: 'No record matches the filter.'
292
+ }),
293
+ (0,class_validator__rspack_import_3.IsString)(),
294
+ (0,class_validator__rspack_import_3.IsOptional)(),
295
+ (0,class_validator__rspack_import_3.MaxLength)(255),
296
+ _ts_metadata("design:type", String)
297
+ ], EntityFlowTextsDto.prototype, "noMatchMessage", void 0);
298
+ /**
299
+ * Creates a dynamic entity and its initial table in one DDL transaction.
300
+ * Consumed by SchemaSyncService.createEntity, not by the generic ApiController
301
+ * insert endpoint (which is disabled for EntityDefinitionController - metadata
302
+ * rows must never be created without a matching real table).
303
+ */ class CreateDynamicEntityDto extends CreateEntityDefinitionDto {
304
+ fields;
305
+ flowEndpoints;
306
+ flowTexts;
307
+ }
308
+ _ts_decorate([
309
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
310
+ type: [
311
+ EntityFieldSpecDto
312
+ ],
313
+ description: 'Initial fields to create alongside the entity'
314
+ }),
315
+ (0,class_validator__rspack_import_3.IsOptional)(),
316
+ (0,class_validator__rspack_import_3.IsArray)(),
317
+ (0,class_validator__rspack_import_3.ValidateNested)({
318
+ each: true
319
+ }),
320
+ (0,class_transformer__rspack_import_2.Type)(()=>EntityFieldSpecDto),
321
+ _ts_metadata("design:type", Array)
322
+ ], CreateDynamicEntityDto.prototype, "fields", void 0);
323
+ _ts_decorate([
324
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
325
+ enum: _config_entity_builder_constants_js__rspack_import_5/* .ENTITY_FLOW_ENDPOINTS */.WT,
326
+ isArray: true,
327
+ description: 'Generic API controller endpoints to create, once the entity exists, as one ready-made flow with a Request step each (POST api-flows/<code-with-dashes>/<endpoint-in-kebab-case>)',
328
+ example: [
329
+ ..._config_entity_builder_constants_js__rspack_import_5/* .ENTITY_FLOW_ENDPOINTS */.WT
330
+ ]
331
+ }),
332
+ (0,class_validator__rspack_import_3.IsOptional)(),
333
+ (0,class_validator__rspack_import_3.IsArray)(),
334
+ (0,class_validator__rspack_import_3.ArrayUnique)(),
335
+ (0,class_validator__rspack_import_3.IsIn)(_config_entity_builder_constants_js__rspack_import_5/* .ENTITY_FLOW_ENDPOINTS */.WT, {
336
+ each: true
337
+ }),
338
+ _ts_metadata("design:type", Array)
339
+ ], CreateDynamicEntityDto.prototype, "flowEndpoints", void 0);
340
+ _ts_decorate([
341
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
342
+ type: EntityFlowTextsDto
343
+ }),
344
+ (0,class_validator__rspack_import_3.IsOptional)(),
345
+ (0,class_validator__rspack_import_3.ValidateNested)(),
346
+ (0,class_transformer__rspack_import_2.Type)(()=>EntityFlowTextsDto),
347
+ _ts_metadata("design:type", typeof EntityFlowTextsDto === "undefined" ? Object : EntityFlowTextsDto)
348
+ ], CreateDynamicEntityDto.prototype, "flowTexts", void 0);
349
+ class EntityDefinitionResponseDto extends _flusys_nestjs_shared_dtos__rspack_import_0.IdentityResponseDto {
350
+ code;
351
+ label;
352
+ description;
353
+ tableName;
354
+ status;
355
+ schemaVersion;
356
+ isSoftDeleteEnabled;
357
+ isAuditEnabled;
358
+ uiConfig;
359
+ }
360
+ _ts_decorate([
361
+ (0,class_transformer__rspack_import_2.Expose)(),
362
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
363
+ _ts_metadata("design:type", String)
364
+ ], EntityDefinitionResponseDto.prototype, "code", void 0);
365
+ _ts_decorate([
366
+ (0,class_transformer__rspack_import_2.Expose)(),
367
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
368
+ _ts_metadata("design:type", String)
369
+ ], EntityDefinitionResponseDto.prototype, "label", void 0);
370
+ _ts_decorate([
371
+ (0,class_transformer__rspack_import_2.Expose)(),
372
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
373
+ _ts_metadata("design:type", Object)
374
+ ], EntityDefinitionResponseDto.prototype, "description", void 0);
375
+ _ts_decorate([
376
+ (0,class_transformer__rspack_import_2.Expose)(),
377
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
378
+ _ts_metadata("design:type", String)
379
+ ], EntityDefinitionResponseDto.prototype, "tableName", void 0);
380
+ _ts_decorate([
381
+ (0,class_transformer__rspack_import_2.Expose)(),
382
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)({
383
+ enum: _enums_entity_status_enum_js__rspack_import_6/* .EntityStatus */.c
384
+ }),
385
+ _ts_metadata("design:type", typeof _enums_entity_status_enum_js__rspack_import_6/* .EntityStatus */.c === "undefined" ? Object : _enums_entity_status_enum_js__rspack_import_6/* .EntityStatus */.c)
386
+ ], EntityDefinitionResponseDto.prototype, "status", void 0);
387
+ _ts_decorate([
388
+ (0,class_transformer__rspack_import_2.Expose)(),
389
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
390
+ _ts_metadata("design:type", Number)
391
+ ], EntityDefinitionResponseDto.prototype, "schemaVersion", void 0);
392
+ _ts_decorate([
393
+ (0,class_transformer__rspack_import_2.Expose)(),
394
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
395
+ _ts_metadata("design:type", Boolean)
396
+ ], EntityDefinitionResponseDto.prototype, "isSoftDeleteEnabled", void 0);
397
+ _ts_decorate([
398
+ (0,class_transformer__rspack_import_2.Expose)(),
399
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
400
+ _ts_metadata("design:type", Boolean)
401
+ ], EntityDefinitionResponseDto.prototype, "isAuditEnabled", void 0);
402
+ _ts_decorate([
403
+ (0,class_transformer__rspack_import_2.Expose)(),
404
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
405
+ _ts_metadata("design:type", Object)
406
+ ], EntityDefinitionResponseDto.prototype, "uiConfig", void 0);
407
+
408
+ __webpack_require__.d(__webpack_exports__, {
409
+ Jd: () => (EntityFlowNamesDto),
410
+ Ot: () => (CreateDynamicEntityDto),
411
+ Pc: () => (EntityFlowTextsDto),
412
+ _e: () => (CreateEntityDefinitionDto),
413
+ ar: () => (EntityFieldSpecDto),
414
+ d_: () => (EntityDefinitionResponseDto),
415
+ et: () => (EntityFlowInputLabelsDto),
416
+ hL: () => (UpdateEntityDefinitionDto)
417
+ });
418
+
419
+
420
+ },
421
+ 2003(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
422
+ /* import */ var _flusys_nestjs_shared_dtos__rspack_import_0 = __webpack_require__(6873);
423
+ /* import */ var _nestjs_swagger__rspack_import_1 = __webpack_require__(6176);
424
+ /* import */ var class_transformer__rspack_import_2 = __webpack_require__(5812);
425
+ /* import */ var class_validator__rspack_import_3 = __webpack_require__(5421);
426
+ /* import */ var _config_entity_builder_constants_js__rspack_import_5 = __webpack_require__(6576);
427
+ /* import */ var _enums_field_type_enum_js__rspack_import_6 = __webpack_require__(9614);
428
+ /* import */ var _services_schema_columns_js__rspack_import_4 = __webpack_require__(5313);
429
+ function _ts_decorate(decorators, target, key, desc) {
430
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
431
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
432
+ r = Reflect.decorate(decorators, target, key, desc);
433
+ } else {
434
+ for(var i = decorators.length - 1; i >= 0; i--){
435
+ if (d = decorators[i]) {
436
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
437
+ }
438
+ }
439
+ }
440
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
441
+ }
442
+ function _ts_metadata(metadataKey, metadataValue) {
443
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
444
+ return Reflect.metadata(metadataKey, metadataValue);
445
+ }
446
+ }
447
+
448
+
449
+
450
+
451
+
452
+
453
+
454
+ /** `true` is refused on a field type that cannot carry an index (long text, JSON, multi select). */ function AllowedForFieldType() {
455
+ return (target, propertyName)=>(0,class_validator__rspack_import_3.registerDecorator)({
456
+ name: 'allowedForFieldType',
457
+ target: target.constructor,
458
+ propertyName,
459
+ validator: {
460
+ validate: (value, args)=>value !== true || (0,_services_schema_columns_js__rspack_import_4/* .isIndexableFieldType */.d4)(args.object.fieldType),
461
+ defaultMessage: (args)=>`${args.property} cannot be set on a ${args.object.fieldType} field`
462
+ }
463
+ });
464
+ }
465
+ class CreateFieldDefinitionDto {
466
+ entityDefinitionId;
467
+ code;
468
+ label;
469
+ fieldType;
470
+ nullable;
471
+ unique;
472
+ isIndexed;
473
+ defaultValue;
474
+ validationRules;
475
+ selectOptions;
476
+ relationTargetEntityId;
477
+ order;
478
+ uiConfig;
479
+ isSearchable;
480
+ }
481
+ _ts_decorate([
482
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)({
483
+ description: 'Parent entity definition ID'
484
+ }),
485
+ (0,class_validator__rspack_import_3.IsUUID)(),
486
+ (0,class_validator__rspack_import_3.IsNotEmpty)(),
487
+ _ts_metadata("design:type", String)
488
+ ], CreateFieldDefinitionDto.prototype, "entityDefinitionId", void 0);
489
+ _ts_decorate([
490
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)({
491
+ description: 'Field code - becomes the real column name',
492
+ example: 'priority',
493
+ maxLength: (/* inlined export .ENTITY_CODE_MAX_LENGTH */63)
494
+ }),
495
+ (0,class_validator__rspack_import_3.IsString)(),
496
+ (0,class_validator__rspack_import_3.IsNotEmpty)(),
497
+ (0,class_validator__rspack_import_3.MaxLength)((/* inlined export .ENTITY_CODE_MAX_LENGTH */63)),
498
+ (0,class_validator__rspack_import_3.Matches)(_config_entity_builder_constants_js__rspack_import_5/* .ENTITY_CODE_PATTERN */.vs, {
499
+ message: 'code must start with a lowercase letter and contain only lowercase letters, digits, and underscores'
500
+ }),
501
+ _ts_metadata("design:type", String)
502
+ ], CreateFieldDefinitionDto.prototype, "code", void 0);
503
+ _ts_decorate([
504
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)({
505
+ description: 'Human-readable label',
506
+ example: 'Priority'
507
+ }),
508
+ (0,class_validator__rspack_import_3.IsString)(),
509
+ (0,class_validator__rspack_import_3.IsNotEmpty)(),
510
+ (0,class_validator__rspack_import_3.MaxLength)(255),
511
+ _ts_metadata("design:type", String)
512
+ ], CreateFieldDefinitionDto.prototype, "label", void 0);
513
+ _ts_decorate([
514
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)({
515
+ description: 'Field data type',
516
+ enum: _enums_field_type_enum_js__rspack_import_6/* .FieldType */.P
517
+ }),
518
+ (0,class_validator__rspack_import_3.IsEnum)(_enums_field_type_enum_js__rspack_import_6/* .FieldType */.P),
519
+ _ts_metadata("design:type", typeof _enums_field_type_enum_js__rspack_import_6/* .FieldType */.P === "undefined" ? Object : _enums_field_type_enum_js__rspack_import_6/* .FieldType */.P)
520
+ ], CreateFieldDefinitionDto.prototype, "fieldType", void 0);
521
+ _ts_decorate([
522
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
523
+ description: 'Whether the column allows NULL',
524
+ default: true
525
+ }),
526
+ (0,class_validator__rspack_import_3.IsBoolean)(),
527
+ (0,class_validator__rspack_import_3.IsOptional)(),
528
+ _ts_metadata("design:type", Boolean)
529
+ ], CreateFieldDefinitionDto.prototype, "nullable", void 0);
530
+ _ts_decorate([
531
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
532
+ description: 'Whether the column has a unique constraint',
533
+ default: false
534
+ }),
535
+ (0,class_validator__rspack_import_3.IsBoolean)(),
536
+ AllowedForFieldType(),
537
+ (0,class_validator__rspack_import_3.IsOptional)(),
538
+ _ts_metadata("design:type", Boolean)
539
+ ], CreateFieldDefinitionDto.prototype, "unique", void 0);
540
+ _ts_decorate([
541
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
542
+ description: 'Whether the column is indexed (not for LONG_TEXT, JSON, MULTI_SELECT)',
543
+ default: false
544
+ }),
545
+ (0,class_validator__rspack_import_3.IsBoolean)(),
546
+ AllowedForFieldType(),
547
+ (0,class_validator__rspack_import_3.IsOptional)(),
548
+ _ts_metadata("design:type", Boolean)
549
+ ], CreateFieldDefinitionDto.prototype, "isIndexed", void 0);
550
+ _ts_decorate([
551
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
552
+ description: 'Default value stored as JSON'
553
+ }),
554
+ (0,class_validator__rspack_import_3.IsOptional)(),
555
+ _ts_metadata("design:type", Object)
556
+ ], CreateFieldDefinitionDto.prototype, "defaultValue", void 0);
557
+ _ts_decorate([
558
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
559
+ description: 'Value rules checked on every write (min/max, length, pattern...)'
560
+ }),
561
+ (0,class_validator__rspack_import_3.IsObject)(),
562
+ (0,class_validator__rspack_import_3.IsOptional)(),
563
+ _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
564
+ ], CreateFieldDefinitionDto.prototype, "validationRules", void 0);
565
+ _ts_decorate([
566
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
567
+ description: 'Options for SINGLE_SELECT/MULTI_SELECT fields'
568
+ }),
569
+ (0,class_validator__rspack_import_3.IsOptional)(),
570
+ _ts_metadata("design:type", Array)
571
+ ], CreateFieldDefinitionDto.prototype, "selectOptions", void 0);
572
+ _ts_decorate([
573
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
574
+ description: 'Target EntityDefinition ID for RELATION fields'
575
+ }),
576
+ (0,class_validator__rspack_import_3.IsUUID)(),
577
+ (0,class_validator__rspack_import_3.IsOptional)(),
578
+ _ts_metadata("design:type", String)
579
+ ], CreateFieldDefinitionDto.prototype, "relationTargetEntityId", void 0);
580
+ _ts_decorate([
581
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
582
+ description: 'Display order',
583
+ default: 0
584
+ }),
585
+ (0,class_validator__rspack_import_3.IsInt)(),
586
+ (0,class_validator__rspack_import_3.Min)(0),
587
+ (0,class_validator__rspack_import_3.IsOptional)(),
588
+ _ts_metadata("design:type", Number)
589
+ ], CreateFieldDefinitionDto.prototype, "order", void 0);
590
+ _ts_decorate([
591
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
592
+ description: 'UI designer configuration (JSON)'
593
+ }),
594
+ (0,class_validator__rspack_import_3.IsObject)(),
595
+ (0,class_validator__rspack_import_3.IsOptional)(),
596
+ _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
597
+ ], CreateFieldDefinitionDto.prototype, "uiConfig", void 0);
598
+ _ts_decorate([
599
+ (0,_nestjs_swagger__rspack_import_1.ApiPropertyOptional)({
600
+ description: 'Whether the field is searchable',
601
+ default: false
602
+ }),
603
+ (0,class_validator__rspack_import_3.IsBoolean)(),
604
+ (0,class_validator__rspack_import_3.IsOptional)(),
605
+ _ts_metadata("design:type", Boolean)
606
+ ], CreateFieldDefinitionDto.prototype, "isSearchable", void 0);
607
+ class UpdateFieldDefinitionDto extends (0,_nestjs_swagger__rspack_import_1.PartialType)(CreateFieldDefinitionDto) {
608
+ id;
609
+ }
610
+ _ts_decorate([
611
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)({
612
+ description: 'Field definition ID'
613
+ }),
614
+ (0,class_validator__rspack_import_3.IsUUID)(),
615
+ (0,class_validator__rspack_import_3.IsNotEmpty)(),
616
+ _ts_metadata("design:type", String)
617
+ ], UpdateFieldDefinitionDto.prototype, "id", void 0);
618
+ class FieldDefinitionResponseDto extends _flusys_nestjs_shared_dtos__rspack_import_0.IdentityResponseDto {
619
+ entityDefinitionId;
620
+ code;
621
+ label;
622
+ fieldType;
623
+ dbType;
624
+ nullable;
625
+ unique;
626
+ isIndexed;
627
+ defaultValue;
628
+ validationRules;
629
+ selectOptions;
630
+ relationTargetEntityId;
631
+ order;
632
+ uiConfig;
633
+ isSearchable;
634
+ isSystemField;
635
+ deprecatedAt;
636
+ }
637
+ _ts_decorate([
638
+ (0,class_transformer__rspack_import_2.Expose)(),
639
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
640
+ _ts_metadata("design:type", String)
641
+ ], FieldDefinitionResponseDto.prototype, "entityDefinitionId", void 0);
642
+ _ts_decorate([
643
+ (0,class_transformer__rspack_import_2.Expose)(),
644
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
645
+ _ts_metadata("design:type", String)
646
+ ], FieldDefinitionResponseDto.prototype, "code", void 0);
647
+ _ts_decorate([
648
+ (0,class_transformer__rspack_import_2.Expose)(),
649
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
650
+ _ts_metadata("design:type", String)
651
+ ], FieldDefinitionResponseDto.prototype, "label", void 0);
652
+ _ts_decorate([
653
+ (0,class_transformer__rspack_import_2.Expose)(),
654
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)({
655
+ enum: _enums_field_type_enum_js__rspack_import_6/* .FieldType */.P
656
+ }),
657
+ _ts_metadata("design:type", typeof _enums_field_type_enum_js__rspack_import_6/* .FieldType */.P === "undefined" ? Object : _enums_field_type_enum_js__rspack_import_6/* .FieldType */.P)
658
+ ], FieldDefinitionResponseDto.prototype, "fieldType", void 0);
659
+ _ts_decorate([
660
+ (0,class_transformer__rspack_import_2.Expose)(),
661
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
662
+ _ts_metadata("design:type", String)
663
+ ], FieldDefinitionResponseDto.prototype, "dbType", void 0);
664
+ _ts_decorate([
665
+ (0,class_transformer__rspack_import_2.Expose)(),
666
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
667
+ _ts_metadata("design:type", Boolean)
668
+ ], FieldDefinitionResponseDto.prototype, "nullable", void 0);
669
+ _ts_decorate([
670
+ (0,class_transformer__rspack_import_2.Expose)(),
671
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
672
+ _ts_metadata("design:type", Boolean)
673
+ ], FieldDefinitionResponseDto.prototype, "unique", void 0);
674
+ _ts_decorate([
675
+ (0,class_transformer__rspack_import_2.Expose)(),
676
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
677
+ _ts_metadata("design:type", Boolean)
678
+ ], FieldDefinitionResponseDto.prototype, "isIndexed", void 0);
679
+ _ts_decorate([
680
+ (0,class_transformer__rspack_import_2.Expose)(),
681
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
682
+ _ts_metadata("design:type", Object)
683
+ ], FieldDefinitionResponseDto.prototype, "defaultValue", void 0);
684
+ _ts_decorate([
685
+ (0,class_transformer__rspack_import_2.Expose)(),
686
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
687
+ _ts_metadata("design:type", Object)
688
+ ], FieldDefinitionResponseDto.prototype, "validationRules", void 0);
689
+ _ts_decorate([
690
+ (0,class_transformer__rspack_import_2.Expose)(),
691
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
692
+ _ts_metadata("design:type", Object)
693
+ ], FieldDefinitionResponseDto.prototype, "selectOptions", void 0);
694
+ _ts_decorate([
695
+ (0,class_transformer__rspack_import_2.Expose)(),
696
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
697
+ _ts_metadata("design:type", Object)
698
+ ], FieldDefinitionResponseDto.prototype, "relationTargetEntityId", void 0);
699
+ _ts_decorate([
700
+ (0,class_transformer__rspack_import_2.Expose)(),
701
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
702
+ _ts_metadata("design:type", Number)
703
+ ], FieldDefinitionResponseDto.prototype, "order", void 0);
704
+ _ts_decorate([
705
+ (0,class_transformer__rspack_import_2.Expose)(),
706
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
707
+ _ts_metadata("design:type", Object)
708
+ ], FieldDefinitionResponseDto.prototype, "uiConfig", void 0);
709
+ _ts_decorate([
710
+ (0,class_transformer__rspack_import_2.Expose)(),
711
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
712
+ _ts_metadata("design:type", Boolean)
713
+ ], FieldDefinitionResponseDto.prototype, "isSearchable", void 0);
714
+ _ts_decorate([
715
+ (0,class_transformer__rspack_import_2.Expose)(),
716
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
717
+ _ts_metadata("design:type", Boolean)
718
+ ], FieldDefinitionResponseDto.prototype, "isSystemField", void 0);
719
+ _ts_decorate([
720
+ (0,class_transformer__rspack_import_2.Expose)(),
721
+ (0,_nestjs_swagger__rspack_import_1.ApiProperty)(),
722
+ _ts_metadata("design:type", Object)
723
+ ], FieldDefinitionResponseDto.prototype, "deprecatedAt", void 0);
724
+
725
+ __webpack_require__.d(__webpack_exports__, {
726
+ C3: () => (UpdateFieldDefinitionDto),
727
+ C5: () => (FieldDefinitionResponseDto),
728
+ Vj: () => (CreateFieldDefinitionDto)
729
+ });
730
+
731
+
732
+ },
733
+ 4945(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
734
+ /* import */ var _nestjs_swagger__rspack_import_0 = __webpack_require__(6176);
735
+ /* import */ var class_transformer__rspack_import_1 = __webpack_require__(5812);
736
+ /* import */ var class_validator__rspack_import_2 = __webpack_require__(5421);
737
+ /* import */ var _config_entity_builder_constants_js__rspack_import_4 = __webpack_require__(6576);
738
+ /* import */ var _enums_entity_status_enum_js__rspack_import_6 = __webpack_require__(1313);
739
+ /* import */ var _enums_field_type_enum_js__rspack_import_5 = __webpack_require__(9614);
740
+ /* import */ var _entity_definition_dto_js__rspack_import_3 = __webpack_require__(680);
741
+ function _ts_decorate(decorators, target, key, desc) {
742
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
743
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
744
+ r = Reflect.decorate(decorators, target, key, desc);
745
+ } else {
746
+ for(var i = decorators.length - 1; i >= 0; i--){
747
+ if (d = decorators[i]) {
748
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
749
+ }
750
+ }
751
+ }
752
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
753
+ }
754
+ function _ts_metadata(metadataKey, metadataValue) {
755
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
756
+ return Reflect.metadata(metadataKey, metadataValue);
757
+ }
758
+ }
759
+
760
+
761
+
762
+
763
+
764
+
765
+
766
+ var SchemaChangeAction = /*#__PURE__*/ function(SchemaChangeAction) {
767
+ SchemaChangeAction["ADD_FIELD"] = "add_field";
768
+ SchemaChangeAction["UPDATE_FIELD"] = "update_field";
769
+ SchemaChangeAction["DEPRECATE_FIELD"] = "deprecate_field";
770
+ SchemaChangeAction["RESTORE_FIELD"] = "restore_field";
771
+ SchemaChangeAction["PURGE_FIELD"] = "purge_field";
772
+ SchemaChangeAction["UPDATE_ENTITY"] = "update_entity";
773
+ SchemaChangeAction["DROP_ENTITY"] = "drop_entity";
774
+ SchemaChangeAction["REPAIR"] = "repair";
775
+ return SchemaChangeAction;
776
+ }({});
777
+ /** Keys a caller may change on a field / entity - anything else is rejected, not ignored. */ const FIELD_CHANGE_KEYS = [
778
+ 'label',
779
+ 'code',
780
+ 'fieldType',
781
+ 'nullable',
782
+ 'unique',
783
+ 'isIndexed',
784
+ 'defaultValue',
785
+ 'validationRules',
786
+ 'selectOptions',
787
+ 'order',
788
+ 'uiConfig',
789
+ 'isSearchable',
790
+ 'relationTargetEntityId'
791
+ ];
792
+ const ENTITY_CHANGE_KEYS = [
793
+ 'label',
794
+ 'description',
795
+ 'uiConfig',
796
+ 'isSoftDeleteEnabled',
797
+ 'isAuditEnabled',
798
+ 'status'
799
+ ];
800
+ // `@IsOptional()` would also let `null` through; a property that cannot be null is only skipped when absent.
801
+ const Present = ()=>(0,class_validator__rspack_import_2.ValidateIf)((_object, value)=>value !== undefined);
802
+ const PresentAndNotNull = ()=>(0,class_validator__rspack_import_2.ValidateIf)((_object, value)=>value !== undefined && value !== null);
803
+ /** The values an `update_field` change may carry, each checked for its real type. */ class FieldChangesDto {
804
+ label;
805
+ code;
806
+ fieldType;
807
+ nullable;
808
+ unique;
809
+ isIndexed;
810
+ isSearchable;
811
+ defaultValue;
812
+ validationRules;
813
+ selectOptions;
814
+ order;
815
+ uiConfig;
816
+ relationTargetEntityId;
817
+ }
818
+ _ts_decorate([
819
+ Present(),
820
+ (0,class_validator__rspack_import_2.IsString)(),
821
+ (0,class_validator__rspack_import_2.IsNotEmpty)(),
822
+ (0,class_validator__rspack_import_2.MaxLength)(255),
823
+ _ts_metadata("design:type", String)
824
+ ], FieldChangesDto.prototype, "label", void 0);
825
+ _ts_decorate([
826
+ Present(),
827
+ (0,class_validator__rspack_import_2.IsString)(),
828
+ (0,class_validator__rspack_import_2.MaxLength)((/* inlined export .ENTITY_CODE_MAX_LENGTH */63)),
829
+ (0,class_validator__rspack_import_2.Matches)(_config_entity_builder_constants_js__rspack_import_4/* .ENTITY_CODE_PATTERN */.vs),
830
+ _ts_metadata("design:type", String)
831
+ ], FieldChangesDto.prototype, "code", void 0);
832
+ _ts_decorate([
833
+ Present(),
834
+ (0,class_validator__rspack_import_2.IsEnum)(_enums_field_type_enum_js__rspack_import_5/* .FieldType */.P),
835
+ _ts_metadata("design:type", typeof _enums_field_type_enum_js__rspack_import_5/* .FieldType */.P === "undefined" ? Object : _enums_field_type_enum_js__rspack_import_5/* .FieldType */.P)
836
+ ], FieldChangesDto.prototype, "fieldType", void 0);
837
+ _ts_decorate([
838
+ Present(),
839
+ (0,class_validator__rspack_import_2.IsBoolean)(),
840
+ _ts_metadata("design:type", Boolean)
841
+ ], FieldChangesDto.prototype, "nullable", void 0);
842
+ _ts_decorate([
843
+ Present(),
844
+ (0,class_validator__rspack_import_2.IsBoolean)(),
845
+ _ts_metadata("design:type", Boolean)
846
+ ], FieldChangesDto.prototype, "unique", void 0);
847
+ _ts_decorate([
848
+ Present(),
849
+ (0,class_validator__rspack_import_2.IsBoolean)(),
850
+ _ts_metadata("design:type", Boolean)
851
+ ], FieldChangesDto.prototype, "isIndexed", void 0);
852
+ _ts_decorate([
853
+ Present(),
854
+ (0,class_validator__rspack_import_2.IsBoolean)(),
855
+ _ts_metadata("design:type", Boolean)
856
+ ], FieldChangesDto.prototype, "isSearchable", void 0);
857
+ _ts_decorate([
858
+ PresentAndNotNull(),
859
+ (0,class_validator__rspack_import_2.IsObject)(),
860
+ _ts_metadata("design:type", Object)
861
+ ], FieldChangesDto.prototype, "validationRules", void 0);
862
+ _ts_decorate([
863
+ PresentAndNotNull(),
864
+ (0,class_validator__rspack_import_2.IsArray)(),
865
+ _ts_metadata("design:type", Object)
866
+ ], FieldChangesDto.prototype, "selectOptions", void 0);
867
+ _ts_decorate([
868
+ Present(),
869
+ (0,class_validator__rspack_import_2.IsInt)(),
870
+ (0,class_validator__rspack_import_2.Min)(0),
871
+ _ts_metadata("design:type", Number)
872
+ ], FieldChangesDto.prototype, "order", void 0);
873
+ _ts_decorate([
874
+ PresentAndNotNull(),
875
+ (0,class_validator__rspack_import_2.IsObject)(),
876
+ _ts_metadata("design:type", Object)
877
+ ], FieldChangesDto.prototype, "uiConfig", void 0);
878
+ _ts_decorate([
879
+ PresentAndNotNull(),
880
+ (0,class_validator__rspack_import_2.IsUUID)(),
881
+ _ts_metadata("design:type", Object)
882
+ ], FieldChangesDto.prototype, "relationTargetEntityId", void 0);
883
+ /** The values an `update_entity` change may carry. */ class EntityChangesDto {
884
+ label;
885
+ description;
886
+ uiConfig;
887
+ isSoftDeleteEnabled;
888
+ isAuditEnabled;
889
+ status;
890
+ }
891
+ _ts_decorate([
892
+ Present(),
893
+ (0,class_validator__rspack_import_2.IsString)(),
894
+ (0,class_validator__rspack_import_2.IsNotEmpty)(),
895
+ (0,class_validator__rspack_import_2.MaxLength)(255),
896
+ _ts_metadata("design:type", String)
897
+ ], EntityChangesDto.prototype, "label", void 0);
898
+ _ts_decorate([
899
+ PresentAndNotNull(),
900
+ (0,class_validator__rspack_import_2.IsString)(),
901
+ (0,class_validator__rspack_import_2.MaxLength)(500),
902
+ _ts_metadata("design:type", Object)
903
+ ], EntityChangesDto.prototype, "description", void 0);
904
+ _ts_decorate([
905
+ PresentAndNotNull(),
906
+ (0,class_validator__rspack_import_2.IsObject)(),
907
+ _ts_metadata("design:type", Object)
908
+ ], EntityChangesDto.prototype, "uiConfig", void 0);
909
+ _ts_decorate([
910
+ Present(),
911
+ (0,class_validator__rspack_import_2.IsBoolean)(),
912
+ _ts_metadata("design:type", Boolean)
913
+ ], EntityChangesDto.prototype, "isSoftDeleteEnabled", void 0);
914
+ _ts_decorate([
915
+ Present(),
916
+ (0,class_validator__rspack_import_2.IsBoolean)(),
917
+ _ts_metadata("design:type", Boolean)
918
+ ], EntityChangesDto.prototype, "isAuditEnabled", void 0);
919
+ _ts_decorate([
920
+ Present(),
921
+ (0,class_validator__rspack_import_2.IsIn)([
922
+ _enums_entity_status_enum_js__rspack_import_6/* .EntityStatus.ACTIVE */.c.ACTIVE,
923
+ _enums_entity_status_enum_js__rspack_import_6/* .EntityStatus.DEPRECATED */.c.DEPRECATED
924
+ ]),
925
+ _ts_metadata("design:type", typeof _enums_entity_status_enum_js__rspack_import_6/* .EntityStatus */.c === "undefined" ? Object : _enums_entity_status_enum_js__rspack_import_6/* .EntityStatus */.c)
926
+ ], EntityChangesDto.prototype, "status", void 0);
927
+ /**
928
+ * One structural change to an entity. Send to `plan-change` to preview it (real SQL, data
929
+ * checks, blockers, impacted flows) without changing anything, then to
930
+ * `apply-change` to run it.
931
+ */ class SchemaChangeRequestDto {
932
+ action;
933
+ entityDefinitionId;
934
+ fieldDefinitionId;
935
+ field;
936
+ changes;
937
+ backfillValue;
938
+ rewriteReferences;
939
+ confirmCode;
940
+ confirm;
941
+ expectedUpdatedAt;
942
+ }
943
+ _ts_decorate([
944
+ (0,_nestjs_swagger__rspack_import_0.ApiProperty)({
945
+ enum: SchemaChangeAction
946
+ }),
947
+ (0,class_validator__rspack_import_2.IsEnum)(SchemaChangeAction),
948
+ _ts_metadata("design:type", String)
949
+ ], SchemaChangeRequestDto.prototype, "action", void 0);
950
+ _ts_decorate([
951
+ (0,_nestjs_swagger__rspack_import_0.ApiPropertyOptional)({
952
+ description: 'Required for entity-level actions and add_field'
953
+ }),
954
+ (0,class_validator__rspack_import_2.IsUUID)(),
955
+ (0,class_validator__rspack_import_2.IsOptional)(),
956
+ _ts_metadata("design:type", String)
957
+ ], SchemaChangeRequestDto.prototype, "entityDefinitionId", void 0);
958
+ _ts_decorate([
959
+ (0,_nestjs_swagger__rspack_import_0.ApiPropertyOptional)({
960
+ description: 'Required for field-level actions'
961
+ }),
962
+ (0,class_validator__rspack_import_2.IsUUID)(),
963
+ (0,class_validator__rspack_import_2.IsOptional)(),
964
+ _ts_metadata("design:type", String)
965
+ ], SchemaChangeRequestDto.prototype, "fieldDefinitionId", void 0);
966
+ _ts_decorate([
967
+ (0,_nestjs_swagger__rspack_import_0.ApiPropertyOptional)({
968
+ type: _entity_definition_dto_js__rspack_import_3/* .EntityFieldSpecDto */.ar,
969
+ description: 'add_field: the field to add'
970
+ }),
971
+ (0,class_validator__rspack_import_2.ValidateNested)(),
972
+ (0,class_transformer__rspack_import_1.Type)(()=>_entity_definition_dto_js__rspack_import_3/* .EntityFieldSpecDto */.ar),
973
+ (0,class_validator__rspack_import_2.IsOptional)(),
974
+ _ts_metadata("design:type", typeof _entity_definition_dto_js__rspack_import_3/* .EntityFieldSpecDto */.ar === "undefined" ? Object : _entity_definition_dto_js__rspack_import_3/* .EntityFieldSpecDto */.ar)
975
+ ], SchemaChangeRequestDto.prototype, "field", void 0);
976
+ _ts_decorate([
977
+ (0,_nestjs_swagger__rspack_import_0.ApiPropertyOptional)({
978
+ description: 'update_field / update_entity: the properties to change'
979
+ }),
980
+ (0,class_validator__rspack_import_2.IsObject)(),
981
+ (0,class_validator__rspack_import_2.IsOptional)(),
982
+ _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
983
+ ], SchemaChangeRequestDto.prototype, "changes", void 0);
984
+ _ts_decorate([
985
+ (0,_nestjs_swagger__rspack_import_0.ApiPropertyOptional)({
986
+ description: 'Value written into existing records when a column becomes required'
987
+ }),
988
+ (0,class_validator__rspack_import_2.IsOptional)(),
989
+ _ts_metadata("design:type", Object)
990
+ ], SchemaChangeRequestDto.prototype, "backfillValue", void 0);
991
+ _ts_decorate([
992
+ (0,_nestjs_swagger__rspack_import_0.ApiPropertyOptional)({
993
+ description: 'Rename: rewrite the flows that use the old field code',
994
+ default: true
995
+ }),
996
+ (0,class_validator__rspack_import_2.IsBoolean)(),
997
+ (0,class_validator__rspack_import_2.IsOptional)(),
998
+ _ts_metadata("design:type", Boolean)
999
+ ], SchemaChangeRequestDto.prototype, "rewriteReferences", void 0);
1000
+ _ts_decorate([
1001
+ (0,_nestjs_swagger__rspack_import_0.ApiPropertyOptional)({
1002
+ description: 'purge_field / drop_entity: type the field/entity code to confirm'
1003
+ }),
1004
+ (0,class_validator__rspack_import_2.IsString)(),
1005
+ (0,class_validator__rspack_import_2.IsOptional)(),
1006
+ _ts_metadata("design:type", String)
1007
+ ], SchemaChangeRequestDto.prototype, "confirmCode", void 0);
1008
+ _ts_decorate([
1009
+ (0,_nestjs_swagger__rspack_import_0.ApiPropertyOptional)({
1010
+ description: 'Acknowledge a plan that loses data or information',
1011
+ default: false
1012
+ }),
1013
+ (0,class_validator__rspack_import_2.IsBoolean)(),
1014
+ (0,class_validator__rspack_import_2.IsOptional)(),
1015
+ _ts_metadata("design:type", Boolean)
1016
+ ], SchemaChangeRequestDto.prototype, "confirm", void 0);
1017
+ _ts_decorate([
1018
+ (0,_nestjs_swagger__rspack_import_0.ApiPropertyOptional)({
1019
+ description: 'Optimistic concurrency: the `updatedAt` of the definition the change was made on (the field for field actions, the entity otherwise), as loaded. A newer one answers 409 `entity_builder.schema.stale.definition`.',
1020
+ format: 'date-time'
1021
+ }),
1022
+ (0,class_validator__rspack_import_2.IsISO8601)(),
1023
+ (0,class_validator__rspack_import_2.IsOptional)(),
1024
+ _ts_metadata("design:type", String)
1025
+ ], SchemaChangeRequestDto.prototype, "expectedUpdatedAt", void 0);
1026
+ class SchemaCheckRequestDto {
1027
+ entityDefinitionId;
1028
+ }
1029
+ _ts_decorate([
1030
+ (0,_nestjs_swagger__rspack_import_0.ApiProperty)(),
1031
+ (0,class_validator__rspack_import_2.IsUUID)(),
1032
+ (0,class_validator__rspack_import_2.IsNotEmpty)(),
1033
+ _ts_metadata("design:type", String)
1034
+ ], SchemaCheckRequestDto.prototype, "entityDefinitionId", void 0);
1035
+
1036
+ __webpack_require__.d(__webpack_exports__, {
1037
+ M3: () => (SchemaChangeAction),
1038
+ OW: () => (EntityChangesDto),
1039
+ Pr: () => (FieldChangesDto),
1040
+ ct: () => (SchemaCheckRequestDto),
1041
+ ym: () => (SchemaChangeRequestDto)
1042
+ }, {
1043
+ Oi: ENTITY_CHANGE_KEYS,
1044
+ bD: FIELD_CHANGE_KEYS
1045
+ });
1046
+
1047
+
1048
+ },
1049
+ 6873(module) {
1050
+
1051
+ module.exports = __rspack_external__flusys_nestjs_shared_dtos_c4585026;
1052
+
1053
+
1054
+ },
1055
+ 6176(module) {
1056
+
1057
+ module.exports = __rspack_external__nestjs_swagger_7cd450b5;
1058
+
1059
+
1060
+ },
1061
+ 5812(module) {
1062
+
1063
+ module.exports = __rspack_external_class_transformer_c5a479fb;
1064
+
1065
+
1066
+ },
1067
+ 5421(module) {
1068
+
1069
+ module.exports = __rspack_external_class_validator_7b99ef4d;
1070
+
1071
+
1072
+ },
1073
+
1074
+ };