@contember/engine-content-api 1.2.0-alpha.11 → 1.2.0-alpha.13

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 (105) hide show
  1. package/dist/src/acl/EvaluatedPredicateReplacer.d.ts +2 -2
  2. package/dist/src/acl/EvaluatedPredicateReplacer.d.ts.map +1 -1
  3. package/dist/src/acl/EvaluatedPredicateReplacer.js.map +1 -1
  4. package/dist/src/acl/PredicateFactory.d.ts +9 -3
  5. package/dist/src/acl/PredicateFactory.d.ts.map +1 -1
  6. package/dist/src/acl/PredicateFactory.js +42 -24
  7. package/dist/src/acl/PredicateFactory.js.map +1 -1
  8. package/dist/src/acl/PredicatesInjector.d.ts.map +1 -1
  9. package/dist/src/acl/PredicatesInjector.js +1 -0
  10. package/dist/src/acl/PredicatesInjector.js.map +1 -1
  11. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js +31 -27
  12. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js.map +1 -1
  13. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js +18 -14
  14. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js.map +1 -1
  15. package/dist/src/mapper/JunctionTableManager.js.map +1 -1
  16. package/dist/src/mapper/Mapper.js +3 -3
  17. package/dist/src/mapper/Mapper.js.map +1 -1
  18. package/dist/src/mapper/MapperContainer.d.ts.map +1 -1
  19. package/dist/src/mapper/MapperContainer.js +2 -2
  20. package/dist/src/mapper/MapperContainer.js.map +1 -1
  21. package/dist/src/mapper/delete/DeleteExecutor.js +1 -1
  22. package/dist/src/mapper/delete/DeleteExecutor.js.map +1 -1
  23. package/dist/src/mapper/insert/InsertBuilder.d.ts +1 -1
  24. package/dist/src/mapper/insert/InsertBuilder.d.ts.map +1 -1
  25. package/dist/src/mapper/insert/InsertBuilder.js.map +1 -1
  26. package/dist/src/mapper/select/RelationFetcher.js +1 -1
  27. package/dist/src/mapper/select/RelationFetcher.js.map +1 -1
  28. package/dist/src/mapper/select/SelectBuilder.d.ts +3 -1
  29. package/dist/src/mapper/select/SelectBuilder.d.ts.map +1 -1
  30. package/dist/src/mapper/select/SelectBuilder.js +50 -12
  31. package/dist/src/mapper/select/SelectBuilder.js.map +1 -1
  32. package/dist/src/mapper/select/SelectExecutionHandler.d.ts +15 -4
  33. package/dist/src/mapper/select/SelectExecutionHandler.d.ts.map +1 -1
  34. package/dist/src/mapper/select/SelectHydrator.d.ts +3 -2
  35. package/dist/src/mapper/select/SelectHydrator.d.ts.map +1 -1
  36. package/dist/src/mapper/select/SelectHydrator.js +4 -5
  37. package/dist/src/mapper/select/SelectHydrator.js.map +1 -1
  38. package/dist/src/mapper/select/WhereBuilder.d.ts +5 -3
  39. package/dist/src/mapper/select/WhereBuilder.d.ts.map +1 -1
  40. package/dist/src/mapper/select/WhereBuilder.js +47 -8
  41. package/dist/src/mapper/select/WhereBuilder.js.map +1 -1
  42. package/dist/src/mapper/select/handlers/FieldsVisitor.d.ts +1 -0
  43. package/dist/src/mapper/select/handlers/FieldsVisitor.d.ts.map +1 -1
  44. package/dist/src/mapper/select/handlers/FieldsVisitor.js +118 -91
  45. package/dist/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
  46. package/dist/src/mapper/select/handlers/MetaHandler.d.ts.map +1 -1
  47. package/dist/src/mapper/select/handlers/MetaHandler.js +6 -11
  48. package/dist/src/mapper/select/handlers/MetaHandler.js.map +1 -1
  49. package/dist/src/mapper/select/optimizer/WhereOptimizer.d.ts +5 -1
  50. package/dist/src/mapper/select/optimizer/WhereOptimizer.d.ts.map +1 -1
  51. package/dist/src/mapper/select/optimizer/WhereOptimizer.js +10 -3
  52. package/dist/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -1
  53. package/dist/src/mapper/select/optimizer/WhereReplacer.d.ts +1 -1
  54. package/dist/src/mapper/select/optimizer/WhereReplacer.d.ts.map +1 -1
  55. package/dist/src/mapper/select/optimizer/WhereReplacer.js.map +1 -1
  56. package/dist/src/tsconfig.tsbuildinfo +1 -1
  57. package/dist/tests/cases/integration/graphQlRequests/query/acl/differentRowAndFieldPredicate.test.js +51 -4
  58. package/dist/tests/cases/integration/graphQlRequests/query/acl/differentRowAndFieldPredicate.test.js.map +1 -1
  59. package/dist/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.js +26 -25
  60. package/dist/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.js.map +1 -1
  61. package/dist/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.js +9 -6
  62. package/dist/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.js.map +1 -1
  63. package/dist/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.d.ts +2 -0
  64. package/dist/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.d.ts.map +1 -0
  65. package/dist/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.js +109 -0
  66. package/dist/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.js.map +1 -0
  67. package/dist/tests/cases/integration/graphQlRequests/query/graphqlFeatures/alias.test.js +9 -13
  68. package/dist/tests/cases/integration/graphQlRequests/query/graphqlFeatures/alias.test.js.map +1 -1
  69. package/dist/tests/cases/unit/predicatesInjector.test.js +31 -3
  70. package/dist/tests/cases/unit/predicatesInjector.test.js.map +1 -1
  71. package/dist/tests/cases/unit/whereBuilder.test.d.ts +2 -0
  72. package/dist/tests/cases/unit/whereBuilder.test.d.ts.map +1 -0
  73. package/dist/tests/cases/unit/whereBuilder.test.js +75 -0
  74. package/dist/tests/cases/unit/whereBuilder.test.js.map +1 -0
  75. package/dist/tests/cases/unit/whereOptimizer.test.js +24 -21
  76. package/dist/tests/cases/unit/whereOptimizer.test.js.map +1 -1
  77. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  78. package/package.json +10 -10
  79. package/src/acl/EvaluatedPredicateReplacer.ts +4 -4
  80. package/src/acl/PredicateFactory.ts +59 -36
  81. package/src/acl/PredicatesInjector.ts +2 -1
  82. package/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.ts +5 -5
  83. package/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.ts +5 -5
  84. package/src/mapper/JunctionTableManager.ts +3 -3
  85. package/src/mapper/Mapper.ts +3 -3
  86. package/src/mapper/MapperContainer.ts +2 -1
  87. package/src/mapper/delete/DeleteExecutor.ts +1 -1
  88. package/src/mapper/insert/InsertBuilder.ts +2 -2
  89. package/src/mapper/select/RelationFetcher.ts +1 -1
  90. package/src/mapper/select/SelectBuilder.ts +69 -13
  91. package/src/mapper/select/SelectExecutionHandler.ts +15 -8
  92. package/src/mapper/select/SelectHydrator.ts +13 -7
  93. package/src/mapper/select/WhereBuilder.ts +58 -11
  94. package/src/mapper/select/handlers/FieldsVisitor.ts +53 -67
  95. package/src/mapper/select/handlers/MetaHandler.ts +6 -17
  96. package/src/mapper/select/optimizer/WhereOptimizer.ts +25 -13
  97. package/src/mapper/select/optimizer/WhereReplacer.ts +4 -4
  98. package/tests/cases/integration/graphQlRequests/query/acl/differentRowAndFieldPredicate.test.ts +54 -4
  99. package/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.ts +26 -25
  100. package/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.ts +9 -6
  101. package/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.ts +104 -0
  102. package/tests/cases/integration/graphQlRequests/query/graphqlFeatures/alias.test.ts +9 -13
  103. package/tests/cases/unit/predicatesInjector.test.ts +37 -7
  104. package/tests/cases/unit/whereBuilder.test.ts +84 -0
  105. package/tests/cases/unit/whereOptimizer.test.ts +20 -17
