@creatio/base 0.830.0 → 0.832.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 (57) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/esm2022/lib/public/enums/aggregation-type.enum.mjs +10 -2
  3. package/esm2022/lib/public/enums/data-schema-type.enum.mjs +3 -2
  4. package/esm2022/lib/public/enums/data-value-type.enum.mjs +71 -2
  5. package/esm2022/lib/public/esq/data-model/columns/base-query-column.mjs +15 -1
  6. package/esm2022/lib/public/esq/data-model/columns/entity-column/entity-query-column.mjs +2 -1
  7. package/esm2022/lib/public/esq/data-model/columns/functions/aggregation-function-column.mjs +2 -2
  8. package/esm2022/lib/public/esq/data-model/columns/functions/date-part-function-column.mjs +3 -1
  9. package/esm2022/lib/public/esq/data-model/enums/aggregation-eval-type.enum.mjs +5 -2
  10. package/esm2022/lib/public/esq/data-model/enums/arithmetic-operation.enum.mjs +5 -2
  11. package/esm2022/lib/public/esq/data-model/enums/comparison-type.enum.mjs +12 -2
  12. package/esm2022/lib/public/esq/data-model/enums/date-part-type.enum.mjs +11 -2
  13. package/esm2022/lib/public/esq/data-model/enums/expression-type.enum.mjs +5 -1
  14. package/esm2022/lib/public/esq/data-model/enums/filter-type.enum.mjs +9 -1
  15. package/esm2022/lib/public/esq/data-model/enums/function-type.enum.mjs +8 -2
  16. package/esm2022/lib/public/esq/data-model/enums/logical-operator-type.enum.mjs +4 -2
  17. package/esm2022/lib/public/esq/data-model/enums/order-direction.enum.mjs +4 -2
  18. package/esm2022/lib/public/esq/data-model/enums/query-macros-type.enum.mjs +31 -2
  19. package/esm2022/lib/public/esq/data-model/expressions/arithmetic/arithmetic-expression.mjs +2 -1
  20. package/esm2022/lib/public/esq/data-model/expressions/base-expression.mjs +3 -1
  21. package/esm2022/lib/public/esq/data-model/expressions/columns/column-expression.mjs +2 -1
  22. package/esm2022/lib/public/esq/data-model/expressions/esq-expression.inteface.mjs +2 -0
  23. package/esm2022/lib/public/esq/data-model/expressions/functions/aggregation-function-expression.mjs +2 -1
  24. package/esm2022/lib/public/esq/data-model/expressions/functions/argument-function-expression.mjs +2 -1
  25. package/esm2022/lib/public/esq/data-model/expressions/functions/date-part-function-expression.mjs +2 -1
  26. package/esm2022/lib/public/esq/data-model/expressions/functions/function-expression.mjs +4 -1
  27. package/esm2022/lib/public/esq/data-model/expressions/functions/length-function-expression.mjs +2 -1
  28. package/esm2022/lib/public/esq/data-model/expressions/functions/macros-function-expression.mjs +3 -1
  29. package/esm2022/lib/public/esq/data-model/expressions/functions/window-function-expression.mjs +2 -1
  30. package/esm2022/lib/public/esq/data-model/expressions/parameters/parameter-expression.mjs +3 -1
  31. package/esm2022/lib/public/esq/data-model/filters/base-filter.mjs +8 -3
  32. package/esm2022/lib/public/esq/data-model/filters/between-filter.mjs +9 -1
  33. package/esm2022/lib/public/esq/data-model/filters/compare-filter.mjs +9 -2
  34. package/esm2022/lib/public/esq/data-model/filters/esq-filter.interface.mjs +2 -0
  35. package/esm2022/lib/public/esq/data-model/filters/exists-filter.mjs +7 -1
  36. package/esm2022/lib/public/esq/data-model/filters/filter-group.mjs +12 -2
  37. package/esm2022/lib/public/esq/data-model/filters/in-filter.mjs +9 -2
  38. package/esm2022/lib/public/esq/data-model/filters/index.mjs +2 -1
  39. package/esm2022/lib/public/esq/data-model/filters/isnull-filter.mjs +9 -3
  40. package/esm2022/lib/public/esq/data-model/filters/single-filter.mjs +2 -1
  41. package/esm2022/lib/public/esq/data-model/queries/base-query.mjs +24 -6
  42. package/esm2022/lib/public/esq/data-model/queries/delete-query.mjs +5 -2
  43. package/esm2022/lib/public/esq/data-model/queries/entity-schema-query.mjs +27 -7
  44. package/esm2022/lib/public/esq/data-model/queries/insert-query.mjs +5 -8
  45. package/esm2022/lib/public/esq/data-model/queries/update-query.mjs +5 -10
  46. package/esm2022/lib/public/models/lookup-value.model.mjs +1 -1
  47. package/esm2022/lib/public/services/model/data-schema-attribute.mjs +1 -1
  48. package/esm2022/lib/public/services/model/data-source-hierarchy-config.mjs +2 -0
  49. package/esm2022/lib/public/services/model/index.mjs +2 -1
  50. package/esm2022/lib/public/services/model/model-load-options.mjs +1 -1
  51. package/esm2022/lib/public/types/entity-column-value.mjs +1 -1
  52. package/esm2022/lib/public/types/guid.type.mjs +1 -1
  53. package/esm2022/lib/public/types/json-data.type.mjs +1 -1
  54. package/fesm2022/creatio-base.mjs +313 -47
  55. package/fesm2022/creatio-base.mjs.map +1 -1
  56. package/index.d.ts +408 -49
  57. package/package.json +18 -2
