@contember/engine-content-api 1.2.0-alpha.3 → 1.2.0-alpha.6
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.
- package/dist/src/acl/EvaluatedPredicateReplacer.d.ts +10 -0
- package/dist/src/acl/EvaluatedPredicateReplacer.d.ts.map +1 -0
- package/dist/src/acl/EvaluatedPredicateReplacer.js +40 -0
- package/dist/src/acl/EvaluatedPredicateReplacer.js.map +1 -0
- package/dist/src/acl/PredicateFactory.d.ts +4 -2
- package/dist/src/acl/PredicateFactory.d.ts.map +1 -1
- package/dist/src/acl/PredicateFactory.js +24 -6
- package/dist/src/acl/PredicateFactory.js.map +1 -1
- package/dist/src/acl/PredicatesInjector.d.ts +1 -1
- package/dist/src/acl/PredicatesInjector.d.ts.map +1 -1
- package/dist/src/acl/PredicatesInjector.js +14 -11
- package/dist/src/acl/PredicatesInjector.js.map +1 -1
- package/dist/src/acl/VariableInjector.d.ts +0 -1
- package/dist/src/acl/VariableInjector.d.ts.map +1 -1
- package/dist/src/acl/VariableInjector.js +4 -16
- package/dist/src/acl/VariableInjector.js.map +1 -1
- package/dist/src/acl/VariableUtils.d.ts +2 -13
- package/dist/src/acl/VariableUtils.d.ts.map +1 -1
- package/dist/src/acl/VariableUtils.js +6 -23
- package/dist/src/acl/VariableUtils.js.map +1 -1
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js +1 -1
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js.map +1 -1
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.d.ts.map +1 -1
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js +25 -13
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js.map +1 -1
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.d.ts.map +1 -1
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js +26 -13
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js.map +1 -1
- package/dist/src/input-validation/EntityRulesResolver.js +3 -3
- package/dist/src/input-validation/EntityRulesResolver.js.map +1 -1
- package/dist/src/input-validation/ValidationContext.d.ts +2 -2
- package/dist/src/input-validation/ValidationContext.d.ts.map +1 -1
- package/dist/src/input-validation/ValidationContext.js.map +1 -1
- package/dist/src/input-validation/ValidationDataSelector.d.ts.map +1 -1
- package/dist/src/input-validation/ValidationDataSelector.js +1 -1
- package/dist/src/input-validation/ValidationDataSelector.js.map +1 -1
- package/dist/src/mapper/Mapper.d.ts +4 -4
- package/dist/src/mapper/Mapper.d.ts.map +1 -1
- package/dist/src/mapper/Mapper.js +7 -7
- package/dist/src/mapper/Mapper.js.map +1 -1
- package/dist/src/mapper/MapperContainer.d.ts.map +1 -1
- package/dist/src/mapper/MapperContainer.js +5 -2
- package/dist/src/mapper/MapperContainer.js.map +1 -1
- package/dist/src/mapper/select/RelationFetcher.d.ts +40 -5
- package/dist/src/mapper/select/RelationFetcher.d.ts.map +1 -1
- package/dist/src/mapper/select/RelationFetcher.js +19 -6
- package/dist/src/mapper/select/RelationFetcher.js.map +1 -1
- package/dist/src/mapper/select/WhereBuilder.d.ts +3 -1
- package/dist/src/mapper/select/WhereBuilder.d.ts.map +1 -1
- package/dist/src/mapper/select/WhereBuilder.js +4 -2
- package/dist/src/mapper/select/WhereBuilder.js.map +1 -1
- package/dist/src/mapper/select/handlers/FieldsVisitor.d.ts +2 -2
- package/dist/src/mapper/select/handlers/FieldsVisitor.d.ts.map +1 -1
- package/dist/src/mapper/select/handlers/FieldsVisitor.js +31 -18
- package/dist/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
- package/dist/src/mapper/select/optimizer/ConditionOptimizer.d.ts +5 -0
- package/dist/src/mapper/select/optimizer/ConditionOptimizer.d.ts.map +1 -0
- package/dist/src/mapper/select/optimizer/ConditionOptimizer.js +33 -0
- package/dist/src/mapper/select/optimizer/ConditionOptimizer.js.map +1 -0
- package/dist/src/mapper/select/optimizer/WhereOptimizer.d.ts +11 -0
- package/dist/src/mapper/select/optimizer/WhereOptimizer.d.ts.map +1 -0
- package/dist/src/mapper/select/optimizer/WhereOptimizer.js +57 -0
- package/dist/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -0
- package/dist/src/mapper/select/optimizer/helpers.d.ts +10 -0
- package/dist/src/mapper/select/optimizer/helpers.d.ts.map +1 -0
- package/dist/src/mapper/select/optimizer/helpers.js +65 -0
- package/dist/src/mapper/select/optimizer/helpers.js.map +1 -0
- package/dist/src/resolvers/MutationResolver.js +1 -1
- package/dist/src/resolvers/MutationResolver.js.map +1 -1
- package/dist/src/resolvers/ReadHelpers.js +3 -3
- package/dist/src/resolvers/ReadHelpers.js.map +1 -1
- package/dist/src/resolvers/ReadResolver.js +2 -2
- package/dist/src/resolvers/ReadResolver.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.js +38 -0
- package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js +1 -6
- package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/acl/setField.test.js +2 -12
- package/dist/tests/cases/integration/graphQlRequests/insert/acl/setField.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/aclInsert.test.js +1 -6
- package/dist/tests/cases/integration/graphQlRequests/insert/aclInsert.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.js +7 -26
- package/dist/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.js +1 -6
- package/dist/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.js +137 -0
- package/dist/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/query/filter/complexCondition.test.js +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.js +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.js +73 -0
- package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.js +73 -0
- package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js +6 -26
- package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js.map +1 -1
- package/dist/tests/cases/unit/aclVariablesFactory.test.js +4 -32
- package/dist/tests/cases/unit/aclVariablesFactory.test.js.map +1 -1
- package/dist/tests/cases/unit/conditionOptimizer.test.d.ts +2 -0
- package/dist/tests/cases/unit/conditionOptimizer.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/conditionOptimizer.test.js +113 -0
- package/dist/tests/cases/unit/conditionOptimizer.test.js.map +1 -0
- package/dist/tests/cases/unit/orderbyHelper.test.js +1 -0
- package/dist/tests/cases/unit/orderbyHelper.test.js.map +1 -1
- package/dist/tests/cases/unit/predicatesFactory.test.d.ts +2 -0
- package/dist/tests/cases/unit/predicatesFactory.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/predicatesFactory.test.js +103 -0
- package/dist/tests/cases/unit/predicatesFactory.test.js.map +1 -0
- package/dist/tests/cases/unit/predicatesInjector.test.js +9 -18
- package/dist/tests/cases/unit/predicatesInjector.test.js.map +1 -1
- package/dist/tests/cases/unit/variableInjector.test.js +2 -13
- package/dist/tests/cases/unit/variableInjector.test.js.map +1 -1
- package/dist/tests/cases/unit/whereOptimizer.test.d.ts +2 -0
- package/dist/tests/cases/unit/whereOptimizer.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/whereOptimizer.test.js +81 -0
- package/dist/tests/cases/unit/whereOptimizer.test.js.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/acl/EvaluatedPredicateReplacer.ts +38 -0
- package/src/acl/PredicateFactory.ts +30 -7
- package/src/acl/PredicatesInjector.ts +18 -10
- package/src/acl/VariableInjector.ts +2 -17
- package/src/acl/VariableUtils.ts +7 -28
- package/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.ts +3 -3
- package/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.ts +26 -28
- package/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.ts +27 -31
- package/src/input-validation/EntityRulesResolver.ts +3 -3
- package/src/input-validation/ValidationContext.ts +2 -2
- package/src/input-validation/ValidationDataSelector.ts +2 -2
- package/src/mapper/Mapper.ts +10 -6
- package/src/mapper/MapperContainer.ts +7 -3
- package/src/mapper/select/RelationFetcher.ts +95 -34
- package/src/mapper/select/WhereBuilder.ts +5 -2
- package/src/mapper/select/handlers/FieldsVisitor.ts +31 -24
- package/src/mapper/select/optimizer/ConditionOptimizer.ts +35 -0
- package/src/mapper/select/optimizer/WhereOptimizer.ts +67 -0
- package/src/mapper/select/optimizer/helpers.ts +54 -0
- package/src/resolvers/MutationResolver.ts +1 -1
- package/src/resolvers/ReadHelpers.ts +3 -3
- package/src/resolvers/ReadResolver.ts +2 -2
- package/tests/cases/integration/graphQlDb/insert/insertSequence.test.ts +34 -0
- package/tests/cases/integration/graphQlRequests/delete/aclDelete.test.ts +1 -6
- package/tests/cases/integration/graphQlRequests/insert/acl/setField.test.ts +2 -12
- package/tests/cases/integration/graphQlRequests/insert/aclInsert.test.ts +1 -6
- package/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.ts +7 -26
- package/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.ts +1 -6
- package/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.ts +130 -0
- package/tests/cases/integration/graphQlRequests/query/filter/complexCondition.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.ts +74 -0
- package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.ts +77 -0
- package/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.ts +7 -27
- package/tests/cases/unit/aclVariablesFactory.test.ts +5 -34
- package/tests/cases/unit/conditionOptimizer.test.ts +129 -0
- package/tests/cases/unit/orderbyHelper.test.ts +1 -0
- package/tests/cases/unit/predicatesFactory.test.ts +97 -0
- package/tests/cases/unit/predicatesInjector.test.ts +9 -18
- package/tests/cases/unit/variableInjector.test.ts +2 -13
- package/tests/cases/unit/whereOptimizer.test.ts +77 -0
|
@@ -6,7 +6,7 @@ declare namespace ValidationContext {
|
|
|
6
6
|
type: Type;
|
|
7
7
|
}
|
|
8
8
|
export type NodeType = Value.Object;
|
|
9
|
-
export type ValueType = Value.FieldValue;
|
|
9
|
+
export type ValueType = Value.FieldValue | undefined;
|
|
10
10
|
export enum NodeContextType {
|
|
11
11
|
value = "value",
|
|
12
12
|
node = "node",
|
|
@@ -32,7 +32,7 @@ declare namespace ValidationContext {
|
|
|
32
32
|
export const createValueContext: (root: NodeContext, node: NodeType, value: ValueType) => ValueContext;
|
|
33
33
|
export const createNodeListContext: (root: NodeContext, nodes: (NodeContext | ValueContext)[]) => NodeListContext;
|
|
34
34
|
export const createRootContext: (node: NodeType) => NodeContext;
|
|
35
|
-
export const createSingleNodeContext: (parent: NodeContext | ValueContext, value:
|
|
35
|
+
export const createSingleNodeContext: (parent: NodeContext | ValueContext, value: ValueType) => NodeContext | ValueContext;
|
|
36
36
|
export const createContext: (context: AnyContext, part: string) => AnyContext;
|
|
37
37
|
export const changeContext: (context: AnyContext, path: Validation.ContextPath) => AnyContext;
|
|
38
38
|
export interface ContextVisitor<R> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationContext.d.ts","sourceRoot":"","sources":["../../../src/input-validation/ValidationContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAGrD,kBAAU,iBAAiB,CAAC;IAC3B,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,eAAe,GAAG,oBAAoB,CAAA;IAE5F,UAAU,iBAAiB,CAAC,IAAI,SAAS,eAAe;QACvD,IAAI,EAAE,WAAW,CAAA;QACjB,IAAI,EAAE,IAAI,CAAA;KACV;IAED,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAA;IACnC,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"ValidationContext.d.ts","sourceRoot":"","sources":["../../../src/input-validation/ValidationContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAGrD,kBAAU,iBAAiB,CAAC;IAC3B,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,eAAe,GAAG,oBAAoB,CAAA;IAE5F,UAAU,iBAAiB,CAAC,IAAI,SAAS,eAAe;QACvD,IAAI,EAAE,WAAW,CAAA;QACjB,IAAI,EAAE,IAAI,CAAA;KACV;IAED,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAA;IACnC,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,GAAG,SAAS,CAAA;IAEpD,MAAM,MAAM,eAAe;QAC1B,KAAK,UAAU;QACf,IAAI,SAAS;QACb,QAAQ,aAAa;QACrB,SAAS,cAAc;KACvB;IAED,MAAM,WAAW,eAAe;QAC/B,IAAI,EAAE,QAAQ,CAAA;KACd;IAED,MAAM,WAAW,WAAY,SAAQ,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,eAAe;KAAG;IAEhG,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB,CAAC,eAAe,CAAC,SAAS,CAAC;KAAG;IAE7F,MAAM,WAAW,YAAa,SAAQ,iBAAiB,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,eAAe;QAC9F,KAAK,EAAE,SAAS,CAAA;KAChB;IAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC;QACnF,KAAK,EAAE,CAAC,WAAW,GAAG,YAAY,CAAC,EAAE,CAAA;KACrC;IAED,MAAM,CAAC,MAAM,qBAAqB,YAAa,UAAU,KAAG,eAI3D,CAAA;IAED,MAAM,CAAC,MAAM,iBAAiB,SAAU,WAAW,QAAQ,QAAQ,KAAG,WAIpE,CAAA;IACF,MAAM,CAAC,MAAM,0BAA0B,SAAU,WAAW,KAAG,oBAG7D,CAAA;IACF,MAAM,CAAC,MAAM,kBAAkB,SAAU,WAAW,QAAQ,QAAQ,SAAS,SAAS,KAAG,YAKvF,CAAA;IACF,MAAM,CAAC,MAAM,qBAAqB,SAAU,WAAW,SAAS,CAAC,WAAW,GAAG,YAAY,CAAC,EAAE,KAAG,eAI/F,CAAA;IACF,MAAM,CAAC,MAAM,iBAAiB,SAAU,QAAQ,KAAG,WAIlD,CAAA;IAED,MAAM,CAAC,MAAM,uBAAuB,WAC3B,WAAW,GAAG,YAAY,SAC3B,SAAS,KACd,WAAW,GAAG,YAQhB,CAAA;IAED,MAAM,CAAC,MAAM,aAAa,YAAa,UAAU,QAAQ,MAAM,KAAG,UA6BjE,CAAA;IAED,MAAM,CAAC,MAAM,aAAa,YAAa,UAAU,mCAAiC,UAIjF,CAAA;IAED,MAAM,WAAW,cAAc,CAAC,CAAC;QAChC,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,CAAC,CAAA;QACjD,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,CAAC,CAAA;QACzC,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,CAAC,CAAA;QAC3C,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,GAAG,CAAC,CAAA;KACvD;IAED,MAAM,CAAC,MAAM,oBAAoB,eAAgB,UAAU,kCAa1D,CAAA;;CACD;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationContext.js","sourceRoot":"","sources":["../../../src/input-validation/ValidationContext.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AAEtC,IAAU,iBAAiB,CAyI1B;AAzID,WAAU,iBAAiB;IAW1B,IAAY,eAKX;IALD,WAAY,eAAe;QAC1B,kCAAe,CAAA;QACf,gCAAa,CAAA;QACb,wCAAqB,CAAA;QACrB,0CAAuB,CAAA;IACxB,CAAC,EALW,eAAe,GAAf,iCAAe,KAAf,iCAAe,QAK1B;IAkBY,uCAAqB,GAAG,CAAC,OAAmB,EAAmB,EAAE;QAC7E,OAAO,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,QAAQ;YAC/C,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,kBAAA,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IACpG,CAAC,CAAA;IAEY,mCAAiB,GAAG,CAAC,IAAiB,EAAE,IAAc,EAAe,EAAE,CAAC,CAAC;QACrF,IAAI;QACJ,IAAI;QACJ,IAAI,EAAE,eAAe,CAAC,IAAI;KAC1B,CAAC,CAAA;IACW,4CAA0B,GAAG,CAAC,IAAiB,EAAwB,EAAE,CAAC,CAAC;QACvF,IAAI;QACJ,IAAI,EAAE,eAAe,CAAC,SAAS;KAC/B,CAAC,CAAA;IACW,oCAAkB,GAAG,CAAC,IAAiB,EAAE,IAAc,EAAE,KAAgB,EAAgB,EAAE,CAAC,CAAC;QACzG,IAAI;QACJ,IAAI;QACJ,KAAK;QACL,IAAI,EAAE,eAAe,CAAC,KAAK;KAC3B,CAAC,CAAA;IACW,uCAAqB,GAAG,CAAC,IAAiB,EAAE,KAAqC,EAAmB,EAAE,CAAC,CAAC;QACpH,IAAI;QACJ,KAAK;QACL,IAAI,EAAE,eAAe,CAAC,QAAQ;KAC9B,CAAC,CAAA;IACW,mCAAiB,GAAG,CAAC,IAAc,EAAe,EAAE;QAChE,MAAM,OAAO,GAAQ,EAAE,IAAI,EAAE,CAAA;QAC7B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAA;QACtB,OAAO,OAAO,CAAA;IACf,CAAC,CAAA;IAEY,yCAAuB,GAAG,CACtC,MAAkC,EAClC,
|
|
1
|
+
{"version":3,"file":"ValidationContext.js","sourceRoot":"","sources":["../../../src/input-validation/ValidationContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationDataSelector.d.ts","sourceRoot":"","sources":["../../../src/input-validation/ValidationDataSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"ValidationDataSelector.d.ts","sourceRoot":"","sources":["../../../src/input-validation/ValidationDataSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEvD,qBAAa,sBAAsB;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAgB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAArD,KAAK,EAAE,KAAK,CAAC,MAAM,EAAmB,eAAe,EAAE,eAAe;IAEtF,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW;IAI9E,MAAM,CAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,KAAK,EAAE,KAAK,CAAC,WAAW,EACxB,YAAY,EAAE,YAAY,GACxB,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;CAY/B"}
|
|
@@ -14,7 +14,7 @@ class ValidationDataSelector {
|
|
|
14
14
|
return {};
|
|
15
15
|
}
|
|
16
16
|
const queryAst = this.queryAstFactory.create(entity.name, dependencies).withArg('by', where);
|
|
17
|
-
const node = await mapper.selectUnique(entity, queryAst);
|
|
17
|
+
const node = await mapper.selectUnique(entity, queryAst, null);
|
|
18
18
|
if (!node) {
|
|
19
19
|
return null;
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationDataSelector.js","sourceRoot":"","sources":["../../../src/input-validation/ValidationDataSelector.ts"],"names":[],"mappings":";;;AAKA,MAAa,sBAAsB;IAClC,YAA6B,KAAmB,EAAmB,eAAgC;QAAtE,UAAK,GAAL,KAAK,CAAc;QAAmB,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAEhG,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,MAAoB,EAAE,KAAwB;QAC1F,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC7C,CAAC;IAEM,KAAK,CAAC,MAAM,CAClB,MAAc,EACd,MAAoB,EACpB,KAAwB,EACxB,YAA0B;QAE1B,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3C,OAAO,EAAE,CAAA;SACT;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC5F,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"ValidationDataSelector.js","sourceRoot":"","sources":["../../../src/input-validation/ValidationDataSelector.ts"],"names":[],"mappings":";;;AAKA,MAAa,sBAAsB;IAClC,YAA6B,KAAmB,EAAmB,eAAgC;QAAtE,UAAK,GAAL,KAAK,CAAc;QAAmB,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAEhG,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,MAAoB,EAAE,KAAwB;QAC1F,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC7C,CAAC;IAEM,KAAK,CAAC,MAAM,CAClB,MAAc,EACd,MAAoB,EACpB,KAAwB,EACxB,YAA0B;QAE1B,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3C,OAAO,EAAE,CAAA;SACT;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC5F,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC9D,IAAI,CAAC,IAAI,EAAE;YACV,OAAO,IAAI,CAAA;SACX;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;CACD;AAxBD,wDAwBC"}
|
|
@@ -34,10 +34,10 @@ export declare class Mapper {
|
|
|
34
34
|
readonly constraintHelper: ConstraintHelper;
|
|
35
35
|
constructor(schema: Model.Schema, db: database.Client, predicatesInjector: PredicatesInjector, selectBuilderFactory: SelectBuilderFactory, uniqueWhereExpander: UniqueWhereExpander, whereBuilder: WhereBuilder, junctionTableManager: JunctionTableManager, deleteExecutor: DeleteExecutor, updater: Updater, inserter: Inserter, pathFactory: PathFactory);
|
|
36
36
|
selectField(entity: Model.Entity, where: Input.UniqueWhere, fieldName: string): Promise<any>;
|
|
37
|
-
select(entity: Model.Entity, input: ObjectNode<Input.ListQueryInput
|
|
38
|
-
select(entity: Model.Entity, input: ObjectNode<Input.ListQueryInput>, indexBy: string): Promise<SelectIndexedResultObjects>;
|
|
39
|
-
selectUnique(entity: Model.Entity, query: ObjectNode<Input.UniqueQueryInput
|
|
40
|
-
selectGrouped(entity: Model.Entity, input: ObjectNode<Input.ListQueryInput>, relation: Model.JoiningColumnRelation & Model.
|
|
37
|
+
select(entity: Model.Entity, input: ObjectNode<Input.ListQueryInput>, overRelation: Model.AnyRelation | null): Promise<SelectResultObject[]>;
|
|
38
|
+
select(entity: Model.Entity, input: ObjectNode<Input.ListQueryInput>, overRelation: Model.AnyRelation | null, indexBy: string): Promise<SelectIndexedResultObjects>;
|
|
39
|
+
selectUnique(entity: Model.Entity, query: ObjectNode<Input.UniqueQueryInput>, overRelation: Model.AnyRelation | null): Promise<SelectResultObject | null>;
|
|
40
|
+
selectGrouped(entity: Model.Entity, input: ObjectNode<Input.ListQueryInput>, relation: Model.JoiningColumnRelation & Model.AnyRelation): Promise<import("./select").SelectGroupedObjects>;
|
|
41
41
|
private selectRows;
|
|
42
42
|
count(entity: Model.Entity, filter: Input.OptionalWhere): Promise<any>;
|
|
43
43
|
countGrouped(entity: Model.Entity, filter: Input.OptionalWhere, relation: Model.JoiningColumnRelation & Model.Relation): Promise<Record<string, number>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mapper.d.ts","sourceRoot":"","sources":["../../../src/mapper/Mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,EAAkB,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAiB,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACjE,OAAO,EAA8B,kBAAkB,EAAE,MAAM,UAAU,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGtD,qBAAa,MAAM;IAOjB,OAAO,CAAC,QAAQ,CAAC,MAAM;aACP,EAAE,EAAE,QAAQ,CAAC,MAAM;IACnC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAhB7B,OAAO,CAAC,eAAe,CAA+C;IACtE,SAAgB,eAAe,yBAA+B;IAC9D,SAAgB,KAAK,QAAc;IACnC,SAAgB,gBAAgB,EAAE,gBAAgB,CAAA;gBAGhC,MAAM,EAAE,KAAK,CAAC,MAAM,EACrB,EAAE,EAAE,QAAQ,CAAC,MAAM,EAClB,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,oBAAoB,EAC1C,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW;IAK7B,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM;IAa7E,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Mapper.d.ts","sourceRoot":"","sources":["../../../src/mapper/Mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,7 +40,7 @@ class Mapper {
|
|
|
40
40
|
const result = await builtQb.getResult(this.db);
|
|
41
41
|
return result[0] !== undefined ? result[0][columnName] : undefined;
|
|
42
42
|
}
|
|
43
|
-
async select(entity, input, indexBy) {
|
|
43
|
+
async select(entity, input, overRelation, indexBy) {
|
|
44
44
|
const hydrator = new select_1.SelectHydrator();
|
|
45
45
|
let qb = database_1.SelectBuilder.create();
|
|
46
46
|
let indexByAlias = null;
|
|
@@ -49,14 +49,14 @@ class Mapper {
|
|
|
49
49
|
indexByAlias = path.for(indexBy).alias;
|
|
50
50
|
qb = qb.select([path.alias, (0, schema_utils_1.getColumnName)(this.schema, entity, indexBy)], indexByAlias);
|
|
51
51
|
}
|
|
52
|
-
const rows = await this.selectRows(hydrator, qb, entity, input);
|
|
52
|
+
const rows = await this.selectRows(hydrator, qb, entity, input, overRelation);
|
|
53
53
|
return await (indexByAlias !== null ? hydrator.hydrateAll(rows, indexByAlias) : hydrator.hydrateAll(rows));
|
|
54
54
|
}
|
|
55
|
-
async selectUnique(entity, query) {
|
|
55
|
+
async selectUnique(entity, query, overRelation) {
|
|
56
56
|
const uniqueWhere = this.uniqueWhereExpander.expand(entity, query.args.by);
|
|
57
57
|
const where = query.args.filter ? { and: [uniqueWhere, query.args.filter] } : uniqueWhere;
|
|
58
58
|
const queryExpanded = query.withArg('filter', where);
|
|
59
|
-
return (await this.select(entity, queryExpanded))[0] || null;
|
|
59
|
+
return (await this.select(entity, queryExpanded, overRelation))[0] || null;
|
|
60
60
|
}
|
|
61
61
|
async selectGrouped(entity, input, relation) {
|
|
62
62
|
const hydrator = new select_1.SelectHydrator();
|
|
@@ -64,15 +64,15 @@ class Mapper {
|
|
|
64
64
|
const path = this.pathFactory.create([]);
|
|
65
65
|
const groupingKey = '__grouping_key';
|
|
66
66
|
qb = qb.select([path.alias, relation.joiningColumn.columnName], groupingKey);
|
|
67
|
-
const rows = await this.selectRows(hydrator, qb, entity, input, relation.name);
|
|
67
|
+
const rows = await this.selectRows(hydrator, qb, entity, input, relation, relation.name);
|
|
68
68
|
return await hydrator.hydrateGroups(rows, groupingKey);
|
|
69
69
|
}
|
|
70
|
-
async selectRows(hydrator, qb, entity, input, groupBy) {
|
|
70
|
+
async selectRows(hydrator, qb, entity, input, overRelation, groupBy) {
|
|
71
71
|
const inputWithOrder = select_2.OrderByHelper.appendDefaultOrderBy(entity, input, []);
|
|
72
72
|
const path = this.pathFactory.create([]);
|
|
73
73
|
const augmentedBuilder = qb.from(entity.tableName, path.alias).meta('path', [...input.path, input.alias]);
|
|
74
74
|
const selector = this.selectBuilderFactory.create(augmentedBuilder, hydrator);
|
|
75
|
-
const filterWithPredicates = this.predicatesInjector.inject(entity, inputWithOrder.args.filter || {});
|
|
75
|
+
const filterWithPredicates = this.predicatesInjector.inject(entity, inputWithOrder.args.filter || {}, overRelation !== null && overRelation !== void 0 ? overRelation : undefined);
|
|
76
76
|
const inputWithPredicates = inputWithOrder.withArg('filter', filterWithPredicates);
|
|
77
77
|
selector.select(this, entity, inputWithPredicates, path, groupBy);
|
|
78
78
|
return await selector.execute(this.db);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mapper.js","sourceRoot":"","sources":["../../../src/mapper/Mapper.ts"],"names":[],"mappings":";;;AACA,0DAAuD;AACvD,qCAAyF;AAGzF,kDAA2D;AAK3D,qCAAiE;AACjE,qCAAyE;AAGzE,6CAA0C;AAC1C,qCAAwC;AAGxC,oCAAgC;AAChC,qDAAiD;AACjD,kDAAsD;AACtD,4CAAsD;AAEtD,MAAa,MAAM;IAMlB,YACkB,MAAoB,EACrB,EAAmB,EAClB,kBAAsC,EACtC,oBAA0C,EAC1C,mBAAwC,EACxC,YAA0B,EAC1B,oBAA0C,EAC1C,cAA8B,EAC9B,OAAgB,EAChB,QAAkB,EAClB,WAAwB;QAVxB,WAAM,GAAN,MAAM,CAAc;QACrB,OAAE,GAAF,EAAE,CAAiB;QAClB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,YAAO,GAAP,OAAO,CAAS;QAChB,aAAQ,GAAR,QAAQ,CAAU;QAClB,gBAAW,GAAX,WAAW,CAAa;QAhBlC,oBAAe,GAA6C,EAAE,CAAA;QACtD,oBAAe,GAAG,IAAI,+BAAsB,EAAE,CAAA;QAC9C,UAAK,GAAG,IAAI,aAAK,EAAE,CAAA;QAgBlC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,EAAE,CAAC,CAAA;IACjD,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,MAAoB,EAAE,KAAwB,EAAE,SAAiB;QACzF,MAAM,UAAU,GAAG,IAAA,4BAAa,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QAEhE,MAAM,EAAE,GAAG,wBAAa,CAAC,MAAM,EAAE,CAAC,EAAE;aAClC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;aAC/B,MAAM,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAA;QAC/F,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAE/C,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnE,CAAC;
|
|
1
|
+
{"version":3,"file":"Mapper.js","sourceRoot":"","sources":["../../../src/mapper/Mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapperContainer.d.ts","sourceRoot":"","sources":["../../../src/mapper/MapperContainer.ts"],"names":[],"mappings":"AAYA,OAAO,EAON,MAAM,EACN,aAAa,EAOb,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAoC,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"MapperContainer.d.ts","sourceRoot":"","sources":["../../../src/mapper/MapperContainer.ts"],"names":[],"mappings":"AAYA,OAAO,EAON,MAAM,EACN,aAAa,EAOb,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAoC,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAMnD,aAAK,mBAAmB,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,GAAG,CAAC,YAAY,CAAA;IACnC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAA;IAC5B,SAAS,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,MAAM,WAAW,eAAe;IAC/B,aAAa,EAAE,aAAa,CAAA;CAC5B;AAED,eAAO,MAAM,qBAAqB,0DAA2D,mBAAmB;wBAuEjG,MAAM;EAgBpB,CAAA"}
|
|
@@ -9,16 +9,19 @@ const mapper_1 = require("../mapper");
|
|
|
9
9
|
const dic_1 = require("@contember/dic");
|
|
10
10
|
const PaginatedHasManyExecutionHandler_1 = require("../extensions/paginatedHasMany/PaginatedHasManyExecutionHandler");
|
|
11
11
|
const PaginatedHasManyFieldProvider_1 = require("../extensions/paginatedHasMany/PaginatedHasManyFieldProvider");
|
|
12
|
+
const WhereOptimizer_1 = require("./select/optimizer/WhereOptimizer");
|
|
13
|
+
const ConditionOptimizer_1 = require("./select/optimizer/ConditionOptimizer");
|
|
12
14
|
const createMapperContainer = ({ permissions, schema, identityVariables, providers }) => {
|
|
13
15
|
const builder = new dic_1.Builder({})
|
|
14
16
|
.addService('providers', () => providers)
|
|
15
17
|
.addService('variableInjector', () => new acl_1.VariableInjector(schema.model, identityVariables))
|
|
16
|
-
.addService('predicateFactory', ({ variableInjector }) => new acl_1.PredicateFactory(permissions, variableInjector))
|
|
18
|
+
.addService('predicateFactory', ({ variableInjector }) => new acl_1.PredicateFactory(permissions, schema.model, variableInjector))
|
|
17
19
|
.addService('predicatesInjector', ({ predicateFactory }) => new acl_1.PredicatesInjector(schema.model, predicateFactory))
|
|
18
20
|
.addService('joinBuilder', () => new select_1.JoinBuilder(schema.model))
|
|
19
21
|
.addService('conditionBuilder', () => new select_1.ConditionBuilder())
|
|
20
22
|
.addService('pathFactory', () => new mapper_1.PathFactory())
|
|
21
|
-
.addService('
|
|
23
|
+
.addService('whereOptimized', () => new WhereOptimizer_1.WhereOptimizer(schema.model, new ConditionOptimizer_1.ConditionOptimizer()))
|
|
24
|
+
.addService('whereBuilder', ({ joinBuilder, conditionBuilder, pathFactory, whereOptimized }) => new select_1.WhereBuilder(schema.model, joinBuilder, conditionBuilder, pathFactory, whereOptimized))
|
|
22
25
|
.addService('orderByBuilder', ({ joinBuilder }) => new select_1.OrderByBuilder(schema.model, joinBuilder))
|
|
23
26
|
.addService('relationFetcher', ({ whereBuilder, orderByBuilder, predicatesInjector, pathFactory }) => new select_1.RelationFetcher(whereBuilder, orderByBuilder, predicatesInjector, pathFactory))
|
|
24
27
|
.addService('fieldsVisitorFactory', ({ relationFetcher, predicateFactory, whereBuilder }) => new select_1.FieldsVisitorFactory(schema.model, relationFetcher, predicateFactory, whereBuilder))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapperContainer.js","sourceRoot":"","sources":["../../../src/mapper/MapperContainer.ts"],"names":[],"mappings":";;;AAAA,gCAA+E;AAC/E,qCAQiB;AACjB,wDAAwD;AACxD,8CAA8F;AAC9F,sCAekB;AAClB,wCAAwC;AAIxC,sHAAkH;AAClH,gHAA4G;
|
|
1
|
+
{"version":3,"file":"MapperContainer.js","sourceRoot":"","sources":["../../../src/mapper/MapperContainer.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,23 +4,58 @@ import { Input, Model } from '@contember/schema';
|
|
|
4
4
|
import { OrderByBuilder } from './OrderByBuilder';
|
|
5
5
|
import { PredicatesInjector } from '../../acl';
|
|
6
6
|
import { ObjectNode } from '../../inputProcessing';
|
|
7
|
-
import { JoiningColumns } from '../types';
|
|
8
7
|
import { SelectGroupedObjects } from './SelectHydrator';
|
|
9
8
|
import { Mapper } from '../Mapper';
|
|
10
9
|
export declare type GroupedCounts = Record<Input.PrimaryValue, number>;
|
|
10
|
+
declare type CountOneHasManyGroupsArgs = {
|
|
11
|
+
mapper: Mapper;
|
|
12
|
+
filter: Input.OptionalWhere | undefined;
|
|
13
|
+
targetEntity: Model.Entity;
|
|
14
|
+
targetRelation: Model.ManyHasOneRelation;
|
|
15
|
+
ids: Input.PrimaryValue[];
|
|
16
|
+
};
|
|
17
|
+
declare type FetchOneHasManyGroupsArgs = {
|
|
18
|
+
mapper: Mapper;
|
|
19
|
+
objectNode: ObjectNode<Input.ListQueryInput>;
|
|
20
|
+
targetEntity: Model.Entity;
|
|
21
|
+
relation: Model.OneHasManyRelation;
|
|
22
|
+
targetRelation: Model.ManyHasOneRelation;
|
|
23
|
+
ids: Input.PrimaryValue[];
|
|
24
|
+
};
|
|
25
|
+
declare type ManyHasManyBaseArgs = {
|
|
26
|
+
mapper: Mapper;
|
|
27
|
+
targetEntity: Model.Entity;
|
|
28
|
+
ids: Input.PrimaryValue[];
|
|
29
|
+
} & ({
|
|
30
|
+
directionFrom: 'owning';
|
|
31
|
+
sourceRelation: Model.ManyHasManyOwningRelation;
|
|
32
|
+
targetRelation: Model.ManyHasManyInverseRelation | null;
|
|
33
|
+
} | {
|
|
34
|
+
directionFrom: 'inverse';
|
|
35
|
+
sourceRelation: Model.ManyHasManyInverseRelation;
|
|
36
|
+
targetRelation: Model.ManyHasManyOwningRelation;
|
|
37
|
+
});
|
|
38
|
+
declare type CountManyHasManyGroupArgs = ManyHasManyBaseArgs & {
|
|
39
|
+
filter: Input.OptionalWhere | undefined;
|
|
40
|
+
};
|
|
41
|
+
declare type FetchManyHasManyGroupsArgs = ManyHasManyBaseArgs & {
|
|
42
|
+
field: ObjectNode<Input.ListQueryInput>;
|
|
43
|
+
};
|
|
11
44
|
export declare class RelationFetcher {
|
|
12
45
|
private readonly whereBuilder;
|
|
13
46
|
private readonly orderBuilder;
|
|
14
47
|
private readonly predicateInjector;
|
|
15
48
|
private readonly pathFactory;
|
|
16
49
|
constructor(whereBuilder: WhereBuilder, orderBuilder: OrderByBuilder, predicateInjector: PredicatesInjector, pathFactory: PathFactory);
|
|
17
|
-
countOneHasManyGroups(mapper
|
|
18
|
-
fetchOneHasManyGroups(mapper
|
|
50
|
+
countOneHasManyGroups({ mapper, filter, targetEntity, targetRelation, ids, }: CountOneHasManyGroupsArgs): Promise<GroupedCounts>;
|
|
51
|
+
fetchOneHasManyGroups({ mapper, objectNode, targetEntity, relation, targetRelation, ids, }: FetchOneHasManyGroupsArgs): Promise<SelectGroupedObjects>;
|
|
19
52
|
private createOneHasManyFilter;
|
|
20
|
-
countManyHasManyGroups(mapper
|
|
21
|
-
fetchManyHasManyGroups(mapper
|
|
53
|
+
countManyHasManyGroups({ mapper, filter, targetEntity, directionFrom, sourceRelation, targetRelation, ids, }: CountManyHasManyGroupArgs): Promise<GroupedCounts>;
|
|
54
|
+
fetchManyHasManyGroups({ mapper, field, sourceRelation, targetEntity, targetRelation, directionFrom, ids, }: FetchManyHasManyGroupsArgs): Promise<SelectGroupedObjects>;
|
|
55
|
+
private resolveJoiningColumns;
|
|
22
56
|
private buildManyHasManyGroups;
|
|
23
57
|
private fetchJunction;
|
|
24
58
|
private buildJunctionQb;
|
|
25
59
|
}
|
|
60
|
+
export {};
|
|
26
61
|
//# sourceMappingURL=RelationFetcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelationFetcher.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/RelationFetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAS,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAa,UAAU,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"RelationFetcher.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/RelationFetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,11 +11,11 @@ class RelationFetcher {
|
|
|
11
11
|
this.predicateInjector = predicateInjector;
|
|
12
12
|
this.pathFactory = pathFactory;
|
|
13
13
|
}
|
|
14
|
-
async countOneHasManyGroups(mapper, filter, targetEntity, targetRelation, ids) {
|
|
14
|
+
async countOneHasManyGroups({ mapper, filter, targetEntity, targetRelation, ids, }) {
|
|
15
15
|
const filterWithParent = this.createOneHasManyFilter(targetEntity, targetRelation, ids, filter);
|
|
16
16
|
return mapper.countGrouped(targetEntity, filterWithParent, targetRelation);
|
|
17
17
|
}
|
|
18
|
-
async fetchOneHasManyGroups(mapper, objectNode, targetEntity, relation, targetRelation, ids) {
|
|
18
|
+
async fetchOneHasManyGroups({ mapper, objectNode, targetEntity, relation, targetRelation, ids, }) {
|
|
19
19
|
const filter = this.createOneHasManyFilter(targetEntity, targetRelation, ids, objectNode.args.filter);
|
|
20
20
|
const objectNodeWithWhere = objectNode.withArg('filter', filter);
|
|
21
21
|
const objectNodeWithOrder = OrderByHelper_1.OrderByHelper.appendDefaultOrderBy(targetEntity, objectNodeWithWhere, relation.orderBy || []);
|
|
@@ -30,7 +30,9 @@ class RelationFetcher {
|
|
|
30
30
|
: { and: [filter[targetRelation.name], targetRelationFilter] },
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
async countManyHasManyGroups(mapper, filter, targetEntity,
|
|
33
|
+
async countManyHasManyGroups({ mapper, filter, targetEntity, directionFrom, sourceRelation, targetRelation, ids, }) {
|
|
34
|
+
const owningRelation = directionFrom === 'owning' ? sourceRelation : targetRelation;
|
|
35
|
+
const joiningColumns = this.resolveJoiningColumns({ directionFrom, owningRelation });
|
|
34
36
|
const qb = this.buildJunctionQb(owningRelation, ids, joiningColumns, targetEntity, { filter })
|
|
35
37
|
.select(['junction_', joiningColumns.sourceColumn.columnName])
|
|
36
38
|
.select(expr => expr.raw('count(*)'), 'row_count')
|
|
@@ -42,8 +44,10 @@ class RelationFetcher {
|
|
|
42
44
|
}
|
|
43
45
|
return Object.fromEntries(result);
|
|
44
46
|
}
|
|
45
|
-
async fetchManyHasManyGroups(mapper, field, targetEntity,
|
|
46
|
-
const
|
|
47
|
+
async fetchManyHasManyGroups({ mapper, field, sourceRelation, targetEntity, targetRelation, directionFrom, ids, }) {
|
|
48
|
+
const owningRelation = directionFrom === 'owning' ? sourceRelation : targetRelation;
|
|
49
|
+
const joiningColumns = this.resolveJoiningColumns({ directionFrom, owningRelation });
|
|
50
|
+
const defaultOrderBy = sourceRelation.orderBy || [];
|
|
47
51
|
const objectNode = OrderByHelper_1.OrderByHelper.appendDefaultOrderBy(targetEntity, field, defaultOrderBy);
|
|
48
52
|
const junctionValues = await this.fetchJunction(mapper.db, owningRelation, ids, joiningColumns, targetEntity, objectNode);
|
|
49
53
|
if (junctionValues.length === 0) {
|
|
@@ -61,9 +65,18 @@ class RelationFetcher {
|
|
|
61
65
|
},
|
|
62
66
|
})
|
|
63
67
|
.withField(primaryField);
|
|
64
|
-
const result = await mapper.select(targetEntity, queryWithWhere);
|
|
68
|
+
const result = await mapper.select(targetEntity, queryWithWhere, targetRelation);
|
|
65
69
|
return this.buildManyHasManyGroups(targetEntity, joiningColumns, result, junctionValues);
|
|
66
70
|
}
|
|
71
|
+
resolveJoiningColumns({ directionFrom, owningRelation }) {
|
|
72
|
+
return directionFrom === 'owning' ? {
|
|
73
|
+
sourceColumn: owningRelation.joiningTable.joiningColumn,
|
|
74
|
+
targetColumn: owningRelation.joiningTable.inverseJoiningColumn,
|
|
75
|
+
} : {
|
|
76
|
+
sourceColumn: owningRelation.joiningTable.inverseJoiningColumn,
|
|
77
|
+
targetColumn: owningRelation.joiningTable.joiningColumn,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
67
80
|
buildManyHasManyGroups(entity, joiningColumns, resultObjects, junctionValues) {
|
|
68
81
|
const dataById = {};
|
|
69
82
|
for (let object of resultObjects) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelationFetcher.js","sourceRoot":"","sources":["../../../../src/mapper/select/RelationFetcher.ts"],"names":[],"mappings":";;;AAEA,kDAA0F;AAI1F,2DAA6D;AAE7D,mDAA+C;
|
|
1
|
+
{"version":3,"file":"RelationFetcher.js","sourceRoot":"","sources":["../../../../src/mapper/select/RelationFetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,14 @@ 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
7
|
export declare class WhereBuilder {
|
|
7
8
|
private readonly schema;
|
|
8
9
|
private readonly joinBuilder;
|
|
9
10
|
private readonly conditionBuilder;
|
|
10
11
|
private readonly pathFactory;
|
|
11
|
-
|
|
12
|
+
private readonly whereOptimizer;
|
|
13
|
+
constructor(schema: Model.Schema, joinBuilder: JoinBuilder, conditionBuilder: ConditionBuilder, pathFactory: PathFactory, whereOptimizer: WhereOptimizer);
|
|
12
14
|
build(qb: SelectBuilder<SelectBuilder.Result>, entity: Model.Entity, path: Path, where: Input.OptionalWhere, allowManyJoin?: boolean): SelectBuilder<SelectBuilder.Result>;
|
|
13
15
|
buildAdvanced(entity: Model.Entity, path: Path, where: Input.OptionalWhere, callback: (clauseCb: (clause: SqlConditionBuilder) => SqlConditionBuilder) => SelectBuilder<SelectBuilder.Result>, allowManyJoin?: boolean): SelectBuilder<SelectBuilder.Result>;
|
|
14
16
|
private buildInternal;
|
|
@@ -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;
|
|
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,aAAa,GAAE,OAAe;IAKxB,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,aAAa,GAAE,OAAe;IAY/B,OAAO,CAAC,aAAa;IA0IrB,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"}
|
|
@@ -5,18 +5,20 @@ const utils_1 = require("../../utils");
|
|
|
5
5
|
const schema_utils_1 = require("@contember/schema-utils");
|
|
6
6
|
const database_1 = require("@contember/database");
|
|
7
7
|
class WhereBuilder {
|
|
8
|
-
constructor(schema, joinBuilder, conditionBuilder, pathFactory) {
|
|
8
|
+
constructor(schema, joinBuilder, conditionBuilder, pathFactory, whereOptimizer) {
|
|
9
9
|
this.schema = schema;
|
|
10
10
|
this.joinBuilder = joinBuilder;
|
|
11
11
|
this.conditionBuilder = conditionBuilder;
|
|
12
12
|
this.pathFactory = pathFactory;
|
|
13
|
+
this.whereOptimizer = whereOptimizer;
|
|
13
14
|
}
|
|
14
15
|
build(qb, entity, path, where, allowManyJoin = false) {
|
|
15
16
|
return this.buildAdvanced(entity, path, where, cb => qb.where(clause => cb(clause)), allowManyJoin);
|
|
16
17
|
}
|
|
17
18
|
buildAdvanced(entity, path, where, callback, allowManyJoin = false) {
|
|
19
|
+
const optimizedWhere = this.whereOptimizer.optimize(where, entity);
|
|
18
20
|
const joinList = [];
|
|
19
|
-
const qbWithWhere = callback(clause => this.buildInternal(clause, entity, path,
|
|
21
|
+
const qbWithWhere = callback(clause => this.buildInternal(clause, entity, path, optimizedWhere, allowManyJoin, joinList));
|
|
20
22
|
return joinList.reduce((qb, { path, entity, relationName }) => this.joinBuilder.join(qb, path, entity, relationName), qbWithWhere);
|
|
21
23
|
}
|
|
22
24
|
buildInternal(conditionBuilder, entity, path, where, allowManyJoin, joinList) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WhereBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/select/WhereBuilder.ts"],"names":[],"mappings":";;;AAAA,uCAAkC;AAClC,0DAA4D;AAK5D,kDAAoH;
|
|
1
|
+
{"version":3,"file":"WhereBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/select/WhereBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,10 +14,10 @@ export declare class FieldsVisitor implements Model.RelationByTypeVisitor<void>,
|
|
|
14
14
|
constructor(schema: Model.Schema, relationFetcher: RelationFetcher, predicateFactory: PredicateFactory, whereBuilder: WhereBuilder, mapper: Mapper, executionContext: SelectExecutionHandlerContext);
|
|
15
15
|
visitColumn(entity: Model.Entity, column: Model.AnyColumn): void;
|
|
16
16
|
visitManyHasManyInverse(entity: Model.Entity, relation: Model.ManyHasManyInverseRelation, targetEntity: Model.Entity, targetRelation: Model.ManyHasManyOwningRelation): void;
|
|
17
|
-
visitManyHasManyOwning(entity: Model.Entity, relation: Model.ManyHasManyOwningRelation, targetEntity: Model.Entity): void;
|
|
17
|
+
visitManyHasManyOwning(entity: Model.Entity, relation: Model.ManyHasManyOwningRelation, targetEntity: Model.Entity, targetRelation: Model.ManyHasManyInverseRelation | null): void;
|
|
18
18
|
visitOneHasMany(entity: Model.Entity, relation: Model.OneHasManyRelation, targetEntity: Model.Entity, targetRelation: Model.ManyHasOneRelation): void;
|
|
19
19
|
visitOneHasOneInverse(entity: Model.Entity, relation: Model.OneHasOneInverseRelation, targetEntity: Model.Entity, targetRelation: Model.OneHasOneOwningRelation): void;
|
|
20
20
|
visitOneHasOneOwning(entity: Model.Entity, relation: Model.OneHasOneOwningRelation, targetEntity: Model.Entity, targetRelation: Model.OneHasOneInverseRelation | null): void;
|
|
21
|
-
visitManyHasOne(entity: Model.Entity, relation: Model.ManyHasOneRelation, targetEntity: Model.Entity): void;
|
|
21
|
+
visitManyHasOne(entity: Model.Entity, relation: Model.ManyHasOneRelation, targetEntity: Model.Entity, targetRelation: Model.OneHasManyRelation | null): void;
|
|
22
22
|
}
|
|
23
23
|
//# 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;
|
|
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;gBALhB,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;IAGjE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI;IAkCzD,uBAAuB,CAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,KAAK,CAAC,0BAA0B,EAC1C,YAAY,EAAE,KAAK,CAAC,MAAM,EAC1B,cAAc,EAAE,KAAK,CAAC,yBAAyB,GAC7C,IAAI;IAuBA,sBAAsB,CAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,KAAK,CAAC,yBAAyB,EACzC,YAAY,EAAE,KAAK,CAAC,MAAM,EAC1B,cAAc,EAAE,KAAK,CAAC,0BAA0B,GAAG,IAAI,GACrD,IAAI;IAsBA,eAAe,CACrB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,KAAK,CAAC,kBAAkB,EAClC,YAAY,EAAE,KAAK,CAAC,MAAM,EAC1B,cAAc,EAAE,KAAK,CAAC,kBAAkB,GACtC,IAAI;IAqBA,qBAAqB,CAC3B,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,KAAK,CAAC,wBAAwB,EACxC,YAAY,EAAE,KAAK,CAAC,MAAM,EAC1B,cAAc,EAAE,KAAK,CAAC,uBAAuB,GAC3C,IAAI;IA0BA,oBAAoB,CAC1B,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,KAAK,CAAC,uBAAuB,EACvC,YAAY,EAAE,KAAK,CAAC,MAAM,EAC1B,cAAc,EAAE,KAAK,CAAC,wBAAwB,GAAG,IAAI,GACnD,IAAI;IAwBA,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,kBAAkB,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,kBAAkB,GAAG,IAAI,GAAG,IAAI;CAuBnK"}
|