@@ -1 +1 @@
1
- {"version":3,"file":"RelationFetcher.js","sourceRoot":"","sources":["../../../../src/mapper/select/RelationFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RelationFetcher.js","sourceRoot":"","sources":["../../../../src/mapper/select/RelationFetcher.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { SelectExecutionHandler } from './SelectExecutionHandler';
9
9
  import { MetaHandler } from './handlers';
10
10
  import { Mapper } from '../Mapper';
11
11
  import { ObjectNode } from '../../inputProcessing';
12
+ import { PredicateFactory } from '../../acl';
12
13
  export declare class SelectBuilder {
13
14
  private readonly schema;
14
15
  private readonly whereBuilder;
@@ -20,12 +21,13 @@ export declare class SelectBuilder {
20
21
  private readonly selectHandlers;
21
22
  private readonly pathFactory;
22
23
  private readonly relationPath;
24
+ private readonly predicateFactory;
23
25
  private resolver;
24
26
  readonly rows: Promise<SelectRow[]>;
25
27
  private queryWrapper;
26
28
  constructor(schema: Model.Schema, whereBuilder: WhereBuilder, orderByBuilder: OrderByBuilder, metaHandler: MetaHandler, qb: DbSelectBuilder<DbSelectBuilder.Result>, hydrator: SelectHydrator, fieldsVisitorFactory: FieldsVisitorFactory, selectHandlers: {
27
29
  [key: string]: SelectExecutionHandler<any>;
28
- }, pathFactory: PathFactory, relationPath: Model.AnyRelationContext[]);
30
+ }, pathFactory: PathFactory, relationPath: Model.AnyRelationContext[], predicateFactory: PredicateFactory);
29
31
  execute(db: Client): Promise<SelectRow[]>;
30
32
  select(mapper: Mapper, entity: Model.Entity, input: ObjectNode<Input.ListQueryInput>, path: Path, groupBy?: string): void;
31
33
  private selectInternal;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectBuilder.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/SelectBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAuB,aAAa,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAiC,MAAM,0BAA0B,CAAA;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAa,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAG7D,qBAAa,aAAa;IASxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAjB9B,OAAO,CAAC,QAAQ,CAEf;IACD,SAAgB,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAoD;IAE9F,OAAO,CAAC,YAAY,CAAmC;gBAGrC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACjC,EAAE,EAAE,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,EAClC,QAAQ,EAAE,cAAc,EACxB,oBAAoB,EAAE,oBAAoB,EAC1C,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;KAAE,EAC9D,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE;IAG7C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAW/C,MAAM,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,EACvC,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,MAAM;IA8BjB,OAAO,CAAC,cAAc;YA2DR,eAAe;CAM7B"}
1
+ {"version":3,"file":"SelectBuilder.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/SelectBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,EAAqB,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/E,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAuB,aAAa,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAiC,MAAM,0BAA0B,CAAA;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAa,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE5C,qBAAa,aAAa;IASxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAlBlC,OAAO,CAAC,QAAQ,CAEf;IACD,SAAgB,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAoD;IAE9F,OAAO,CAAC,YAAY,CAAmC;gBAGrC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACjC,EAAE,EAAE,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,EAClC,QAAQ,EAAE,cAAc,EACxB,oBAAoB,EAAE,oBAAoB,EAC1C,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;KAAE,EAC9D,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,EACxC,gBAAgB,EAAE,gBAAgB;IAGvC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAW/C,MAAM,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,EACvC,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,MAAM;IA8BjB,OAAO,CAAC,cAAc;YA+GR,eAAe;CAQ7B"}
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SelectBuilder = void 0;
4
+ const schema_1 = require("@contember/schema");
4
5
  const schema_utils_1 = require("@contember/schema-utils");
5
6
  const database_1 = require("@contember/database");
6
7
  const inputProcessing_1 = require("../../inputProcessing");
7
8
  const utils_1 = require("../../utils");
8
9
  class SelectBuilder {
9
- constructor(schema, whereBuilder, orderByBuilder, metaHandler, qb, hydrator, fieldsVisitorFactory, selectHandlers, pathFactory, relationPath) {
10
+ constructor(schema, whereBuilder, orderByBuilder, metaHandler, qb, hydrator, fieldsVisitorFactory, selectHandlers, pathFactory, relationPath, predicateFactory) {
10
11
  this.schema = schema;
11
12
  this.whereBuilder = whereBuilder;
12
13
  this.orderByBuilder = orderByBuilder;
@@ -17,6 +18,7 @@ class SelectBuilder {
17
18
  this.selectHandlers = selectHandlers;
18
19
  this.pathFactory = pathFactory;
19
20
  this.relationPath = relationPath;
21
+ this.predicateFactory = predicateFactory;
20
22
  this.resolver = () => {
21
23
  throw new Error('SelectBuilder: Resolver called too soon');
22
24
  };
@@ -38,7 +40,7 @@ class SelectBuilder {
38
40
  this.selectInternal(mapper, entity, path, input);
39
41
  const where = input.args.filter;
40
42
  if (where) {
41
- this.qb = this.whereBuilder.build(this.qb, entity, path, where, this.relationPath);
43
+ this.qb = this.whereBuilder.build(this.qb, entity, path, where, { relationPath: this.relationPath });
42
44
  }
43
45
  const orderBy = input.args.orderBy || [];
44
46
  if (groupBy) {
@@ -61,6 +63,27 @@ class SelectBuilder {
61
63
  if (!input.fields.find(it => it.name === entity.primary && it.alias === entity.primary)) {
62
64
  input = input.withField(new inputProcessing_1.FieldNode(entity.primary, entity.primary, {}));
63
65
  }
66
+ const fetchedPredicates = new Set();
67
+ const addPredicate = (predicate) => {
68
+ if (typeof predicate === 'boolean') {
69
+ return () => predicate;
70
+ }
71
+ const predicatePath = path.for('__predicate').for(predicate);
72
+ if (!fetchedPredicates.has(predicate)) {
73
+ const relationContext = this.relationPath[this.relationPath.length - 1];
74
+ const primaryPredicate = this.predicateFactory.create(entity, schema_1.Acl.Operation.read, undefined, relationContext);
75
+ const fieldPredicate = this.predicateFactory.buildPredicates(entity, [predicate], relationContext);
76
+ this.qb = this.whereBuilder.buildAdvanced(entity, path.back(), fieldPredicate, apply => this.qb.select(expr => expr.selectCondition(condition => {
77
+ condition = apply(condition);
78
+ if (condition.isEmpty()) {
79
+ return condition.raw('true');
80
+ }
81
+ return condition;
82
+ }), predicatePath.alias), { relationPath: this.relationPath, evaluatedPredicates: [primaryPredicate] });
83
+ fetchedPredicates.add(predicate);
84
+ }
85
+ return row => row[predicatePath.alias] === true;
86
+ };
64
87
  for (let field of input.fields) {
65
88
  const fieldPath = path.for(field.alias);
66
89
  const fieldProperty = (() => {
@@ -75,16 +98,29 @@ class SelectBuilder {
75
98
  const executionContext = {
76
99
  mapper,
77
100
  relationPath: this.relationPath,
78
- addData: async (fieldName, cb, defaultValue = null) => {
79
- const columnName = (0, schema_utils_1.getColumnName)(this.schema, entity, fieldName);
80
- const ids = (await this.getColumnValues(path.for(fieldName), columnName)).filter(it => it !== null);
81
- const data = (async () => (ids.length > 0 ? cb(ids) : {}))();
82
- this.hydrator.addPromise(fieldPath, path.for(fieldName), data, defaultValue);
101
+ addData: async ({ field, dataProvider, defaultValue, predicate }) => {
102
+ if (predicate === false) {
103
+ this.hydrator.addPromise(fieldPath, path.for(field), Promise.resolve({}), defaultValue !== null && defaultValue !== void 0 ? defaultValue : null);
104
+ return;
105
+ }
106
+ const predicateGetter = predicate !== undefined && predicate !== true ? addPredicate(predicate) : null;
107
+ const columnName = (0, schema_utils_1.getColumnName)(this.schema, entity, field);
108
+ let ids = await this.getColumnValues(path.for(field), columnName, predicateGetter);
109
+ const data = ids.length > 0 ? dataProvider(ids) : Promise.resolve({});
110
+ this.hydrator.addPromise(fieldPath, path.for(field), data, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null);
83
111
  },
84
- addColumn: (qbCallback, path) => {
85
- this.qb = qbCallback(this.qb);
86
- this.hydrator.addColumn(path || fieldPath);
112
+ addColumn: ({ path = fieldPath, predicate, query, valueGetter }) => {
113
+ if (predicate === false) {
114
+ this.hydrator.addColumn(path, () => null);
115
+ return;
116
+ }
117
+ const predicateGetter = predicate !== undefined && predicate !== true ? addPredicate(predicate) : null;
118
+ if (query) {
119
+ this.qb = query(this.qb);
120
+ }
121
+ this.hydrator.addColumn(path, valueGetter !== null && valueGetter !== void 0 ? valueGetter : (row => predicateGetter === null || predicateGetter(row) ? row[path.alias] : null));
87
122
  },
123
+ addPredicate: addPredicate,
88
124
  path: fieldPath,
89
125
  entity: entity,
90
126
  ...fieldProperty,
@@ -109,11 +145,13 @@ class SelectBuilder {
109
145
  (0, schema_utils_1.acceptFieldVisitor)(this.schema, entity, field.name, fieldVisitor);
110
146
  }
111
147
  }
112
- async getColumnValues(columnPath, columnName) {
148
+ async getColumnValues(columnPath, columnName, predicateGetter) {
113
149
  this.qb = this.qb.select([columnPath.back().alias, columnName], columnPath.alias);
114
150
  const rows = await this.rows;
151
+ const filteredRows = predicateGetter === null ? rows : rows.filter(predicateGetter);
115
152
  const columnAlias = columnPath.alias;
116
- return Array.from(new Set(rows.map((it) => it[columnAlias])));
153
+ const ids = filteredRows.map((it) => it[columnAlias]).filter(it => it !== null);
154
+ return Array.from(new Set(ids));
117
155
  }
118
156
  }
119
157
  exports.SelectBuilder = SelectBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/select/SelectBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/select/SelectBuilder.ts"],"names":[],"mappings":";;;AAAA,8CAAqD;AACrD,0DAA2E;AAI3E,kDAAmG;AAMnG,2DAA6D;AAC7D,uCAAyC;AAGzC,MAAa,aAAa;IAQzB,YACkB,MAAoB,EACpB,YAA0B,EAC1B,cAA8B,EAC9B,WAAwB,EACjC,EAA2C,EAClC,QAAwB,EACxB,oBAA0C,EAC1C,cAA8D,EAC9D,WAAwB,EACxB,YAAwC,EACxC,gBAAkC;QAVlC,WAAM,GAAN,MAAM,CAAc;QACpB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACjC,OAAE,GAAF,EAAE,CAAyC;QAClC,aAAQ,GAAR,QAAQ,CAAgB;QACxB,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,mBAAc,GAAd,cAAc,CAAgD;QAC9D,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAA4B;QACxC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAlB5C,aAAQ,GAAiC,GAAG,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC3D,CAAC,CAAA;QACe,SAAI,GAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAA;QAEtF,iBAAY,GAA+B,IAAI,CAAA;IAcpD,CAAC;IAEG,KAAK,CAAC,OAAO,CAAC,EAAU;QAC9B,IAAI,MAAmB,CAAA;QACvB,IAAI,IAAI,CAAC,YAAY,EAAE;YACtB,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;SACvD;aAAM;YACN,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;SACpC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACrB,OAAO,MAAM,CAAA;IACd,CAAC;IAEM,MAAM,CACZ,MAAc,EACd,MAAoB,EACpB,KAAuC,EACvC,IAAU,EACV,OAAgB;QAEhB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAChD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA;QAC/B,IAAI,KAAK,EAAE;YACV,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;SACpG;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QAExC,IAAI,OAAO,EAAE;YACZ,MAAM,aAAa,GAAG,IAAA,4BAAa,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;YACjE,IAAI,CAAC,YAAY,GAAG,IAAI,8BAAmB,CAC1C,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,EAC3B,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE;gBACjB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBACvB,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;iBACxG;gBACD,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;YACvB,CAAC,EACD,KAAK,CAAC,IAAI,CAAC,MAAM,EACjB,KAAK,CAAC,IAAI,CAAC,KAAK,CAChB,CAAA;SACD;aAAM;YACN,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;aAC3E;YACD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SAC5D;IACF,CAAC;IAEO,cAAc,CAAC,MAAc,EAAE,MAAoB,EAAE,IAAU,EAAE,KAAiB;QACzF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE;YACxF,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,2BAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;SAC1E;QAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAA;QACnC,MAAM,YAAY,GAAG,CAAC,SAAwB,EAA8B,EAAE;YAC7E,IAAI,OAAO,SAAS,KAAK,SAAS,EAAE;gBACnC,OAAO,GAAG,EAAE,CAAC,SAAS,CAAA;aACtB;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAE5D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACtC,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAEvE,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,YAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAA;gBAC7G,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC,CAAA;gBAElG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CACxC,MAAM,EACN,IAAI,CAAC,IAAI,EAAE,EACX,cAAc,EACd,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAC9B,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;oBAChC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;oBAC5B,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE;wBACxB,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;qBAC5B;oBACD,OAAO,SAAS,CAAA;gBACjB,CAAC,CAAC,EACH,aAAa,CAAC,KAAK,CAClB,EACD,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAC5E,CAAA;gBACD,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;aAChC;YACD,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;QAChD,CAAC,CAAA;QAED,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACvC,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;gBAC3B,IAAI,KAAK,YAAY,4BAAU,EAAE;oBAChC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;iBAC5B;gBACD,IAAI,KAAK,YAAY,2BAAS,EAAE;oBAC/B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;iBAC3B;gBACD,OAAO,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAA;YAC1B,CAAC,CAAC,EAAE,CAAA;YAGJ,MAAM,gBAAgB,GAAkC;gBACvD,MAAM;gBACN,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE;oBACnE,IAAI,SAAS,KAAK,KAAK,EAAE;wBACxB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,IAAI,CAAC,CAAA;wBAC/F,OAAM;qBACN;oBACD,MAAM,eAAe,GAAG,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;oBACtG,MAAM,UAAU,GAAG,IAAA,4BAAa,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;oBAC5D,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAA;oBAElF,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;oBACrE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,IAAI,CAAC,CAAA;gBACjF,CAAC;gBACD,SAAS,EAAE,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE;oBAClE,IAAI,SAAS,KAAK,KAAK,EAAE;wBACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;wBACzC,OAAM;qBACN;oBACD,MAAM,eAAe,GAAG,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;oBACtG,IAAI,KAAK,EAAE;wBACV,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;qBACxB;oBACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CACtB,IAAI,EACJ,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,KAAK,IAAI,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CACjG,CAAA;gBACF,CAAC;gBACD,YAAY,EAAE,YAAY;gBAC1B,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,MAAM;gBACd,GAAG,aAAa;aAChB,CAAA;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;gBAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;gBAC1C,SAAQ;aACR;YAED,kFAAkF;YAClF,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;gBAChC,SAAQ;aACR;YAED,IAAI,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE;gBAClC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;gBAClE,IAAI,CAAC,OAAO,EAAE;oBACb,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,CAAC,UAAU,CAAC,YAAY,YAAY,CAAC,CAAA;iBACzE;gBACD,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;gBACjC,SAAQ;aACR;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;YAC/E,IAAA,iCAAkB,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;SACjE;IACF,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,UAAgB,EAAE,UAAkB,EAAE,eAAkD;QACrH,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;QACjF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAA;QAC5B,MAAM,YAAY,GAAG,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;QACnF,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAA;QACpC,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAsB,EAAE,CAAC,EAAE,CAAC,WAAW,CAAuB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAA;QACzH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAChC,CAAC;CACD;AA3LD,sCA2LC"}
@@ -1,6 +1,6 @@
1
1
  import { Path } from './Path';
2
- import { Input, Model } from '@contember/schema';
3
- import { SelectNestedData, SelectNestedDefaultValue } from './SelectHydrator';
2
+ import { Acl, Input, Model } from '@contember/schema';
3
+ import { ColumnValueGetter, SelectNestedData, SelectNestedDefaultValue, SelectRow } from './SelectHydrator';
4
4
  import { SelectBuilder } from '@contember/database';
5
5
  import { Mapper } from '../Mapper';
6
6
  import { FieldNode, ObjectNode } from '../../inputProcessing';
@@ -13,8 +13,19 @@ export declare type SelectExecutionHandlerContext<FieldArgs = any, FieldExtensio
13
13
  path: Path;
14
14
  entity: Model.Entity;
15
15
  relationPath: Model.AnyRelationContext[];
16
- addColumn: (queryCallback: (qb: SelectBuilder<SelectBuilder.Result>) => SelectBuilder<SelectBuilder.Result>, path?: Path) => void;
17
- addData: (parentField: string, cb: DataCallback, defaultValue?: SelectNestedDefaultValue) => void;
16
+ addPredicate: (predicate: Acl.Predicate) => (row: SelectRow) => boolean;
17
+ addColumn: (args: {
18
+ predicate?: Acl.Predicate;
19
+ query?: (qb: SelectBuilder<SelectBuilder.Result>) => SelectBuilder<SelectBuilder.Result>;
20
+ path?: Path;
21
+ valueGetter?: ColumnValueGetter;
22
+ }) => void;
23
+ addData: (args: {
24
+ field: string;
25
+ dataProvider: DataCallback;
26
+ predicate?: Acl.Predicate;
27
+ defaultValue?: SelectNestedDefaultValue;
28
+ }) => void;
18
29
  } & ({
19
30
  fieldNode: FieldNode<FieldExtensions>;
20
31
  objectNode?: never;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectExecutionHandler.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/SelectExecutionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,WAAW,sBAAsB,CACtC,SAAS,GAAG,OAAO,EACnB,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEjE,OAAO,CAAC,OAAO,EAAE,6BAA6B,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,IAAI,CAAA;CACjF;AAED,oBAAY,YAAY,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAEnF,oBAAY,6BAA6B,CACxC,SAAS,GAAG,GAAG,EACf,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC9D;IACH,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,KAAK,CAAC,MAAM,CAAA;IACpB,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAA;IAExC,SAAS,EAAE,CACV,aAAa,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EAC/F,IAAI,CAAC,EAAE,IAAI,KACP,IAAI,CAAA;IACT,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,wBAAwB,KAAK,IAAI,CAAA;CACjG,GAAG,CACD;IACD,SAAS,EAAE,SAAS,CAAC,eAAe,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,KAAK,CAAA;CAChB,GACD;IACD,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,UAAU,EAAE,UAAU,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;CAChD,CACH,CAAA"}
1
+ {"version":3,"file":"SelectExecutionHandler.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/SelectExecutionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC3G,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,WAAW,sBAAsB,CACtC,SAAS,GAAG,OAAO,EACnB,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEjE,OAAO,CAAC,OAAO,EAAE,6BAA6B,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,IAAI,CAAA;CACjF;AAED,oBAAY,YAAY,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAEnF,oBAAY,6BAA6B,CACxC,SAAS,GAAG,GAAG,EACf,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC9D;IACH,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,KAAK,CAAC,MAAM,CAAA;IACpB,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAA;IACxC,YAAY,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,KAAK,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,CAAA;IACvE,SAAS,EAAE,CAAC,IAAI,EAAE;QACjB,SAAS,CAAC,EAAE,GAAG,CAAC,SAAS,CAAA;QACzB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QACxF,IAAI,CAAC,EAAE,IAAI,CAAA;QACX,WAAW,CAAC,EAAE,iBAAiB,CAAA;KAC/B,KAAK,IAAI,CAAA;IACV,OAAO,EAAE,CAAC,IAAI,EAAE;QACf,KAAK,EAAE,MAAM,CAAA;QACb,YAAY,EAAE,YAAY,CAAA;QAC1B,SAAS,CAAC,EAAE,GAAG,CAAC,SAAS,CAAA;QACzB,YAAY,CAAC,EAAE,wBAAwB,CAAA;KACvC,KAAK,IAAI,CAAA;CACV,GAAG,CACD;IACD,SAAS,EAAE,SAAS,CAAC,eAAe,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,KAAK,CAAA;CAChB,GACD;IACD,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,UAAU,EAAE,UAAU,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;CAChD,CACH,CAAA"}
@@ -1,9 +1,10 @@
1
1
  import { Path } from './Path';
2
2
  import { Value } from '@contember/schema';
3
+ export declare type ColumnValueGetter<T extends Value.FieldValue = Value.FieldValue> = (row: SelectRow) => T;
3
4
  export declare class SelectHydrator {
4
5
  private columns;
5
6
  private promises;
6
- addColumn(path: Path): void;
7
+ addColumn(path: Path, getValue: ColumnValueGetter): void;
7
8
  addPromise(path: Path, parentKeyPath: Path, data: Promise<SelectNestedData>, defaultValue: SelectNestedDefaultValue): void;
8
9
  hydrateGroups(rows: SelectRow[], groupBy: string): Promise<SelectGroupedObjects>;
9
10
  hydrateAll(rows: SelectRow[]): Promise<SelectResultObject[]>;
@@ -13,7 +14,7 @@ export declare class SelectHydrator {
13
14
  private formatValue;
14
15
  }
15
16
  export declare type SelectRow = {
16
- [key: string]: Value.AtomicValue;
17
+ [key: string]: Value.FieldValue;
17
18
  };
18
19
  export declare type SelectResultObject = Value.Object;
19
20
  export declare type SelectIndexedResultObjects = {
@@ -1 +1 @@
1
- {"version":3,"file":"SelectHydrator.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/SelectHydrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAiBzC,qBAAa,cAAc;IAC1B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAqB;IAE9B,SAAS,CAAC,IAAI,EAAE,IAAI;IAIpB,UAAU,CAChB,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,IAAI,EACnB,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAC/B,YAAY,EAAE,wBAAwB;IAK1B,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAahF,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAC5D,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAqBhG,OAAO,CAAC,UAAU;YAyBJ,mBAAmB;IAqBjC,OAAO,CAAC,WAAW;CAMnB;AAED,oBAAY,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,WAAW,CAAA;CAAE,CAAA;AAC5D,oBAAY,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAA;AAC7C,oBAAY,0BAA0B,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAAE,CAAA;AAC9E,oBAAY,oBAAoB,GAAG;IAAE,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAA;CAAE,CAAA;AAClF,oBAAY,gBAAgB,GAAG,oBAAoB,GAAG,0BAA0B,CAAA;AAChF,oBAAY,wBAAwB,GAAG,EAAE,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"SelectHydrator.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/SelectHydrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAiBzC,oBAAY,iBAAiB,CAAC,CAAC,SAAS,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,SAAS,KAAK,CAAC,CAAA;AAOpG,qBAAa,cAAc;IAC1B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,QAAQ,CAAqB;IAE9B,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB;IAIjD,UAAU,CAChB,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,IAAI,EACnB,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAC/B,YAAY,EAAE,wBAAwB;IAK1B,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAahF,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAC5D,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAqBhG,OAAO,CAAC,UAAU;YAwBJ,mBAAmB;IAqBjC,OAAO,CAAC,WAAW;CAMnB;AAED,oBAAY,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,UAAU,CAAA;CAAE,CAAA;AAC3D,oBAAY,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAA;AAC7C,oBAAY,0BAA0B,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAAE,CAAA;AAC9E,oBAAY,oBAAoB,GAAG;IAAE,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAA;CAAE,CAAA;AAClF,oBAAY,gBAAgB,GAAG,oBAAoB,GAAG,0BAA0B,CAAA;AAChF,oBAAY,wBAAwB,GAAG,EAAE,GAAG,IAAI,CAAA"}
@@ -7,8 +7,8 @@ class SelectHydrator {
7
7
  this.columns = [];
8
8
  this.promises = [];
9
9
  }
10
- addColumn(path) {
11
- this.columns.push(path);
10
+ addColumn(path, getValue) {
11
+ this.columns.push({ path, getValue });
12
12
  }
13
13
  addPromise(path, parentKeyPath, data, defaultValue) {
14
14
  this.promises.push({ path, parentKeyPath, data, defaultValue });
@@ -43,11 +43,10 @@ class SelectHydrator {
43
43
  hydrateRow(row, resolvedData) {
44
44
  const result = {};
45
45
  for (let columnPath of this.columns) {
46
- const path = [...columnPath.path];
46
+ const path = [...columnPath.path.path];
47
47
  const last = path.pop();
48
48
  const currentObject = path.reduce((obj, part) => (obj[part] = obj[part] || {}), result);
49
- const field = row[columnPath.alias];
50
- currentObject[last] = this.formatValue(field);
49
+ currentObject[last] = this.formatValue(columnPath.getValue(row));
51
50
  }
52
51
  for (let { path, parentKeyPath, data, defaultValue } of resolvedData) {
53
52
  const pathTmp = [...path.path];
@@ -1 +1 @@
1
- {"version":3,"file":"SelectHydrator.js","sourceRoot":"","sources":["../../../../src/mapper/select/SelectHydrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectHydrator.js","sourceRoot":"","sources":["../../../../src/mapper/select/SelectHydrator.ts"],"names":[],"mappings":";;;AAEA,uCAA+D;AAuB/D,MAAa,cAAc;IAA3B;QACS,YAAO,GAAa,EAAE,CAAA;QACtB,aAAQ,GAAmB,EAAE,CAAA;IAqGtC,CAAC;IAnGO,SAAS,CAAC,IAAU,EAAE,QAA2B;QACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IACtC,CAAC;IAEM,UAAU,CAChB,IAAU,EACV,aAAmB,EACnB,IAA+B,EAC/B,YAAsC;QAEtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;IAChE,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,IAAiB,EAAE,OAAe;QAC5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QACjD,MAAM,MAAM,GAAyB,EAAE,CAAA;QACvC,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;YACrB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAuB,CAAA;YAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;gBACjB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;aAChB;YACD,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAA;SAChD;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAKM,KAAK,CAAC,UAAU,CACtB,IAAiB,EACjB,OAAgB;QAEhB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QACjD,IAAI,OAAO,EAAE;YACZ,MAAM,MAAM,GAA+B,EAAE,CAAA;YAC7C,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;gBACrB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAuB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;aAC3E;YACD,OAAO,MAAM,CAAA;SACb;QACD,MAAM,MAAM,GAAyB,EAAE,CAAA;QACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAA;SAC3C;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAEO,UAAU,CAAC,GAAc,EAAE,YAA4B;QAC9D,MAAM,MAAM,GAAuB,EAAE,CAAA;QAErC,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE;YACpC,MAAM,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtC,MAAM,IAAI,GAAW,IAAI,CAAC,GAAG,EAAY,CAAA;YACzC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;YAE5F,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;SAChE;QAED,KAAK,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,YAAY,EAAE;YACrE,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;YAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAY,CAAA;YACpC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,EAAE,MAAM,CAAC,CAAA;YACjG,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAuB,CAAA;YAClE,IAAI,aAAa,EAAE;gBAClB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,YAAY,CAAA;aACnF;SACD;QAED,OAAO,MAAM,CAAA;IACd,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAChC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAyB,EAAE,CAAC,CAAC;YAChG,YAAY,EAAE,EAAE,CAAC,YAAY;YAC7B,aAAa,EAAE,EAAE,CAAC,aAAa;YAC/B,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI;SACnB,CAAC,CAAC,CAAC,CAAA;QACJ,MAAM,QAAQ,GAAG,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAA;QACvC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAA;gBACtF,sCAAsC;gBACtC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;aAC5C;YACD,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAA;SACjB;QAED,OAAO,IAAA,0BAAkB,EAAC,OAAO,CAAC,CAAA;IACnC,CAAC;IAEO,WAAW,CAAC,KAAU;QAC7B,IAAI,KAAK,YAAY,IAAI,EAAE;YAC1B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAA;SAC1B;QACD,OAAO,KAAK,CAAA;IACb,CAAC;CACD;AAvGD,wCAuGC"}
@@ -3,7 +3,7 @@ import { Path, PathFactory } from './Path';
3
3
  import { JoinBuilder } from './JoinBuilder';
4
4
  import { ConditionBuilder } from './ConditionBuilder';
5
5
  import { ConditionBuilder as SqlConditionBuilder, SelectBuilder } from '@contember/database';
6
- import { WhereOptimizer } from './optimizer/WhereOptimizer';
6
+ import { WhereOptimizationHints, WhereOptimizer } from './optimizer/WhereOptimizer';
7
7
  export declare class WhereBuilder {
8
8
  private readonly schema;
9
9
  private readonly joinBuilder;
@@ -11,12 +11,14 @@ export declare class WhereBuilder {
11
11
  private readonly pathFactory;
12
12
  private readonly whereOptimizer;
13
13
  constructor(schema: Model.Schema, joinBuilder: JoinBuilder, conditionBuilder: ConditionBuilder, pathFactory: PathFactory, whereOptimizer: WhereOptimizer);
14
- build(qb: SelectBuilder<SelectBuilder.Result>, entity: Model.Entity, path: Path, where: Input.OptionalWhere, relationPath?: Model.AnyRelationContext[]): SelectBuilder<SelectBuilder.Result>;
15
- buildAdvanced(entity: Model.Entity, path: Path, where: Input.OptionalWhere, callback: (clauseCb: (clause: SqlConditionBuilder) => SqlConditionBuilder) => SelectBuilder<SelectBuilder.Result>, relationPath?: Model.AnyRelationContext[]): SelectBuilder<SelectBuilder.Result>;
14
+ build(qb: SelectBuilder<SelectBuilder.Result>, entity: Model.Entity, path: Path, where: Input.OptionalWhere, optimizationHints?: WhereOptimizationHints): SelectBuilder<SelectBuilder.Result>;
15
+ buildAdvanced(entity: Model.Entity, path: Path, where: Input.OptionalWhere, callback: (clauseCb: (clause: SqlConditionBuilder) => SqlConditionBuilder) => SelectBuilder<SelectBuilder.Result>, optimizationHints?: WhereOptimizationHints): SelectBuilder<SelectBuilder.Result>;
16
16
  private buildInternal;
17
17
  private buildRecursive;
18
18
  private createManyHasManySubquery;
19
19
  private transformWhereToPrimaryCondition;
20
+ private hasRootIsNull;
21
+ private conditionHasIsNull;
20
22
  }
21
23
  export declare type WhereJoinDefinition = {
22
24
  path: Path;
@@ -1 +1 @@
1
- {"version":3,"file":"WhereBuilder.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/WhereBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,gBAAgB,IAAI,mBAAmB,EAA0B,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACpH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,qBAAa,YAAY;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAJd,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc;IAGzC,KAAK,CACX,EAAE,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EACvC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,YAAY,GAAE,KAAK,CAAC,kBAAkB,EAAO;IAOvC,aAAa,CACnB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,mBAAmB,KAAK,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EACjH,YAAY,GAAE,KAAK,CAAC,kBAAkB,EAAO;IAM9C,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,cAAc;IAyItB,OAAO,CAAC,yBAAyB;IAoCjC,OAAO,CAAC,gCAAgC;CA2CxC;AAED,oBAAY,mBAAmB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA"}
1
+ {"version":3,"file":"WhereBuilder.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/WhereBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EACN,gBAAgB,IAAI,mBAAmB,EAIvC,aAAa,EACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAEnF,qBAAa,YAAY;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAJd,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc;IAGzC,KAAK,CACX,EAAE,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EACvC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,iBAAiB,GAAE,sBAA2B;IAOxC,aAAa,CACnB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,mBAAmB,KAAK,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EACjH,iBAAiB,GAAE,sBAA2B;IAM/C,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,cAAc;IAiJtB,OAAO,CAAC,yBAAyB;IAoCjC,OAAO,CAAC,gCAAgC;IA4CxC,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,kBAAkB;CAe1B;AAED,oBAAY,mBAAmB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA"}
@@ -12,12 +12,12 @@ class WhereBuilder {
12
12
  this.pathFactory = pathFactory;
13
13
  this.whereOptimizer = whereOptimizer;
14
14
  }
15
- build(qb, entity, path, where, relationPath = []) {
16
- const optimizedWhere = this.whereOptimizer.optimize(where, entity, relationPath);
15
+ build(qb, entity, path, where, optimizationHints = {}) {
16
+ const optimizedWhere = this.whereOptimizer.optimize(where, entity, optimizationHints);
17
17
  return this.buildInternal(entity, path, optimizedWhere, cb => qb.where(clause => cb(clause)), false);
18
18
  }
19
- buildAdvanced(entity, path, where, callback, relationPath = []) {
20
- const optimizedWhere = this.whereOptimizer.optimize(where, entity, relationPath);
19
+ buildAdvanced(entity, path, where, callback, optimizationHints = {}) {
20
+ const optimizedWhere = this.whereOptimizer.optimize(where, entity, optimizationHints);
21
21
  return this.buildInternal(entity, path, optimizedWhere, callback, false);
22
22
  }
23
23
  buildInternal(entity, path, where, callback, allowManyJoin) {
@@ -87,10 +87,15 @@ class WhereBuilder {
87
87
  return joinedWhere(context);
88
88
  }
89
89
  const relationWhere = where[fieldName];
90
- const qb = database_1.SelectBuilder.create()
91
- .select(it => it.raw('1'))
92
- .from(context.targetEntity.tableName, 'sub_')
93
- .where(it => it.columnsEq([tableName, entity.primaryColumn], ['sub_', context.targetRelation.joiningColumn.columnName]));
90
+ const qb = this.hasRootIsNull(relationWhere, context.targetEntity)
91
+ ? database_1.SelectBuilder.create()
92
+ .select(it => it.raw('1'))
93
+ .from(new database_1.Literal(`(select ${(0, database_1.wrapIdentifier)(tableName)}.${(0, database_1.wrapIdentifier)(entity.primaryColumn)})`), 'sub2_')
94
+ .leftJoin(context.targetEntity.tableName, 'sub_', it => it.columnsEq(['sub2_', entity.primaryColumn], ['sub_', context.targetRelation.joiningColumn.columnName]))
95
+ : database_1.SelectBuilder.create()
96
+ .select(it => it.raw('1'))
97
+ .from(context.targetEntity.tableName, 'sub_')
98
+ .where(it => it.columnsEq([tableName, entity.primaryColumn], ['sub_', context.targetRelation.joiningColumn.columnName]));
94
99
  return conditionBuilder.exists(this.buildInternal(context.targetEntity, this.pathFactory.create([], 'sub_'), relationWhere, cb => qb.where(clause => cb(clause)), true));
95
100
  },
96
101
  });
@@ -151,6 +156,40 @@ class WhereBuilder {
151
156
  }
152
157
  return condition;
153
158
  }
159
+ hasRootIsNull(where, entity) {
160
+ var _a;
161
+ for (const key in where) {
162
+ if (key === 'and' || key === 'or') {
163
+ if ((_a = where[key]) === null || _a === void 0 ? void 0 : _a.some(it => this.hasRootIsNull(it, entity))) {
164
+ return true;
165
+ }
166
+ }
167
+ else if (key === 'not') {
168
+ if (where.not && this.hasRootIsNull(where.not, entity)) {
169
+ return true;
170
+ }
171
+ }
172
+ else if ((0, schema_utils_1.isColumn)(entity.fields[key]) && this.conditionHasIsNull(where[key])) {
173
+ return true;
174
+ }
175
+ }
176
+ return false;
177
+ }
178
+ conditionHasIsNull(cond) {
179
+ if (cond.isNull !== undefined) {
180
+ return true;
181
+ }
182
+ if (cond.and && cond.and.some(it => this.conditionHasIsNull(it))) {
183
+ return true;
184
+ }
185
+ if (cond.or && cond.or.some(it => this.conditionHasIsNull(it))) {
186
+ return true;
187
+ }
188
+ if (cond.not && this.conditionHasIsNull(cond.not)) {
189
+ return true;
190
+ }
191
+ return false;
192
+ }
154
193
  }
155
194
  exports.WhereBuilder = WhereBuilder;
156
195
  //# sourceMappingURL=WhereBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WhereBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/select/WhereBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WhereBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/select/WhereBuilder.ts"],"names":[],"mappings":"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"}
@@ -20,5 +20,6 @@ export declare class FieldsVisitor implements Model.RelationByTypeVisitor<void>,
20
20
  visitOneHasOneInverse(relationContext: Model.OneHasOneInverseContext): void;
21
21
  visitOneHasOneOwning(relationContext: Model.OneHasOneOwningContext): void;
22
22
  visitManyHasOne(relationContext: Model.ManyHasOneContext): void;
23
+ private getRequiredPredicate;
23
24
  }
24
25
  //# sourceMappingURL=FieldsVisitor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldsVisitor.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/select/handlers/FieldsVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,qBAAa,aAAc,YAAW,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;IAEhG,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBANZ,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,6BAA6B,EAC/C,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE;IAG1D,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI;IAkCnD,uBAAuB,CAAC,eAAe,EAAE,KAAK,CAAC,yBAAyB,GAAG,IAAI;IAqB/E,sBAAsB,CAAC,eAAe,EAAE,KAAK,CAAC,wBAAwB,GAAG,IAAI;IAoB7E,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC,iBAAiB,GAAG,IAAI;IAoB/D,qBAAqB,CAAC,eAAe,EAAE,KAAK,CAAC,uBAAuB,GAAG,IAAI;IA8B3E,oBAAoB,CAAC,eAAe,EAAE,KAAK,CAAC,sBAAsB,GAAG,IAAI;IA4BzE,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC,iBAAiB,GAAG,IAAI;CA2BtE"}
1
+ {"version":3,"file":"FieldsVisitor.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/select/handlers/FieldsVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,qBAAa,aAAc,YAAW,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;IAEhG,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBANZ,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,6BAA6B,EAC/C,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE;IAG1D,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI;IAWnD,uBAAuB,CAAC,eAAe,EAAE,KAAK,CAAC,yBAAyB,GAAG,IAAI;IAoB/E,sBAAsB,CAAC,eAAe,EAAE,KAAK,CAAC,wBAAwB,GAAG,IAAI;IAqB7E,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC,iBAAiB,GAAG,IAAI;IAqB/D,qBAAqB,CAAC,eAAe,EAAE,KAAK,CAAC,uBAAuB,GAAG,IAAI;IA+B3E,oBAAoB,CAAC,eAAe,EAAE,KAAK,CAAC,sBAAsB,GAAG,IAAI;IA6BzE,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC,iBAAiB,GAAG,IAAI;IA6BtE,OAAO,CAAC,oBAAoB;CAI5B"}