@@ -1,4 +1,4 @@
1
- import { classToPlain, Exclude, Expose } from 'class-transformer';
1
+ import { classToPlain, Exclude, Expose, instanceToPlain } from 'class-transformer';
2
2
  import { __decorate, __metadata } from 'tslib';
3
3
  import { isFunction } from 'lodash';
4
4
 
@@ -123,6 +123,57 @@ var ɵPlatformAPIs;
123
123
 
124
124
  /**
125
125
  * @public
126
+ * @generativeApi
127
+ * @description possible BE value types. Try to keep it same as {@link ɵEntityColumnValue}.
128
+ * 0 - Global unique identifier.
129
+ * 1 - String.
130
+ * 4 - Integer.
131
+ * 5 - Real number.
132
+ * 6 - Currency.
133
+ * 7 - Date and time.
134
+ * 8 - Date.
135
+ * 9 - Time.
136
+ * 10 - Lookup.
137
+ * 11 - Enumeration.
138
+ * 12 - Boolean.
139
+ * 13 - Binary data object.
140
+ * 14 - The object of image binary data.
141
+ * 15 - Custom object.
142
+ * 16 - Image from a lookup.
143
+ * 17 - Collection of items.
144
+ * 18 - Color.
145
+ * 19 - Localized string.
146
+ * 20 - Object (Entity).
147
+ * 21 - Collection of objects (EntityCollection).
148
+ * 22 - List of object column values (EntityColumnMappingCollection).
149
+ * 23 - Hash string.
150
+ * 24 - Encrypted string.
151
+ * 25 - File.
152
+ * 26 - Mapping.
153
+ * 27 - Short length text.
154
+ * 28 - Medium length text.
155
+ * 29 - Unlimited length text.
156
+ * 30 - Long length text.
157
+ * 31 - float1.
158
+ * 32 - float2.
159
+ * 33 - float3.
160
+ * 34 - float4.
161
+ * 35 - Localizable parameter values list.
162
+ * 36 - Process not localizable text.
163
+ * 37 - Stage indicator.
164
+ * 38 - Serializable list of values.
165
+ * 39 - Serializable list of composite values.
166
+ * 40 - float8.
167
+ * 41 - File.
168
+ * 42 - Phone.
169
+ * 43 - Text with formating tags.
170
+ * 44 - Web link.
171
+ * 45 - Email.
172
+ * 46 - Composite object.
173
+ * 47 - Float0.
174
+ * 48 - Currency0.
175
+ * 49 - Currency1.
176
+ * 50 - Currency3.
126
177
  * Types of values.
127
178
  */
128
179
  var ɵDataValueType;
@@ -148,7 +199,9 @@ var ɵDataValueType;
148
199
  */
149
200
  ɵDataValueType[ɵDataValueType["Money"] = 6] = "Money";
150
201
  /**
151
- * @description Date and time.
202
+ * @description Date and time. if used this type of a value, then value should consist of two parts:
203
+ * "dateValue": "ISO 8601 date string",
204
+ * "value": "\"ISO 8601 date string\""
152
205
  */
153
206
  ɵDataValueType[ɵDataValueType["DateTime"] = 7] = "DateTime";
154
207
  /**
@@ -289,11 +342,35 @@ var ɵDataValueType;
289
342
  */
290
343
  ɵDataValueType[ɵDataValueType["EMAIL_TEXT"] = 45] = "EMAIL_TEXT";
291
344
  ɵDataValueType[ɵDataValueType["COMPOSITE_OBJECT"] = 46] = "COMPOSITE_OBJECT";
345
+ /**
346
+ * @description Float0.
347
+ */
348
+ ɵDataValueType[ɵDataValueType["FLOAT0"] = 47] = "FLOAT0";
349
+ /**
350
+ * @description Currency0.
351
+ */
352
+ ɵDataValueType[ɵDataValueType["MONEY0"] = 48] = "MONEY0";
353
+ /**
354
+ * @description Currency1.
355
+ */
356
+ ɵDataValueType[ɵDataValueType["MONEY1"] = 49] = "MONEY1";
357
+ /**
358
+ * @description Currency3.
359
+ */
360
+ ɵDataValueType[ɵDataValueType["MONEY3"] = 50] = "MONEY3";
292
361
  })(ɵDataValueType || (ɵDataValueType = {}));
293
362
 
294
363
  /**
295
364
  * @public
296
- * The type of the aggregation (can be set to None).
365
+ * @generativeApi
366
+ * @description The type of aggregation function used in queries and data operations.
367
+ * 0 - None (No aggregation),
368
+ * 1 - Count (Count records - can be used with any column type),
369
+ * 2 - Sum (Total of values - numeric columns only),
370
+ * 3 - Avg (Average value - numeric columns only),
371
+ * 4 - Min (Minimum value - numeric and date columns),
372
+ * 5 - Max (Maximum value - numeric and date columns),
373
+ * 6 - TopOne (First record - any column type)
297
374
  */
298
375
  var ɵAggregationType;
