@contember/engine-content-api 2.1.0-alpha.24 → 2.1.0-alpha.26
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/development/index.cjs +0 -2
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +0 -2
- package/dist/development/index.js.map +1 -1
- package/dist/development/src/ExecutionContainer.cjs +4 -3
- package/dist/development/src/ExecutionContainer.cjs.map +1 -1
- package/dist/development/src/ExecutionContainer.js +4 -3
- package/dist/development/src/ExecutionContainer.js.map +1 -1
- package/dist/development/src/mapper/select/optimizer/WhereOptimizer.cjs +6 -2
- package/dist/development/src/mapper/select/optimizer/WhereOptimizer.cjs.map +1 -1
- package/dist/development/src/mapper/select/optimizer/WhereOptimizer.js +6 -2
- package/dist/development/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -1
- package/dist/production/index.cjs +0 -2
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +0 -2
- package/dist/production/index.js.map +1 -1
- package/dist/production/src/ExecutionContainer.cjs +4 -3
- package/dist/production/src/ExecutionContainer.cjs.map +1 -1
- package/dist/production/src/ExecutionContainer.js +4 -3
- package/dist/production/src/ExecutionContainer.js.map +1 -1
- package/dist/production/src/mapper/select/optimizer/WhereOptimizer.cjs +6 -2
- package/dist/production/src/mapper/select/optimizer/WhereOptimizer.cjs.map +1 -1
- package/dist/production/src/mapper/select/optimizer/WhereOptimizer.js +6 -2
- package/dist/production/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -1
- package/dist/tests/src/test.d.ts.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/ExecutionContainer.d.ts +13 -3
- package/dist/types/ExecutionContainer.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/mapper/select/optimizer/WhereOptimizer.d.ts +6 -1
- package/dist/types/mapper/select/optimizer/WhereOptimizer.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/ExecutionContainer.ts +7 -3
- package/src/index.ts +2 -1
- package/src/mapper/select/optimizer/WhereOptimizer.ts +10 -1
- package/tests/src/test.ts +1 -0
|
@@ -9,7 +9,7 @@ import { Client, DatabaseMetadata, SelectBuilder as DbSelectBuilder } from '@con
|
|
|
9
9
|
import { Providers } from '@contember/schema-utils';
|
|
10
10
|
import { PaginatedHasManyExecutionHandler } from './extensions/paginatedHasMany/PaginatedHasManyExecutionHandler';
|
|
11
11
|
import { PaginatedHasManyFieldProvider } from './extensions/paginatedHasMany/PaginatedHasManyFieldProvider';
|
|
12
|
-
import { WhereOptimizer } from './mapper/select/optimizer/WhereOptimizer';
|
|
12
|
+
import { WhereOptimizer, WhereOptimizerOptions } from './mapper/select/optimizer/WhereOptimizer';
|
|
13
13
|
import { GraphQlQueryAstFactory, MutationResolver, ReadResolver, ValidationResolver } from './resolvers';
|
|
14
14
|
import { ColumnValueResolver, DependencyCollector, EntityRulesResolver, InputPreValidator, QueryAstFactory, ValidationDataSelector } from './input-validation';
|
|
15
15
|
import { RefreshViewResolver } from './resolvers/RefreshViewResolver';
|
|
@@ -31,6 +31,10 @@ export type ExecutionContainerArgs = {
|
|
|
31
31
|
id: string;
|
|
32
32
|
slug: string;
|
|
33
33
|
};
|
|
34
|
+
userInfo: {
|
|
35
|
+
ipAddress: string | null;
|
|
36
|
+
userAgent: string | null;
|
|
37
|
+
};
|
|
34
38
|
};
|
|
35
39
|
export interface ExecutionContainer {
|
|
36
40
|
readResolver: ReadResolver;
|
|
@@ -42,10 +46,11 @@ export type ExecutionContainerBuilder = ReturnType<ExecutionContainerFactory['cr
|
|
|
42
46
|
export type ExecutionContainerHook = (builder: ExecutionContainerBuilder) => ExecutionContainerBuilder;
|
|
43
47
|
export declare class ExecutionContainerFactory {
|
|
44
48
|
private readonly providers;
|
|
49
|
+
private readonly whereOptimizerOptions?;
|
|
45
50
|
readonly hooks: ExecutionContainerHook[];
|
|
46
|
-
constructor(providers: Providers);
|
|
51
|
+
constructor(providers: Providers, whereOptimizerOptions?: WhereOptimizerOptions | undefined);
|
|
47
52
|
createBuilder(args: ExecutionContainerArgs): ExecutionContainerBuilder;
|
|
48
|
-
createBuilderInternal({ permissions, identityVariables, identityId, db, schema, schemaMeta, systemSchema, stage, project, schemaDatabaseMetadata }: ExecutionContainerArgs): Builder<{
|
|
53
|
+
createBuilderInternal({ permissions, identityVariables, identityId, db, schema, schemaMeta, systemSchema, stage, project, schemaDatabaseMetadata, userInfo }: ExecutionContainerArgs): Builder<{
|
|
49
54
|
systemSchema: string;
|
|
50
55
|
} & {
|
|
51
56
|
db: Client<import("@contember/database").Connection.ConnectionLike<{}>>;
|
|
@@ -66,6 +71,11 @@ export declare class ExecutionContainerFactory {
|
|
|
66
71
|
};
|
|
67
72
|
} & {
|
|
68
73
|
schemaDatabaseMetadata: DatabaseMetadata;
|
|
74
|
+
} & {
|
|
75
|
+
userInfo: {
|
|
76
|
+
ipAddress: string | null;
|
|
77
|
+
userAgent: string | null;
|
|
78
|
+
};
|
|
69
79
|
} & {
|
|
70
80
|
providers: Providers;
|
|
71
81
|
} & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionContainer.d.ts","sourceRoot":"","sources":["../../src/ExecutionContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAC9E,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,cAAc,EACd,eAAe,EACf,YAAY,EACZ,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,sCAAsC,EAAE,MAAM,cAAc,CAAA;AAC7F,OAAO,EACN,cAAc,EACd,oBAAoB,EACpB,QAAQ,EACR,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,aAAa,EAEb,cAAc,EACd,oBAAoB,EACpB,OAAO,EACP,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAChG,OAAO,EAAoB,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,gCAAgC,EAAE,MAAM,gEAAgE,CAAA;AACjH,OAAO,EAAE,6BAA6B,EAAE,MAAM,6DAA6D,CAAA;AAC3G,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;
|
|
1
|
+
{"version":3,"file":"ExecutionContainer.d.ts","sourceRoot":"","sources":["../../src/ExecutionContainer.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -8,6 +8,6 @@ export * from './types';
|
|
|
8
8
|
export * from './ExecutionContainer';
|
|
9
9
|
export { graphql } from 'graphql';
|
|
10
10
|
export { UserError } from './exception';
|
|
11
|
-
export { type DataModificationEvent, AfterCommitEvent, AfterInsertEvent, AfterJunctionUpdateEvent, AfterUpdateEvent, BeforeCommitEvent, BeforeDeleteEvent, BeforeInsertEvent, BeforeJunctionUpdateEvent, BeforeUpdateEvent, EventManager, Mapper, MapperFactory, type ExecutionContainer, type ExecutionContainerBuilder, Path, WhereBuilder, PathFactory, ExecutionContainerFactory, type ExecutionContainerHook, type ExecutionContainerArgs, } from './mapper';
|
|
11
|
+
export { type DataModificationEvent, AfterCommitEvent, AfterInsertEvent, AfterJunctionUpdateEvent, AfterUpdateEvent, BeforeCommitEvent, BeforeDeleteEvent, BeforeInsertEvent, BeforeJunctionUpdateEvent, BeforeUpdateEvent, EventManager, Mapper, MapperFactory, type ExecutionContainer, type ExecutionContainerBuilder, Path, type WhereBuilder, type JoinBuilder, PathFactory, ExecutionContainerFactory, type ExecutionContainerHook, type ExecutionContainerArgs, } from './mapper';
|
|
12
12
|
export * from './utils/uniqueWhereFields';
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,cAAc,SAAS,CAAA;AACvB,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACN,KAAK,qBAAqB,EAC1B,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,IAAI,EACJ,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,cAAc,SAAS,CAAA;AACvB,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACN,KAAK,qBAAqB,EAC1B,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,IAAI,EACJ,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,WAAW,EACX,yBAAyB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC3B,MAAM,UAAU,CAAA;AACjB,cAAc,2BAA2B,CAAA"}
|
|
@@ -4,11 +4,16 @@ export interface WhereOptimizationHints {
|
|
|
4
4
|
relationPath?: Model.AnyRelationContext[];
|
|
5
5
|
evaluatedPredicates?: Input.OptionalWhere[];
|
|
6
6
|
}
|
|
7
|
+
export type WhereOptimizerOptions = {
|
|
8
|
+
disable?: boolean;
|
|
9
|
+
maxCrossOptimizationInput?: number;
|
|
10
|
+
};
|
|
7
11
|
export declare class WhereOptimizer {
|
|
8
12
|
private readonly model;
|
|
9
13
|
private readonly conditionOptimizer;
|
|
14
|
+
private readonly options?;
|
|
10
15
|
private static eliminableRelations;
|
|
11
|
-
constructor(model: Model.Schema, conditionOptimizer: ConditionOptimizer);
|
|
16
|
+
constructor(model: Model.Schema, conditionOptimizer: ConditionOptimizer, options?: WhereOptimizerOptions | undefined);
|
|
12
17
|
optimize(where: Input.OptionalWhere, entity: Model.Entity, { relationPath, evaluatedPredicates }?: WhereOptimizationHints): Input.OptionalWhere;
|
|
13
18
|
private optimizeWhere;
|
|
14
19
|
private optimizeOr;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WhereOptimizer.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/select/optimizer/WhereOptimizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAYzD,MAAM,WAAW,sBAAsB;IACtC,YAAY,CAAC,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAA;IACzC,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,CAAA;CAC3C;AAID,qBAAa,cAAc;IAIzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;
|
|
1
|
+
{"version":3,"file":"WhereOptimizer.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/select/optimizer/WhereOptimizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAYzD,MAAM,WAAW,sBAAsB;IACtC,YAAY,CAAC,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAA;IACzC,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,CAAA;CAC3C;AAID,MAAM,MAAM,qBAAqB,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yBAAyB,CAAC,EAAE,MAAM,CAAA;CAClC,CAAA;AAED,qBAAa,cAAc;IAIzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAL1B,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAmG;gBAGnH,KAAK,EAAE,KAAK,CAAC,MAAM,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,CAAC,EAAE,qBAAqB,YAAA;IAI1C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,YAAiB,EAAE,mBAAwB,EAAE,GAAE,sBAA2B,GAAG,KAAK,CAAC,aAAa;IAkCpK,OAAO,CAAC,aAAa;IAiDrB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,iBAAiB;CAqCzB"}
|