@contember/engine-content-api 2.1.0-beta.1 → 2.1.0-rc.1
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 +1 -0
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +2 -1
- package/dist/development/src/ExecutionContainer.cjs +40 -4
- package/dist/development/src/ExecutionContainer.cjs.map +1 -1
- package/dist/development/src/ExecutionContainer.js +41 -5
- package/dist/development/src/ExecutionContainer.js.map +1 -1
- package/dist/development/src/acl/PermissionFactory.cjs +29 -15
- package/dist/development/src/acl/PermissionFactory.cjs.map +1 -1
- package/dist/development/src/acl/PermissionFactory.js +29 -15
- package/dist/development/src/acl/PermissionFactory.js.map +1 -1
- package/dist/development/src/acl/PredicateFactory.cjs +33 -13
- package/dist/development/src/acl/PredicateFactory.cjs.map +1 -1
- package/dist/development/src/acl/PredicateFactory.js +33 -13
- package/dist/development/src/acl/PredicateFactory.js.map +1 -1
- package/dist/development/src/acl/PredicatesInjector.cjs +21 -18
- package/dist/development/src/acl/PredicatesInjector.cjs.map +1 -1
- package/dist/development/src/acl/PredicatesInjector.js +21 -18
- package/dist/development/src/acl/PredicatesInjector.js.map +1 -1
- package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs +2 -1
- package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
- package/dist/development/src/mapper/select/handlers/FieldsVisitor.js +2 -1
- package/dist/development/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
- package/dist/production/index.cjs +1 -0
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +2 -1
- package/dist/production/src/ExecutionContainer.cjs +40 -4
- package/dist/production/src/ExecutionContainer.cjs.map +1 -1
- package/dist/production/src/ExecutionContainer.js +41 -5
- package/dist/production/src/ExecutionContainer.js.map +1 -1
- package/dist/production/src/acl/PermissionFactory.cjs +29 -15
- package/dist/production/src/acl/PermissionFactory.cjs.map +1 -1
- package/dist/production/src/acl/PermissionFactory.js +29 -15
- package/dist/production/src/acl/PermissionFactory.js.map +1 -1
- package/dist/production/src/acl/PredicateFactory.cjs +33 -13
- package/dist/production/src/acl/PredicateFactory.cjs.map +1 -1
- package/dist/production/src/acl/PredicateFactory.js +33 -13
- package/dist/production/src/acl/PredicateFactory.js.map +1 -1
- package/dist/production/src/acl/PredicatesInjector.cjs +21 -18
- package/dist/production/src/acl/PredicatesInjector.cjs.map +1 -1
- package/dist/production/src/acl/PredicatesInjector.js +21 -18
- package/dist/production/src/acl/PredicatesInjector.js.map +1 -1
- package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs +2 -1
- package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
- package/dist/production/src/mapper/select/handlers/FieldsVisitor.js +2 -1
- package/dist/production/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/ExecutionContainer.d.ts +20 -1
- package/dist/types/ExecutionContainer.d.ts.map +1 -1
- package/dist/types/acl/PermissionFactory.d.ts +6 -0
- package/dist/types/acl/PermissionFactory.d.ts.map +1 -1
- package/dist/types/acl/PredicateFactory.d.ts +17 -6
- package/dist/types/acl/PredicateFactory.d.ts.map +1 -1
- package/dist/types/acl/PredicatesInjector.d.ts.map +1 -1
- package/dist/types/mapper/select/handlers/FieldsVisitor.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -2
- package/src/ExecutionContainer.ts +57 -4
- package/src/acl/PermissionFactory.ts +48 -15
- package/src/acl/PredicateFactory.ts +38 -9
- package/src/acl/PredicatesInjector.ts +19 -13
- package/src/mapper/select/handlers/FieldsVisitor.ts +2 -1
- package/tests/cases/unit/permissionMerger.test.ts +162 -0
- package/tests/cases/unit/predicatesFactory.test.ts +75 -0
- package/vitest.config.ts +0 -3
|
@@ -13,6 +13,21 @@ import { WhereOptimizer, WhereOptimizerOptions } from './mapper/select/optimizer
|
|
|
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';
|
|
16
|
+
export interface TriggeredActionEvent {
|
|
17
|
+
id: string;
|
|
18
|
+
trigger: string;
|
|
19
|
+
target: string;
|
|
20
|
+
transactionId: string;
|
|
21
|
+
}
|
|
22
|
+
export interface TriggeredActionsCollector {
|
|
23
|
+
add(events: readonly TriggeredActionEvent[]): void;
|
|
24
|
+
getEvents(): readonly TriggeredActionEvent[];
|
|
25
|
+
}
|
|
26
|
+
export declare class InMemoryTriggeredActionsCollector implements TriggeredActionsCollector {
|
|
27
|
+
private events;
|
|
28
|
+
add(events: readonly TriggeredActionEvent[]): void;
|
|
29
|
+
getEvents(): readonly TriggeredActionEvent[];
|
|
30
|
+
}
|
|
16
31
|
export type ExecutionContainerArgs = {
|
|
17
32
|
schema: Schema;
|
|
18
33
|
schemaMeta: {
|
|
@@ -23,6 +38,7 @@ export type ExecutionContainerArgs = {
|
|
|
23
38
|
identityId: string;
|
|
24
39
|
identityVariables: Acl.VariablesMap;
|
|
25
40
|
permissions: Acl.Permissions;
|
|
41
|
+
allPermissions?: Acl.Permissions;
|
|
26
42
|
systemSchema: string;
|
|
27
43
|
project: {
|
|
28
44
|
slug: string;
|
|
@@ -41,6 +57,7 @@ export interface ExecutionContainer {
|
|
|
41
57
|
mutationResolver: MutationResolver;
|
|
42
58
|
validationResolver: ValidationResolver;
|
|
43
59
|
refreshViewResolver: RefreshViewResolver;
|
|
60
|
+
triggeredActionsCollector: TriggeredActionsCollector | undefined;
|
|
44
61
|
}
|
|
45
62
|
export type ExecutionContainerBuilder = ReturnType<ExecutionContainerFactory['createBuilderInternal']>;
|
|
46
63
|
export type ExecutionContainerHook = (builder: ExecutionContainerBuilder) => ExecutionContainerBuilder;
|
|
@@ -50,7 +67,7 @@ export declare class ExecutionContainerFactory {
|
|
|
50
67
|
readonly hooks: ExecutionContainerHook[];
|
|
51
68
|
constructor(providers: Providers, whereOptimizerOptions?: WhereOptimizerOptions | undefined);
|
|
52
69
|
createBuilder(args: ExecutionContainerArgs): ExecutionContainerBuilder;
|
|
53
|
-
createBuilderInternal({ permissions, identityVariables, identityId, db, schema, schemaMeta, systemSchema, stage, project, schemaDatabaseMetadata, userInfo }: ExecutionContainerArgs): Builder<{
|
|
70
|
+
createBuilderInternal({ permissions, allPermissions, identityVariables, identityId, db, schema, schemaMeta, systemSchema, stage, project, schemaDatabaseMetadata, userInfo, }: ExecutionContainerArgs): Builder<{
|
|
54
71
|
systemSchema: string;
|
|
55
72
|
} & {
|
|
56
73
|
db: Client<import("@contember/database").Connection.ConnectionLike<{}>>;
|
|
@@ -63,6 +80,8 @@ export declare class ExecutionContainerFactory {
|
|
|
63
80
|
id: string;
|
|
64
81
|
slug: string;
|
|
65
82
|
};
|
|
83
|
+
} & {
|
|
84
|
+
triggeredActionsCollector: TriggeredActionsCollector | undefined;
|
|
66
85
|
} & {
|
|
67
86
|
schema: Schema;
|
|
68
87
|
} & {
|
|
@@ -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,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACjJ,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,qBAAqB,EAAE,MAAM,0CAA0C,CAAA;AAEhG,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACxG,OAAO,EACN,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAErE,MAAM,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3B,sBAAsB,EAAE,gBAAgB,CAAA;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,GAAG,CAAC,YAAY,CAAA;IACnC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAA;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACzB,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACnC,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CAChE,CAAA;AAED,MAAM,WAAW,kBAAkB;IAClC,YAAY,EAAE,YAAY,CAAA;IAC1B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,mBAAmB,EAAE,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"ExecutionContainer.d.ts","sourceRoot":"","sources":["../../src/ExecutionContainer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,14 @@ import { Acl, Schema } from '@contember/schema';
|
|
|
2
2
|
export interface Identity {
|
|
3
3
|
projectRoles: readonly string[];
|
|
4
4
|
}
|
|
5
|
+
export interface ContextualPermissions {
|
|
6
|
+
root: Acl.Permissions;
|
|
7
|
+
all: Acl.Permissions;
|
|
8
|
+
}
|
|
5
9
|
export declare class PermissionFactory {
|
|
6
10
|
create(schema: Schema, roles: readonly string[], prefix?: string): Acl.Permissions;
|
|
11
|
+
createContextual(schema: Schema, roles: readonly string[]): ContextualPermissions;
|
|
12
|
+
private createInternal;
|
|
7
13
|
private prefixPredicatesWithRole;
|
|
8
14
|
private makePrimaryPredicatesUnionOfAllFields;
|
|
9
15
|
private mergePermissions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionFactory.d.ts","sourceRoot":"","sources":["../../../src/acl/PermissionFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAS,MAAM,EAAY,MAAM,mBAAmB,CAAA;AAKhE,MAAM,WAAW,QAAQ;IACxB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/B;AAED,qBAAa,iBAAiB;IACtB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"PermissionFactory.d.ts","sourceRoot":"","sources":["../../../src/acl/PermissionFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAS,MAAM,EAAY,MAAM,mBAAmB,CAAA;AAKhE,MAAM,WAAW,QAAQ;IACxB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAA;IACrB,GAAG,EAAE,GAAG,CAAC,WAAW,CAAA;CACpB;AAED,qBAAa,iBAAiB;IACtB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,WAAW;IAIlF,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,qBAAqB;IAOxF,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,wBAAwB;IAuBhC,OAAO,CAAC,qCAAqC;IAmD7C,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,sBAAsB;IAqD9B,OAAO,CAAC,yBAAyB;IAsBjC,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,eAAe;CA2DvB"}
|
|
@@ -8,13 +8,24 @@ export declare class PredicateFactory {
|
|
|
8
8
|
private readonly permissions;
|
|
9
9
|
private readonly model;
|
|
10
10
|
private readonly variableInjector;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
private readonly allPermissions?;
|
|
12
|
+
constructor(permissions: Acl.Permissions, model: Model.Schema, variableInjector: VariableInjector, allPermissions?: Acl.Permissions | undefined);
|
|
13
|
+
/**
|
|
14
|
+
* Selects the appropriate permission set based on query context:
|
|
15
|
+
* - `isRoot === false` (nested/relation context): uses allPermissions (includes through-only permissions)
|
|
16
|
+
* - `isRoot === true` or `isRoot === undefined` (root or unknown context): uses root-only permissions
|
|
17
|
+
*
|
|
18
|
+
* The `undefined` vs `true` distinction matters: `undefined` is the default for callers
|
|
19
|
+
* that don't track root context, and must fall through to root permissions for safety.
|
|
20
|
+
*/
|
|
21
|
+
private getPermissionsForContext;
|
|
22
|
+
getFieldPredicate(entity: Model.Entity, operation: Acl.Operation.update | Acl.Operation.read | Acl.Operation.create, fieldName: string, isRoot?: boolean): FieldRequiredPredicate;
|
|
23
|
+
shouldApplyCellLevelPredicate(entity: Model.Entity, operation: Acl.Operation.read, fieldName: string, isRoot?: boolean): boolean;
|
|
24
|
+
/** Delete predicates are not context-aware — through-permission support is scoped to read operations only. */
|
|
14
25
|
createDeletePredicate(entity: Model.Entity): Input.OptionalWhere<never>;
|
|
15
|
-
create(entity: Model.Entity, operation: Acl.Operation.update | Acl.Operation.read | Acl.Operation.create, fieldNames?: string[], relationContext?: Model.AnyRelationContext): Input.OptionalWhere;
|
|
16
|
-
buildPredicates(entity: Model.Entity, predicates: Acl.PredicateReference[], relationContext?: Model.AnyRelationContext): Input.OptionalWhere;
|
|
26
|
+
create(entity: Model.Entity, operation: Acl.Operation.update | Acl.Operation.read | Acl.Operation.create, fieldNames?: string[], relationContext?: Model.AnyRelationContext, isRoot?: boolean): Input.OptionalWhere;
|
|
27
|
+
buildPredicates(entity: Model.Entity, predicates: Acl.PredicateReference[], relationContext?: Model.AnyRelationContext, isRoot?: boolean): Input.OptionalWhere;
|
|
17
28
|
private getRequiredPredicates;
|
|
18
|
-
optimizePredicates(where: Input.OptionalWhere, relationContext?: Model.AnyRelationContext): Input.OptionalWhere<never>;
|
|
29
|
+
optimizePredicates(where: Input.OptionalWhere, relationContext?: Model.AnyRelationContext, isRoot?: boolean): Input.OptionalWhere<never>;
|
|
19
30
|
}
|
|
20
31
|
//# sourceMappingURL=PredicateFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PredicateFactory.d.ts","sourceRoot":"","sources":["../../../src/acl/PredicateFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAKrD,MAAM,WAAW,sBAAsB;IACtC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;CACxB;AAED,qBAAa,gBAAgB;IAE3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"PredicateFactory.d.ts","sourceRoot":"","sources":["../../../src/acl/PredicateFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAKrD,MAAM,WAAW,sBAAsB;IACtC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;CACxB;AAED,qBAAa,gBAAgB;IAE3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAHf,WAAW,EAAE,GAAG,CAAC,WAAW,EAC5B,KAAK,EAAE,KAAK,CAAC,MAAM,EACnB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,CAAC,EAAE,GAAG,CAAC,WAAW,YAAA;IAGlD;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAOzB,iBAAiB,CACvB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,EAC3E,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,OAAO,GACd,sBAAsB;IAelB,6BAA6B,CACnC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,EAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,OAAO,GACd,OAAO;IAOV,8GAA8G;IACvG,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM;IAgB1C,MAAM,CACZ,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,EAC3E,UAAU,GAAE,MAAM,EAA8C,EAChE,eAAe,CAAC,EAAE,KAAK,CAAC,kBAAkB,EAC1C,MAAM,CAAC,EAAE,OAAO,GACd,KAAK,CAAC,aAAa;IAwBf,eAAe,CACrB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,UAAU,EAAE,GAAG,CAAC,kBAAkB,EAAE,EACpC,eAAe,CAAC,EAAE,KAAK,CAAC,kBAAkB,EAC1C,MAAM,CAAC,EAAE,OAAO,GACd,KAAK,CAAC,aAAa;IAqBtB,OAAO,CAAC,qBAAqB;IAoBtB,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,KAAK,CAAC,kBAAkB,EAAE,MAAM,CAAC,EAAE,OAAO;CAYlH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PredicatesInjector.d.ts","sourceRoot":"","sources":["../../../src/acl/PredicatesInjector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,EAAE,KAAK,EAAY,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,qBAAa,kBAAkB;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAgB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAvD,MAAM,EAAE,KAAK,CAAC,MAAM,EAAmB,gBAAgB,EAAE,gBAAgB;IAE/F,MAAM,CACZ,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,eAAe,CAAC,EAAE,KAAK,CAAC,kBAAkB,EAC1C,YAAY,CAAC,EAAE,SAAS,KAAK,CAAC,kBAAkB,EAAE,GAChD,KAAK,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"PredicatesInjector.d.ts","sourceRoot":"","sources":["../../../src/acl/PredicatesInjector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,EAAE,KAAK,EAAY,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,qBAAa,kBAAkB;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAgB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAvD,MAAM,EAAE,KAAK,CAAC,MAAM,EAAmB,gBAAgB,EAAE,gBAAgB;IAE/F,MAAM,CACZ,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,eAAe,CAAC,EAAE,KAAK,CAAC,kBAAkB,EAC1C,YAAY,CAAC,EAAE,SAAS,KAAK,CAAC,kBAAkB,EAAE,GAChD,KAAK,CAAC,aAAa;IAMtB;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,WAAW;IA4CnB;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IA0FnC,OAAO,CAAC,aAAa;CAqDrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldsVisitor.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/select/handlers/FieldsVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC/D,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;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,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,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAPT,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,6BAA6B,EAC/C,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,EACxC,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAClC,SAAS,EAAE,SAAS;IAGtC,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI;IA+CnD,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;
|
|
1
|
+
{"version":3,"file":"FieldsVisitor.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/select/handlers/FieldsVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC/D,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;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,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,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAPT,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,6BAA6B,EAC/C,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,EACxC,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAClC,SAAS,EAAE,SAAS;IAGtC,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI;IA+CnD,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;CAK5B"}
|