299
376
  (function (ɵAggregationType) {
@@ -365,7 +442,8 @@ var ɵAggregationFunction;
365
442
 
366
443
  /**
367
444
  * @public
368
- * @decription Type of DataSchema. In combination with the name is used for unique identification of {@link ɵDataSchema}.
445
+ * @description Type of DataSchema.
446
+ * In combination with the name is used for unique identification of {@link ɵDataSchema}.
369
447
  */
370
448
  var ɵDataSchemaType;
371
449
  (function (ɵDataSchemaType) {
@@ -469,7 +547,10 @@ var eAdminUnitRoleSources;
469
547
 
470
548
  /**
471
549
  * @public
472
- * @description Scope of the aggregation function.
550
+ * @generativeApi
551
+ * @description Defines the scope or evaluation mode for aggregation functions.
552
+ * 0 - None (No specific scope defined), 1 - All (Includes all values including duplicates),
553
+ * 2 - Distinct (Only unique values, eliminates duplicates)
473
554
  */
474
555
  var ɵAggregationEvalType;
475
556
  (function (ɵAggregationEvalType) {
@@ -489,7 +570,10 @@ var ɵAggregationEvalType;
489
570
 
490
571
  /**
491
572
  * @public
492
- * @description Arithmetic operation.
573
+ * @generativeApi
574
+ * @description Represents arithmetic operations that can be performed in queries and expressions.
575
+ * 0 - Addition (Adds values), 1 - Subtraction (Subtracts values),
576
+ * 2 - Multiplication (Multiplies values), 3 - Division (Divides values)
493
577
  */
494
578
  var ɵArithmeticOperation;
495
579
  (function (ɵArithmeticOperation) {
@@ -513,7 +597,16 @@ var ɵArithmeticOperation;
513
597
 
514
598
  /**
515
599
  * @public
516
- * @description The type of comparison operation in the filter.
600
+ * @generativeApi
601
+ * @description The type of comparison operation used in filters and query conditions.
602
+ 1 - Is_null (Value is null), 2 - Is_not_null (Value is not null),
603
+ * 3 - Equal (Value equals), 4 - Not_equal (Value doesn't equal), 5 - Less (Value is less than),
604
+ * 6 - Less_or_equal (Value is less than or equal), 7 - Greater (Value is greater than),
605
+ * 8 - Greater_or_equal (Value is greater than or equal), 9 - Start_with (Value starts with string),
606
+ * 10 - Not_start_with (Value doesn't start with string), 11 - Contain (Value contains string),
607
+ * 12 - Not_contain (Value doesn't contain string), 13 - End_with (Value ends with string),
608
+ * 14 - Not_end_with (Value doesn't end with string), 15 - Exists (Value exists),
609
+ * 16 - Not_exists (Value doesn't exist)
517
610
  */
518
611
  /* eslint-disable @typescript-eslint/naming-convention */
519
612
  var ɵComparisonType;
@@ -521,6 +614,7 @@ var ɵComparisonType;
521
614
  /**
522
615
  * @public
523
616
  * @description Value is between two specified values.
617
+ * @hidden
524
618
  */
525
619
  ɵComparisonType[ɵComparisonType["Between"] = 0] = "Between";
526
620
  /**
@@ -607,7 +701,16 @@ var ɵComparisonType;
607
701
 
608
702
  /**
609
703
  * @public
610
- * @description Part of the date.
704
+ * @generativeApi
705
+ * @description Defines possible parts of the date.
706
+ * 0 - Empty value.
707
+ * 1 - Day.
708
+ * 2 - Week.
709
+ * 3 - Month.
710
+ * 4 - Year.
711
+ * 5 - Day of the week.
712
+ * 6 - Hour.
713
+ * 7 - Minute.
611
714
  */
612
715
  var ɵDatePartType;
613
716
  (function (ɵDatePartType) {
@@ -647,7 +750,11 @@ var ɵDatePartType;
647
750
 
648
751
  /**
649
752
  * @public
753
+ * @generativeApi
650
754
  * @description Type of expression.
755
+ * 0 - SchemaColumn (Reference to a data column), 1 - Function (Function call expression),
756
+ * 2 - Parameter (Parameter value), 3 - SubQuery (Nested query expression),
757
+ * 4 - ArithmeticOperation (Mathematical operation)
651
758
  */
652
759
  var ɵExpressionType;
653
760
  (function (ɵExpressionType) {
@@ -676,6 +783,12 @@ var ɵExpressionType;
676
783
  /**
677
784
  * @public
678
785
  * @description The type of filter.
786
+ * - 0 None, No filter applied.
787
+ * - 1 Compare, Comparison filter (e.g., equal to, greater than).
788
+ * - 2 IsNull, Checks if a value is null.
789
+ * - 4 In, Checks if a value is in a specified set of values.
790
+ * - 5 Exists, Checks if a value exists.
791
+ * - 6 FilterGroup, A group of filters combined with logical operators (AND, OR).
679
792
  */
680
793
  var ɵFilterType;
681
794
  (function (ɵFilterType) {
@@ -697,6 +810,8 @@ var ɵFilterType;
697
810
  /**
698
811
  * @public
699
812
  * @description Checks if a value is between two specified values.
813
+ * should be used with {@link ɵBetweenFilter}
814
+ * @hidden
700
815
  */
701
816
  ɵFilterType[ɵFilterType["Between"] = 3] = "Between";
702
817
  /**
@@ -718,7 +833,13 @@ var ɵFilterType;
718
833
 
719
834
  /**
720
835
  * @public
721
- * @description The type of function in the filter.
836
+ * @generativeApi
837
+ * @description The type of function in the filter, or in the aggregation function
838
+ * 0 - None (Function type not defined), 1 - Macros (Substitution by macro),
839
+ * 2 - Aggregation (Aggregating function), 3 - DatePart (Date fragment),
840
+ * 4 - Length (Size of value in bytes), 5 - Window (Window query function),
841
+ * 6 - DateAdd (Date addition), 7 - DateDiff (Date difference).
842
+ * if used in aggregation function, use 2 by default.
722
843
  */
723
844
  var ɵFunctionType;
724
845
  (function (ɵFunctionType) {
@@ -758,7 +879,9 @@ var ɵFunctionType;
758
879
 
759
880
  /**
760
881
  * @public
761
- * @description The type of logical operation.
882
+ * @generativeApi
883
+ * @description The type of logical operation used to combine multiple conditions in filters.
884
+ * 0 - And (All conditions must be true), 1 - Or (At least one condition must be true)
762
885
  */
763
886
  var ɵLogicalOperatorType;
764
887
  (function (ɵLogicalOperatorType) {
@@ -774,7 +897,9 @@ var ɵLogicalOperatorType;
774
897
 
775
898
  /**
776
899
  * @public
777
- * @description Sort order (can be set to None).
900
+ * @generativeApi
901
+ * @description Specifies the sort direction for query results.
902
+ * 0 - None (No specific ordering), 1 - Asc (Ascending order, A-Z, 0-9), 2 - Desc (Descending order, Z-A, 9-0)
778
903
  */
779
904
  var ɵOrderDirection;
780
905
  (function (ɵOrderDirection) {
@@ -794,7 +919,36 @@ var ɵOrderDirection;
794
919
 
795
920
  /**
796
921
  * @public
797
- * @description The type of macros.
922
+ * @generativeApi
923
+ * @description Defines the types of macros that can be used in queries.
924
+ * 0 - None (No macro), 1 - CurrentUser (Current user ID), 2 - CurrentUserContact (User's contact),
925
+ * 3 - Yesterday (Previous day), 4 - Today (Current day), 5 - Tomorrow (Next day),
926
+ * 6 - PreviousWeek (Last week), 7 - CurrentWeek (This week), 8 - NextWeek (Coming week),
927
+ * 9 - PreviousMonth (Last month), 10 - CurrentMonth (This month), 11 - NextMonth (Coming month)
928
+ * 12 - Previous quarter.
929
+ * 13 - Current quarter.
930
+ * 14 - Next quarter.
931
+ * 15 - Previous half of the year.
932
+ * 16 - Current half-year.
933
+ * 17 - Next half-year.
934
+ * 18 - Last year.
935
+ * 19 - This year.
936
+ * 20 - Previous hour.
937
+ * 21 - Current hour.
938
+ * 22 - Next hour.
939
+ * 23 - Next year.
940
+ * 24 - Next N Days.
941
+ * 25 - Previous N days.
942
+ * 26 - Next N hours.
943
+ * 27 - Previous N hours.
944
+ * 34 - Primary column.
945
+ * 35 - Primary displayed column.
946
+ * 36 - Primary image display column.
947
+ * 37 - Anniversary today.
948
+ * 38 - Anniversary on the date computed as today plus days offset.
949
+ * 39 - Anniversary on the next several days.
950
+ * 40 - Anniversary on the previous several days.
951
+ * 41 - Primary color display column.
798
952
  */
799
953
  var ɵQueryMacrosType;
800
954
  (function (ɵQueryMacrosType) {
@@ -946,6 +1100,7 @@ var ɵQueryMacrosType;
946
1100
 
947
1101
  /**
948
1102
  * @public
1103
+ * @generativeApi
949
1104
  * @abstract
950
1105
  * @description The base class of the expression.
951
1106
  * @extends {ɵSerializable}
@@ -976,6 +1131,7 @@ class ɵBaseExpression {
976
1131
  constructor(config) {
977
1132
  /**
978
1133
  * @description True if expression has brackets.
1134
+ * @default false
979
1135
  */
980
1136
  this.isBlock = false;
981
1137
  this.isBlock = config?.isBlock;
@@ -1013,6 +1169,7 @@ class ɵBaseExpression {
1013
1169
 
1014
1170
  /**
1015
1171
  * @public
1172
+ * @genearativeApi
1016
1173
  * @description Arithmetic expression.
1017
1174
  * @extends {ɵBaseExpression}
1018
1175
  */
@@ -1071,6 +1228,7 @@ class ɵArithmeticExpression extends ɵBaseExpression {
1071
1228
 
1072
1229
  /**
1073
1230
  * @public
1231
+ * @generativeApi
1074
1232
  * @description A class that defines an expression of type column EntitySchema.
1075
1233
  * @extends {ɵBaseExpression}
1076
1234
  */
@@ -1142,7 +1300,9 @@ class ɵBaseExpressionParser {
1142
1300
  /**
1143
1301
  * @public
1144
1302
  * @abstract
1303
+ * @generativeApi
1145
1304
  * @description A class that describes a functional expression.
1305
+ * Functional expressions are evaluated on BE to produce a value based on the function type.
1146
1306
  * @extends {ɵFunctionExpression}
1147
1307
  */
1148
1308
  class ɵFunctionExpression extends ɵBaseExpression {
@@ -1162,6 +1322,7 @@ class ɵFunctionExpression extends ɵBaseExpression {
1162
1322
  super(config);
1163
1323
  /**
1164
1324
  * @description Expression type. Default 'Function'.
1325
+ * @default 1.
1165
1326
  */
1166
1327
  this.expressionType = ɵExpressionType.Function;
1167
1328
  }
@@ -1170,6 +1331,7 @@ class ɵFunctionExpression extends ɵBaseExpression {
1170
1331
  /**
1171
1332
  * @public
1172
1333
  * @abstract
1334
+ * @generativeApi
1173
1335
  * @description A class that describes a functional expression with argument.
1174
1336
  * @extends {ɵFunctionExpression}
1175
1337
  */
@@ -1208,6 +1370,7 @@ class ɵArgumentFunctionExpression extends ɵFunctionExpression {
1208
1370
 
1209
1371
  /**
1210
1372
  * @public
1373
+ * @generativeApi
1211
1374
  * @description A class that describes expression with aggregate function.
1212
1375
  * @extends {ɵArgumentFunctionExpression}
1213
1376
  */
@@ -1256,6 +1419,7 @@ class ɵAggregationFunctionExpression extends ɵArgumentFunctionExpression {
1256
1419
 
1257
1420
  /**
1258
1421
  * @public
1422
+ * @gererativeApi
1259
1423
  * @description A class that describes expression part of date function.
1260
1424
  * @extends {ɵArgumentFunctionExpression}
1261
1425
  */
@@ -1297,6 +1461,7 @@ class ɵDatePartFunctionExpression extends ɵArgumentFunctionExpression {
1297
1461
 
1298
1462
  /**
1299
1463
  * @public
1464
+ * @generativeApi
1300
1465
  * @description A class that describes expression with length function.
1301
1466
  * @extends {ɵArgumentFunctionExpression}
1302
1467
  */
@@ -1338,6 +1503,7 @@ class ɵLengthFunctionExpression extends ɵArgumentFunctionExpression {
1338
1503
 
1339
1504
  /**
1340
1505
  * @public
1506
+ * @generativeApi
1341
1507
  * @description A class that describes expression with macros function.
1342
1508
  * @extends {ɵFunctionExpression}
1343
1509
  */
@@ -1358,6 +1524,7 @@ class ɵMacrosFunctionExpression extends ɵFunctionExpression {
1358
1524
  super(config);
1359
1525
  /**
1360
1526
  * @description Function type. Default 'Macros'.
1527
+ * @default 1
1361
1528
  */
1362
1529
  this.functionType = ɵFunctionType.Macros;
1363
1530
  this.macrosType = config?.macrosType;
@@ -1389,6 +1556,7 @@ class ɵMacrosFunctionExpression extends ɵFunctionExpression {
1389
1556
 
1390
1557
  /**
1391
1558
  * @public
1559
+ * @generativeApi
1392
1560
  * @description A class that describes expression with window function.
1393
1561
  * @extends {ɵArgumentFunctionExpression}
1394
1562
  */
@@ -1428,7 +1596,9 @@ class ɵWindowFunctionExpression extends ɵArgumentFunctionExpression {
1428
1596
 
1429
1597
  /**
1430
1598
  * @public
1599
+ * @generativeApi
1431
1600
  * @description The class that defines the parametric expression.
1601
+ * It means that result of this expression is a parameter value.
1432
1602
  * @extends {ɵBaseExpression}
1433
1603
  */
1434
1604
  class ɵParameterExpression extends ɵBaseExpression {
@@ -1537,10 +1707,13 @@ __decorate([
1537
1707
  __metadata("design:type", Number)
1538
1708
  ], ɵParameterExpression.prototype, "dataValueType", void 0);
1539
1709
 
1710
+ /* Do not enable this rule because of issue https://github.com/vega/ts-json-schema-generator/issues/1531 */
1711
+ /* eslint-disable @typescript-eslint/no-inferrable-types */
1540
1712
  /**
1541
1713
  * @public
1542
1714
  * @abstract
1543
- * @description The base class of the filter.
1715
+ * @generativeApi
1716
+ * @description Base class for all filters in the system.
1544
1717
  * @extends {ɵSerializable}
1545
1718
  */
1546
1719
  class ɵBaseFilter {
@@ -1569,10 +1742,12 @@ class ɵBaseFilter {
1569
1742
  constructor(filterType) {
1570
1743
  /**
1571
1744
  * @description Indicates that the filter is active and will be taken into account when building the query.
1745
+ * @default true
1572
1746
  */
1573
1747
  this.isEnabled = true;
1574
1748
  /**
1575
- * @description Drop the time for the date / time type parameters.
1749
+ * @description Drop the time for the date / time type parameters. In FilterGroup this option is not supported.
1750
+ * @default false
1576
1751
  */
1577
1752
  this.trimDateTimeParameterToDate = false;
1578
1753
  this.filterType = filterType;
@@ -1606,6 +1781,7 @@ class ɵBaseFilter {
1606
1781
 
1607
1782
  /**
1608
1783
  * @public
1784
+ * @generativeApi
1609
1785
  * @description Basic filter class with one condition.
1610
1786
  * @extends {ɵBaseFilter}
1611
1787
  */
@@ -1644,7 +1820,10 @@ class ɵSingleFilter extends ɵBaseFilter {
1644
1820
 
1645
1821
  /**
1646
1822
  * @public
1823
+ * generativeApi
1647
1824
  * @description Filter class of the "Between" type.
1825
+ * It contains RightLessExpression and RightGreaterExpression,
1826
+ * which represent the boundaries of values for filtering.
1648
1827
  * @extends {ɵSingleFilter}
1649
1828
  */
1650
1829
  class ɵBetweenFilter extends ɵSingleFilter {
@@ -1662,6 +1841,11 @@ class ɵBetweenFilter extends ɵSingleFilter {
1662
1841
  }
1663
1842
  constructor(leftExpression, rightLessExpression, rightGreaterExpression) {
1664
1843
  super(ɵFilterType.Between, ɵComparisonType.Between, leftExpression);
1844
+ /**
1845
+ * @description Type of filter.
1846
+ * @default 3
1847
+ * */
1848
+ this.filterType = ɵFilterType.Between;
1665
1849
  this.rightLessExpression = rightLessExpression?.clone();
1666
1850
  this.rightGreaterExpression = rightGreaterExpression?.clone();
1667
1851
  }
@@ -1700,7 +1884,9 @@ class ɵBetweenFilter extends ɵSingleFilter {
1700
1884
 
1701
1885
  /**
1702
1886
  * @public
1703
- * @description Comparison filter class.
1887
+ * @generativeApi
1888
+ * @description Filter class for comparing two expressions. leftExpression describes column from the schema,
1889
+ * by which the comparison is made, rightExpression describes the value to which the column is compared.
1704
1890
  * @extends {ɵSingleFilter}
1705
1891
  */
1706
1892
  class ɵCompareFilter extends ɵSingleFilter {
@@ -1718,6 +1904,11 @@ class ɵCompareFilter extends ɵSingleFilter {
1718
1904
  }
1719
1905
  constructor(comparisonType, leftExpression, rightExpression) {
1720
1906
  super(ɵFilterType.Compare, comparisonType, leftExpression);
1907
+ /**
1908
+ * @description Type of filter.
1909
+ * @default 1
1910
+ */
1911
+ this.filterType = ɵFilterType.Compare;
1721
1912
  this.rightExpression = rightExpression?.clone();
1722
1913
  }
1723
1914
  /**
@@ -1750,6 +1941,7 @@ class ɵCompareFilter extends ɵSingleFilter {
1750
1941
 
1751
1942
  /**
1752
1943
  * @public
1944
+ * @generativeApi
1753
1945
  * @description The comparison filter class [Exists according to the specified condition].
1754
1946
  * @extends {ɵSingleFilter}
1755
1947
  */
@@ -1768,6 +1960,11 @@ class ɵExistsFilter extends ɵSingleFilter {
1768
1960
  }
1769
1961
  constructor(leftExpression, subFilters, comparisonType = ɵComparisonType.Exists, isAggregative = true) {
1770
1962
  super(ɵFilterType.Exists, comparisonType, leftExpression);
1963
+ /**
1964
+ * @description Type of filter.
1965
+ * @default 5
1966
+ */
1967
+ this.filterType = ɵFilterType.Exists;
1771
1968
  this.subFilters = subFilters?.clone();
1772
1969
  this.isAggregative = isAggregative;
1773
1970
  }
@@ -1812,7 +2009,9 @@ class ɵExistsFilter extends ɵSingleFilter {
1812
2009
 
1813
2010
  /**
1814
2011
  * @public
1815
- * @description In-Filter Class
2012
+ * @generativeApi
2013
+ * @description Filter that checks if the value of {@link #leftExpression} is satisfied
2014
+ * by each of expressions in the array of {@link #rightExpressions}.
1816
2015
  * @extends {ɵSingleFilter}
1817
2016
  */
1818
2017
  class ɵInFilter extends ɵSingleFilter {
@@ -1830,6 +2029,11 @@ class ɵInFilter extends ɵSingleFilter {
1830
2029
  }
1831
2030
  constructor(comparisonType, leftExpression, rightExpressions) {
1832
2031
  super(ɵFilterType.In, comparisonType, leftExpression);
2032
+ /**
2033
+ * @description Type of filter. 4 means filter of type "In".
2034
+ * @default 4
2035
+ */
2036
+ this.filterType = ɵFilterType.In;
1833
2037
  this.rightExpressions = rightExpressions.map((expression) => expression?.clone()) ?? [];
1834
2038
  }
1835
2039
  /**
@@ -1867,7 +2071,8 @@ class ɵInFilter extends ɵSingleFilter {
1867
2071
 
1868
2072
  /**
1869
2073
  * @public
1870
- * @description IsNull filter Class
2074
+ * @generativeApi
2075
+ * @description Filter that checks if the value of {@link #leftExpression} equals to null or not.
1871
2076
  * @extends {ɵSingleFilter}
1872
2077
  */
1873
2078
  class ɵIsNullFilter extends ɵSingleFilter {
@@ -1877,7 +2082,7 @@ class ɵIsNullFilter extends ɵSingleFilter {
1877
2082
  */
1878
2083
  static { this._instanceOfKey = 'devkit_IsNullFilter'; }
1879
2084
  /**
1880
- * @internal
2085
+ * @internale
1881
2086
  * @dontChange
1882
2087
  */
1883
2088
  static get _instanceOfKeys() {
@@ -1888,6 +2093,11 @@ class ɵIsNullFilter extends ɵSingleFilter {
1888
2093
  console.warn(`Invalid comparison type: ${ɵComparisonType[comparisonType]} in IsNullFilter.`);
1889
2094
  }
1890
2095
  super(ɵFilterType.IsNull, ɵIsNullFilter._getComparisonType(comparisonType), leftExpression);
2096
+ /**
2097
+ * @description Type of filter.
2098
+ * @default 2
2099
+ */
2100
+ this.filterType = ɵFilterType.IsNull;
1891
2101
  /**
1892
2102
  * @description Flag that indicates if expression is empty or not.
1893
2103
  */
@@ -2097,7 +2307,10 @@ class ɵFilterGroup extends ɵBaseFilter {
2097
2307
  }
2098
2308
  /**
2099
2309
  * @public
2100
- * @description Return collecion of deserialized filters.
2310
+ * @description Returns collection of child filters or filter groups.
2311
+ * Each item is a key-value pair,
2312
+ * where the key is autogenerated or user-defined name, and value - filter or a filter group
2313
+ * @default {}
2101
2314
  */
2102
2315
  get items() {
2103
2316
  const result = {};
@@ -2108,8 +2321,14 @@ class ɵFilterGroup extends ɵBaseFilter {
2108
2321
  }
2109
2322
  constructor(logicalOperation = ɵLogicalOperatorType.And, rootSchemaName) {
2110
2323
  super(ɵFilterType.FilterGroup);
2324
+ /**
2325
+ * @description Type of filter.
2326
+ * @default 6
2327
+ */
2328
+ this.filterType = ɵFilterType.FilterGroup;
2111
2329
  /**
2112
2330
  * @public
2331
+ * @hidden
2113
2332
  * @description Collection of child filters.
2114
2333
  */
2115
2334
  this.filters = new Map();
@@ -2639,9 +2858,12 @@ function ɵgetFilterPlainObj(filterPlainObj) {
2639
2858
  };
2640
2859
  }
2641
2860
 
2861
+ /* Do not enable this rule because of issue https://github.com/vega/ts-json-schema-generator/issues/1531 */
2862
+ /* eslint-disable @typescript-eslint/no-inferrable-types */
2642
2863
  /**
2643
2864
  * @public
2644
2865
  * @abstract
2866
+ * @generativeApi
2645
2867
  * @classdesc Class contains info about column for query.
2646
2868
  */
2647
2869
  class ɵBaseQueryColumn {
@@ -2700,6 +2922,16 @@ class ɵBaseQueryColumn {
2700
2922
  _getUsedColumns() {
2701
2923
  return this.expression._getUsedColumns();
2702
2924
  }
2925
+ /**
2926
+ * @internal
2927
+ * @description Converts instance to json object.
2928
+ */
2929
+ toJson() {
2930
+ return instanceToPlain(this, {
2931
+ exposeUnsetFields: false,
2932
+ excludePrefixes: ['_'],
2933
+ });
2934
+ }
2703
2935
  }
2704
2936
 
2705
2937
  /**
@@ -2716,6 +2948,7 @@ class ɵArithmeticQueryColumn extends ɵBaseQueryColumn {
2716
2948
 
2717
2949
  /**
2718
2950
  * @public
2951
+ * @generativeApi
2719
2952
  * @classdesc Class contains info about common column from entity.
2720
2953
  * @extends {ɵBaseQueryColumn}
2721
2954
  */
@@ -2770,7 +3003,7 @@ class ɵSubQueryColumn extends ɵBaseQueryColumn {
2770
3003
 
2771
3004
  /**
2772
3005
  * @public
2773
- * @classdesc Class contains info about column with aggregation function.
3006
+ * @description Class contains info about column with aggregation function.
2774
3007
  * @extends {ɵBaseQueryColumn}
2775
3008
  */
2776
3009
  class ɵAggregationFunctionColumn extends ɵBaseQueryColumn {
@@ -2786,7 +3019,9 @@ class ɵAggregationFunctionColumn extends ɵBaseQueryColumn {
2786
3019
 
2787
3020
  /**
2788
3021
  * @public
3022
+ * @generativeApi
2789
3023
  * @classdesc Class contains info about column with date part.
3024
+ * @description Class contains info about column with date part.
2790
3025
  * @extends {ɵBaseQueryColumn}
2791
3026
  */
2792
3027
  class ɵDatePartFunctionColumn extends ɵBaseQueryColumn {
@@ -2866,20 +3101,37 @@ function ɵgetColumnPlainObj(expressionPlainObj) {
2866
3101
  * @description The base class of the data request. Implements {@link ɵMetadataProvider}
2867
3102
  */
2868
3103
  class ɵBaseQuery {
2869
- // region Constructors: Protected
3104
+ get queryDtoType() {
3105
+ return this._queryDtoType;
3106
+ }
2870
3107
  constructor(operationType, rootSchemaName) {
2871
3108
  this.operationType = operationType;
2872
3109
  this.rootSchemaName = rootSchemaName;
2873
3110
  ɵValidationUtilities.checkArgumentEmpty('_operationType', operationType);
2874
3111
  ɵValidationUtilities.checkArgumentEmpty('_rootSchemaName', rootSchemaName);
2875
3112
  }
2876
- // endregion
2877
- // region Methods: Public
2878
3113
  /** {@inheritDoc ɵMetadataProvider.getMetadata} */
2879
3114
  getMetadata() {
2880
- return classToPlain(this, { exposeUnsetFields: false, excludePrefixes: ['_'] });
3115
+ return instanceToPlain(this, { exposeUnsetFields: false, excludePrefixes: ['_'] });
2881
3116
  }
2882
3117
  }
3118
+ __decorate([
3119
+ Exclude()
3120
+ /**
3121
+ * @internal
3122
+ */
3123
+ ,
3124
+ __metadata("design:type", String)
3125
+ ], ɵBaseQuery.prototype, "_queryDtoType", void 0);
3126
+ __decorate([
3127
+ Expose({ name: '__type' })
3128
+ /**
3129
+ * @internal
3130
+ */
3131
+ ,
3132
+ __metadata("design:type", String),
3133
+ __metadata("design:paramtypes", [])
3134
+ ], ɵBaseQuery.prototype, "queryDtoType", null);
2883
3135
 
2884
3136
  /**
2885
3137
  * @public
@@ -2960,9 +3212,12 @@ var ɵQueryOperationType;
2960
3212
  * @extends {ɵBaseFilterableQuery}
2961
3213
  */
2962
3214
  class ɵDeleteQuery extends ɵBaseFilterableQuery {
2963
- // region Constructors: Public
2964
3215
  constructor(rootSchemaName) {
2965
3216
  super(ɵQueryOperationType.Delete, rootSchemaName);
3217
+ /**
3218
+ * @internal
3219
+ */
3220
+ this._queryDtoType = 'Terrasoft.Nui.ServiceModel.DataContract.DeleteQuery';
2966
3221
  }
2967
3222
  }
2968
3223
 
@@ -2975,6 +3230,10 @@ class ɵEntitySchemaQuery extends ɵBaseFilterableQuery {
2975
3230
  constructor(rootSchemaName) {
2976
3231
  super(ɵQueryOperationType.Select, rootSchemaName);
2977
3232
  this._columns = new Map();
3233
+ /**
3234
+ * @internal
3235
+ */
3236
+ this._queryDtoType = 'Terrasoft.Nui.ServiceModel.DataContract.SelectQuery';
2978
3237
  /**
2979
3238
  * @description Determines if merge duplicates in query result.
2980
3239
  */
@@ -2995,6 +3254,22 @@ class ɵEntitySchemaQuery extends ɵBaseFilterableQuery {
2995
3254
  * @description Represent parameter which determines disabling data in filtering.
2996
3255
  */
2997
3256
  this.useRecordDeactivation = false;
3257
+ /**
3258
+ * @description Indicates whether the query is hierarchical.
3259
+ */
3260
+ this.isHierarchical = false;
3261
+ /**
3262
+ * @description Maximum depth of hierarchical data retrieval.
3263
+ */
3264
+ this.hierarchicalMaxDepth = 0;
3265
+ /**
3266
+ * @description Indicates whether to perform a full data load for hierarchical queries.
3267
+ */
3268
+ this.hierarchicalFullDataLoad = false;
3269
+ /**
3270
+ * @description Filters applied to hierarchical parent records.
3271
+ */
3272
+ this.hierarchicalColumnFiltersValue = new ɵFilterGroup();
2998
3273
  this._getIsPageable = () => this.rowCount > 0 && this.rowsOffset > -1;
2999
3274
  }
3000
3275
  _internalAddColumn(key, column) {
@@ -3002,8 +3277,6 @@ class ɵEntitySchemaQuery extends ɵBaseFilterableQuery {
3002
3277
  this._columns.set(key, column);
3003
3278
  }
3004
3279
  }
3005
- // endregion
3006
- // region Methods: Public
3007
3280
  /**
3008
3281
  * @public
3009
3282
  * @description Returns column instance by column alias.
@@ -3038,10 +3311,11 @@ class ɵEntitySchemaQuery extends ɵBaseFilterableQuery {
3038
3311
  adminUnitRoleSources: this.adminUnitRoleSources,
3039
3312
  isPageable: this._getIsPageable(),
3040
3313
  conditionalValues: this.conditionalValues ? this.conditionalValues : null,
3041
- isHierarchical: false,
3042
- hierarchicalMaxDepth: 0,
3043
- hierarchicalColumnName: null,
3044
- hierarchicalColumnValue: null,
3314
+ isHierarchical: this.isHierarchical,
3315
+ hierarchicalMaxDepth: this.hierarchicalMaxDepth,
3316
+ hierarchicalColumnName: this.hierarchicalColumnName,
3317
+ hierarchicalColumnValue: this.hierarchicalColumnValue,
3318
+ hierarchicalFullDataLoad: this.hierarchicalFullDataLoad,
3045
3319
  useLocalization: this.useLocalization,
3046
3320
  useRecordDeactivation: this.useRecordDeactivation,
3047
3321
  };
@@ -3206,15 +3480,14 @@ class ɵEntitySchemaQuery extends ɵBaseFilterableQuery {
3206
3480
  * @description Request to insert data.
3207
3481
  */
3208
3482
  class ɵInsertQuery extends ɵBaseQuery {
3209
- // endregion
3210
- // region Constructors: Public
3211
3483
  constructor(rootSchemaName) {
3212
3484
  super(ɵQueryOperationType.Insert, rootSchemaName);
3213
- // region Fields: Private
3214
3485
  this._columnValues = new Map();
3486
+ /**
3487
+ * @internal
3488
+ */
3489
+ this._queryDtoType = 'Terrasoft.Nui.ServiceModel.DataContract.InsertQuery';
3215
3490
  }
3216
- // endregion
3217
- // region Properties: Public
3218
3491
  /**
3219
3492
  * @description A collection of column values for updating entities.
3220
3493
  */
@@ -3223,8 +3496,6 @@ class ɵInsertQuery extends ɵBaseQuery {
3223
3496
  items: classToPlain(this._columnValues),
3224
3497
  };
3225
3498
  }
3226
- // endregion
3227
- // region Methods: Public
3228
3499
  /**
3229
3500
  * @public
3230
3501
  * @description Adds the value parameter. An instance of the value-parameter is created and
@@ -3250,21 +3521,18 @@ __decorate([
3250
3521
  * @extends {ɵBaseFilterableQuery}
3251
3522
  */
3252
3523
  class ɵUpdateQuery extends ɵBaseFilterableQuery {
3253
- // endregion
3254
- // region Constructors: Public
3255
3524
  constructor(rootSchemaName) {
3256
3525
  super(ɵQueryOperationType.Update, rootSchemaName);
3257
- // region Fields: Private
3258
3526
  this._columnValues = new Map();
3259
- // endregion
3260
- // region Fields: Public
3527
+ /**
3528
+ * @internal
3529
+ */
3530
+ this._queryDtoType = 'Terrasoft.Nui.ServiceModel.DataContract.UpdateQuery';
3261
3531
  /**
3262
3532
  * @description Flag that indicates whether to force save data.
3263
3533
  */
3264
3534
  this.isForceUpdate = false;
3265
3535
  }
3266
- // endregion
3267
- // region Properties: Public
3268
3536
  /**
3269
3537
  * @description A collection of column values for updating entities.
3270
3538
  */
@@ -3273,8 +3541,6 @@ class ɵUpdateQuery extends ɵBaseFilterableQuery {
3273
3541
  items: classToPlain(this._columnValues),
3274
3542
  };
3275
3543
  }
3276
- // endregion
3277
- // region Methods: Public
3278
3544
  /**
3279
3545
  * @public
3280
3546
  * @description Adds the value parameter. An instance of the value-parameter is created and