@contember/engine-content-api 1.3.4 → 1.4.0-alpha.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/src/ExecutionContainer.d.ts +4 -4
- package/dist/src/ExecutionContainer.d.ts.map +1 -1
- package/dist/src/ExecutionContainer.js +5 -2
- package/dist/src/ExecutionContainer.js.map +1 -1
- package/dist/src/extensions/EntityFieldsProvider.d.ts +1 -1
- package/dist/src/extensions/EntityFieldsProvider.d.ts.map +1 -1
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.d.ts +1 -1
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.d.ts.map +1 -1
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js +12 -2
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js.map +1 -1
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.d.ts +16 -9
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.d.ts.map +1 -1
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js +21 -13
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -1
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.d.ts +1 -1
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.d.ts.map +1 -1
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js +8 -2
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js.map +1 -1
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.d.ts +16 -9
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.d.ts.map +1 -1
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js +17 -12
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -1
- package/dist/src/introspection/IntrospectionSchemaDefinitionFactory.d.ts +5 -2
- package/dist/src/introspection/IntrospectionSchemaDefinitionFactory.d.ts.map +1 -1
- package/dist/src/introspection/IntrospectionSchemaDefinitionFactory.js +164 -14
- package/dist/src/introspection/IntrospectionSchemaDefinitionFactory.js.map +1 -1
- package/dist/src/introspection/index.d.ts +1 -2
- package/dist/src/introspection/index.d.ts.map +1 -1
- package/dist/src/introspection/index.js +4 -4
- package/dist/src/introspection/index.js.map +1 -1
- package/dist/src/mapper/ErrorUtils.d.ts +3 -3
- package/dist/src/mapper/ErrorUtils.d.ts.map +1 -1
- package/dist/src/mapper/ErrorUtils.js +2 -2
- package/dist/src/mapper/ErrorUtils.js.map +1 -1
- package/dist/src/mapper/Mapper.d.ts +2 -3
- package/dist/src/mapper/Mapper.d.ts.map +1 -1
- package/dist/src/mapper/Mapper.js +1 -1
- package/dist/src/mapper/Mapper.js.map +1 -1
- package/dist/src/mapper/MapperFactory.d.ts +3 -3
- package/dist/src/mapper/MapperFactory.d.ts.map +1 -1
- package/dist/src/mapper/MapperFactory.js.map +1 -1
- package/dist/src/mapper/Result.d.ts +2 -2
- package/dist/src/mapper/Result.d.ts.map +1 -1
- package/dist/src/mapper/Result.js.map +1 -1
- package/dist/src/mapper/delete/DeleteExecutor.js +1 -1
- package/dist/src/mapper/delete/DeleteExecutor.js.map +1 -1
- package/dist/src/mapper/insert/Inserter.d.ts +3 -2
- package/dist/src/mapper/insert/Inserter.d.ts.map +1 -1
- package/dist/src/mapper/insert/Inserter.js.map +1 -1
- package/dist/src/mapper/select/RelationFetcher.d.ts.map +1 -1
- package/dist/src/mapper/select/RelationFetcher.js +8 -7
- package/dist/src/mapper/select/RelationFetcher.js.map +1 -1
- package/dist/src/mapper/select/handlers/FieldsVisitor.d.ts +3 -5
- package/dist/src/mapper/select/handlers/FieldsVisitor.d.ts.map +1 -1
- package/dist/src/mapper/select/handlers/FieldsVisitor.js +8 -4
- package/dist/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
- package/dist/src/mapper/select/handlers/FieldsVisitorFactory.d.ts +3 -5
- package/dist/src/mapper/select/handlers/FieldsVisitorFactory.d.ts.map +1 -1
- package/dist/src/mapper/select/handlers/FieldsVisitorFactory.js +3 -4
- package/dist/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -1
- package/dist/src/mapper/update/Updater.d.ts +2 -2
- package/dist/src/mapper/update/Updater.d.ts.map +1 -1
- package/dist/src/mapper/update/Updater.js.map +1 -1
- package/dist/src/resolvers/MutationResolver.d.ts +3 -2
- package/dist/src/resolvers/MutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/MutationResolver.js +20 -18
- package/dist/src/resolvers/MutationResolver.js.map +1 -1
- package/dist/src/schema/EntityTypeProvider.d.ts.map +1 -1
- package/dist/src/schema/EntityTypeProvider.js +23 -26
- package/dist/src/schema/EntityTypeProvider.js.map +1 -1
- package/dist/src/schema/GraphQlSchemaBuilder.d.ts +10 -2
- package/dist/src/schema/GraphQlSchemaBuilder.d.ts.map +1 -1
- package/dist/src/schema/GraphQlSchemaBuilder.js +47 -37
- package/dist/src/schema/GraphQlSchemaBuilder.js.map +1 -1
- package/dist/src/schema/ResultSchemaTypeProvider.d.ts +4 -0
- package/dist/src/schema/ResultSchemaTypeProvider.d.ts.map +1 -1
- package/dist/src/schema/ResultSchemaTypeProvider.js +27 -23
- package/dist/src/schema/ResultSchemaTypeProvider.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.js +170 -0
- package/dist/tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.js +44 -0
- package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.js +20 -0
- package/dist/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.js.map +1 -1
- package/dist/tests/src/test.js +1 -1
- package/dist/tests/src/test.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/graphql.codegen.yml +1 -1
- package/package.json +12 -14
- package/src/ExecutionContainer.ts +13 -6
- package/src/extensions/EntityFieldsProvider.ts +1 -1
- package/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.ts +12 -5
- package/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.ts +33 -24
- package/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.ts +8 -5
- package/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.ts +28 -17
- package/src/introspection/IntrospectionSchemaDefinitionFactory.ts +202 -13
- package/src/introspection/index.ts +1 -2
- package/src/mapper/ErrorUtils.ts +8 -7
- package/src/mapper/Mapper.ts +4 -4
- package/src/mapper/MapperFactory.ts +3 -3
- package/src/mapper/Result.ts +2 -3
- package/src/mapper/delete/DeleteExecutor.ts +1 -1
- package/src/mapper/insert/Inserter.ts +3 -2
- package/src/mapper/select/RelationFetcher.ts +8 -4
- package/src/mapper/select/handlers/FieldsVisitor.ts +9 -5
- package/src/mapper/select/handlers/FieldsVisitorFactory.ts +3 -6
- package/src/mapper/update/Updater.ts +3 -2
- package/src/resolvers/MutationResolver.ts +29 -22
- package/src/schema/EntityTypeProvider.ts +32 -41
- package/src/schema/GraphQlSchemaBuilder.ts +61 -40
- package/src/schema/ResultSchemaTypeProvider.ts +29 -27
- package/tests/cases/integration/graphQlDb/update/deferedConstraints.test.ts +1 -1
- package/tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.ts +169 -0
- package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.ts +45 -0
- package/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.ts +24 -0
- package/tests/cases/integration/graphQlSchema/schema-acl-allowed.gql +1 -0
- package/tests/cases/integration/graphQlSchema/schema-acl-create-only.gql +1 -0
- package/tests/cases/integration/graphQlSchema/schema-acl-restricted-create.gql +1 -0
- package/tests/cases/integration/graphQlSchema/schema-acl-restricted-delete.gql +1 -0
- package/tests/cases/integration/graphQlSchema/schema-acl-restricted-update.gql +1 -0
- package/tests/cases/integration/graphQlSchema/schema-acl.gql +1 -0
- package/tests/cases/integration/graphQlSchema/schema-aliased-type.gql +1 -0
- package/tests/cases/integration/graphQlSchema/schema-basic.gql +1 -0
- package/tests/cases/integration/graphQlSchema/schema-bug-66.gql +1 -0
- package/tests/cases/integration/graphQlSchema/schema-custom-primary.gql +1 -0
- package/tests/cases/integration/graphQlSchema/schema-has-many-reduction.gql +1 -0
- package/tests/cases/integration/graphQlSchema/schema-new-builder.gql +1 -0
- package/tests/cases/integration/graphQlSchema/schema-read-only.gql +116 -0
- package/tests/src/test.ts +3 -3
- package/dist/src/introspection/content-schema.graphql.d.ts +0 -4
- package/dist/src/introspection/content-schema.graphql.d.ts.map +0 -1
- package/dist/src/introspection/content-schema.graphql.js +0 -113
- package/dist/src/introspection/content-schema.graphql.js.map +0 -1
- package/src/introspection/content-schema.graphql.ts +0 -113
|
@@ -57,14 +57,14 @@ class EntityTypeProvider {
|
|
|
57
57
|
getEntityFields(entityName) {
|
|
58
58
|
const entity = (0, schema_utils_1.getEntity)(this.schema, entityName);
|
|
59
59
|
const accessVisitor = new FieldAccessVisitor_1.FieldAccessVisitor(schema_1.Acl.Operation.read, this.authorizator);
|
|
60
|
-
const accessibleFields = Object.
|
|
61
|
-
const metaFields =
|
|
62
|
-
|
|
63
|
-
[
|
|
60
|
+
const accessibleFields = Object.values(entity.fields).filter(field => (0, schema_utils_1.acceptFieldVisitor)(this.schema, entity, field.name, accessVisitor));
|
|
61
|
+
const metaFields = {};
|
|
62
|
+
for (const field of accessibleFields) {
|
|
63
|
+
metaFields[field.name] = {
|
|
64
64
|
type: this.fieldMeta,
|
|
65
65
|
resolve: utils_2.aliasAwareResolver,
|
|
66
|
-
}
|
|
67
|
-
}
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
68
|
const metaField = {
|
|
69
69
|
type: new graphql_1.GraphQLObjectType({
|
|
70
70
|
name: (0, utils_2.GqlTypeName) `${entityName}Meta`,
|
|
@@ -72,29 +72,26 @@ class EntityTypeProvider {
|
|
|
72
72
|
}),
|
|
73
73
|
resolve: utils_2.aliasAwareResolver,
|
|
74
74
|
};
|
|
75
|
-
|
|
75
|
+
let fields = {
|
|
76
|
+
_meta: metaField,
|
|
77
|
+
};
|
|
78
|
+
for (const field of accessibleFields) {
|
|
76
79
|
const fieldTypeVisitor = new entities_1.FieldTypeVisitor(this.columnTypeResolver, this, this.authorizator);
|
|
77
|
-
const type = (0, schema_utils_1.acceptFieldVisitor)(this.schema, entity,
|
|
80
|
+
const type = (0, schema_utils_1.acceptFieldVisitor)(this.schema, entity, field.name, fieldTypeVisitor);
|
|
78
81
|
const fieldArgsVisitor = new entities_1.FieldArgsVisitor(this.whereTypeProvider, this.orderByTypeProvider);
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
args: (0, schema_utils_1.acceptFieldVisitor)(this.schema, entity, fieldName, fieldArgsVisitor),
|
|
84
|
-
resolve: utils_2.aliasAwareResolver,
|
|
85
|
-
},
|
|
82
|
+
fields[field.name] = {
|
|
83
|
+
type,
|
|
84
|
+
args: (0, schema_utils_1.acceptFieldVisitor)(this.schema, entity, field.name, fieldArgsVisitor),
|
|
85
|
+
resolve: utils_2.aliasAwareResolver,
|
|
86
86
|
};
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
])
|
|
96
|
-
.reduce((result, [name, value]) => ({ ...result, [name]: value }), {}))
|
|
97
|
-
.reduce((result, providerFields) => ({ ...result, ...providerFields }), fields);
|
|
87
|
+
}
|
|
88
|
+
for (const [key, provider] of Object.entries(this.entityFieldProviders)) {
|
|
89
|
+
fields = {
|
|
90
|
+
...fields,
|
|
91
|
+
...provider.getFields(entity, accessibleFields),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
return fields;
|
|
98
95
|
}
|
|
99
96
|
createConnection(entityName) {
|
|
100
97
|
const entityType = this.getEntity(entityName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityTypeProvider.js","sourceRoot":"","sources":["../../../src/schema/EntityTypeProvider.ts"],"names":[],"mappings":";;;AAAA,qCASgB;AAChB,8CAAqD;AACrD,0DAA8F;AAC9F,oCAA2C;AAE3C,yCAA+D;AAC/D,mCAAyD;AAGzD,6DAAyD;AAGzD,4CAAsD;AAEtD,MAAa,kBAAkB;IAmB9B,YACkB,MAAoB,EACpB,YAA0B,EAC1B,kBAAsC,EACtC,iBAAoC,EACpC,mBAAwC;QAJxC,WAAM,GAAN,MAAM,CAAc;QACpB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAvBlD,aAAQ,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5D,gBAAW,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;QACnE,aAAQ,GAAG,IAAI,2BAAiB,CAAC;YACxC,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE;gBACP,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,wBAAc,CAAC,oBAAU,CAAC,EAAE;aACpD;SACD,CAAC,CAAA;QAEM,cAAS,GAAG,IAAI,2BAAiB,CAAC;YACzC,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE;gBACP,CAAC,cAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,wBAAc,EAAE,OAAO,EAAE,0BAAkB,EAAE;gBACjF,CAAC,cAAK,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,wBAAc,EAAE,OAAO,EAAE,0BAAkB,EAAE;aAClF;SACD,CAAC,CAAA;QACe,yBAAoB,GAA4C,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"EntityTypeProvider.js","sourceRoot":"","sources":["../../../src/schema/EntityTypeProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import { GraphQLSchema } from 'graphql';
|
|
1
|
+
import { GraphQLFieldConfig, GraphQLNamedType, GraphQLSchema } from 'graphql';
|
|
2
2
|
import { Model } from '@contember/schema';
|
|
3
3
|
import { MutationProvider } from './MutationProvider';
|
|
4
4
|
import { QueryProvider } from './QueryProvider';
|
|
5
5
|
import { ValidationQueriesProvider } from './ValidationQueriesProvider';
|
|
6
|
+
import { Context } from '../types';
|
|
6
7
|
import { ResultSchemaTypeProvider } from './ResultSchemaTypeProvider';
|
|
8
|
+
type BuildArgs = {
|
|
9
|
+
queries?: Map<string, GraphQLFieldConfig<any, Context, any>>;
|
|
10
|
+
mutations?: Map<string, GraphQLFieldConfig<any, Context, any>>;
|
|
11
|
+
types?: GraphQLNamedType[];
|
|
12
|
+
};
|
|
7
13
|
export declare class GraphQlSchemaBuilder {
|
|
8
14
|
private readonly schema;
|
|
9
15
|
private readonly queryProvider;
|
|
@@ -11,6 +17,8 @@ export declare class GraphQlSchemaBuilder {
|
|
|
11
17
|
private readonly mutationProvider;
|
|
12
18
|
private readonly resultSchemaTypeProvider;
|
|
13
19
|
constructor(schema: Model.Schema, queryProvider: QueryProvider, validationQueriesProvider: ValidationQueriesProvider, mutationProvider: MutationProvider, resultSchemaTypeProvider: ResultSchemaTypeProvider);
|
|
14
|
-
build(): GraphQLSchema;
|
|
20
|
+
build(args?: BuildArgs): GraphQLSchema;
|
|
21
|
+
private buildConfig;
|
|
15
22
|
}
|
|
23
|
+
export {};
|
|
16
24
|
//# sourceMappingURL=GraphQlSchemaBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphQlSchemaBuilder.d.ts","sourceRoot":"","sources":["../../../src/schema/GraphQlSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"GraphQlSchemaBuilder.d.ts","sourceRoot":"","sources":["../../../src/schema/GraphQlSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,kBAAkB,EAElB,gBAAgB,EAGhB,aAAa,EAGb,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,KAAK,SAAS,GAAG;IAChB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;IAC5D,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;IAC9D,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC1B,CAAA;AAED,qBAAa,oBAAoB;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBAJxB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,aAAa,EAAE,aAAa,EAC5B,yBAAyB,EAAE,yBAAyB,EACpD,gBAAgB,EAAE,gBAAgB,EAClC,wBAAwB,EAAE,wBAAwB;IAG7D,KAAK,CAAC,IAAI,GAAE,SAAc,GAAG,aAAa;IAIjD,OAAO,CAAC,WAAW;CA6GnB"}
|
|
@@ -10,9 +10,12 @@ class GraphQlSchemaBuilder {
|
|
|
10
10
|
this.mutationProvider = mutationProvider;
|
|
11
11
|
this.resultSchemaTypeProvider = resultSchemaTypeProvider;
|
|
12
12
|
}
|
|
13
|
-
build() {
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
build(args = {}) {
|
|
14
|
+
return new graphql_1.GraphQLSchema(this.buildConfig(args));
|
|
15
|
+
}
|
|
16
|
+
buildConfig(args) {
|
|
17
|
+
const queries = new Map(args.queries);
|
|
18
|
+
const mutations = new Map(args.mutations);
|
|
16
19
|
for (const entity of Object.values(this.schema.entities)) {
|
|
17
20
|
const queryFields = this.queryProvider.getQueries(entity);
|
|
18
21
|
for (const name in queryFields) {
|
|
@@ -28,11 +31,12 @@ class GraphQlSchemaBuilder {
|
|
|
28
31
|
}
|
|
29
32
|
}
|
|
30
33
|
if (queries.size > 0) {
|
|
34
|
+
const queryTransactionType = new graphql_1.GraphQLObjectType({
|
|
35
|
+
name: 'QueryTransaction',
|
|
36
|
+
fields: Object.fromEntries(queries),
|
|
37
|
+
});
|
|
31
38
|
queries.set('transaction', {
|
|
32
|
-
type:
|
|
33
|
-
name: 'QueryTransaction',
|
|
34
|
-
fields: Object.fromEntries(queries),
|
|
35
|
-
}),
|
|
39
|
+
type: queryTransactionType,
|
|
36
40
|
resolve: async (parent, args, context, info) => {
|
|
37
41
|
return context.timer(`GraphQL.query.${info.fieldName}`, () => context.executionContainer.readResolver.resolveTransaction(info));
|
|
38
42
|
},
|
|
@@ -43,37 +47,41 @@ class GraphQlSchemaBuilder {
|
|
|
43
47
|
fields: () => Object.fromEntries(queries),
|
|
44
48
|
});
|
|
45
49
|
if (mutations.size > 0) {
|
|
50
|
+
const mutationTransactionOptions = new graphql_1.GraphQLInputObjectType({
|
|
51
|
+
name: 'MutationTransactionOptions',
|
|
52
|
+
fields: {
|
|
53
|
+
deferForeignKeyConstraints: { type: graphql_1.GraphQLBoolean },
|
|
54
|
+
deferUniqueConstraints: { type: graphql_1.GraphQLBoolean },
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
const mutationTransactionType = new graphql_1.GraphQLObjectType({
|
|
58
|
+
name: 'MutationTransaction',
|
|
59
|
+
fields: {
|
|
60
|
+
ok: { type: new graphql_1.GraphQLNonNull(graphql_1.GraphQLBoolean) },
|
|
61
|
+
errorMessage: { type: graphql_1.GraphQLString },
|
|
62
|
+
errors: { type: this.resultSchemaTypeProvider.errorListResultType },
|
|
63
|
+
validation: {
|
|
64
|
+
type: new graphql_1.GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),
|
|
65
|
+
},
|
|
66
|
+
...Object.fromEntries(mutations),
|
|
67
|
+
query: {
|
|
68
|
+
type: queryObjectType,
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
});
|
|
46
72
|
mutations.set('transaction', {
|
|
47
73
|
args: {
|
|
48
74
|
options: {
|
|
49
|
-
type:
|
|
50
|
-
name: 'MutationTransactionOptions',
|
|
51
|
-
fields: {
|
|
52
|
-
deferForeignKeyConstraints: { type: graphql_1.GraphQLBoolean },
|
|
53
|
-
},
|
|
54
|
-
}),
|
|
75
|
+
type: mutationTransactionOptions,
|
|
55
76
|
},
|
|
56
77
|
},
|
|
57
|
-
type: new graphql_1.GraphQLNonNull(
|
|
58
|
-
name: 'MutationTransaction',
|
|
59
|
-
fields: {
|
|
60
|
-
ok: { type: new graphql_1.GraphQLNonNull(graphql_1.GraphQLBoolean) },
|
|
61
|
-
errorMessage: { type: graphql_1.GraphQLString },
|
|
62
|
-
errors: { type: this.resultSchemaTypeProvider.errorListResultType },
|
|
63
|
-
validation: {
|
|
64
|
-
type: new graphql_1.GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),
|
|
65
|
-
},
|
|
66
|
-
...Object.fromEntries(mutations),
|
|
67
|
-
query: {
|
|
68
|
-
type: queryObjectType,
|
|
69
|
-
},
|
|
70
|
-
},
|
|
71
|
-
})),
|
|
78
|
+
type: new graphql_1.GraphQLNonNull(mutationTransactionType),
|
|
72
79
|
resolve: async (parent, args, context, info) => {
|
|
73
80
|
return context.timer(`GraphQL.mutation.${info.fieldName}`, () => {
|
|
74
|
-
var _a, _b;
|
|
81
|
+
var _a, _b, _c, _d;
|
|
75
82
|
return context.executionContainer.mutationResolver.resolveTransaction(info, {
|
|
76
83
|
deferForeignKeyConstraints: (_b = (_a = args.options) === null || _a === void 0 ? void 0 : _a.deferForeignKeyConstraints) !== null && _b !== void 0 ? _b : false,
|
|
84
|
+
deferUniqueConstraints: (_d = (_c = args.options) === null || _c === void 0 ? void 0 : _c.deferUniqueConstraints) !== null && _d !== void 0 ? _d : false,
|
|
77
85
|
});
|
|
78
86
|
});
|
|
79
87
|
},
|
|
@@ -83,19 +91,21 @@ class GraphQlSchemaBuilder {
|
|
|
83
91
|
resolve: (parent, args, context, info) => context.executionContainer.readResolver.resolveQuery(info),
|
|
84
92
|
});
|
|
85
93
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
description: { type: graphql_1.GraphQLString },
|
|
91
|
-
}),
|
|
94
|
+
const infoType = new graphql_1.GraphQLObjectType({
|
|
95
|
+
name: 'Info',
|
|
96
|
+
fields: () => ({
|
|
97
|
+
description: { type: graphql_1.GraphQLString },
|
|
92
98
|
}),
|
|
99
|
+
});
|
|
100
|
+
queries.set('_info', {
|
|
101
|
+
type: infoType,
|
|
93
102
|
resolve: () => ({
|
|
94
103
|
description: 'TODO',
|
|
95
104
|
}),
|
|
96
105
|
});
|
|
97
|
-
return
|
|
106
|
+
return {
|
|
98
107
|
query: queryObjectType,
|
|
108
|
+
types: args.types,
|
|
99
109
|
...(mutations.size > 0
|
|
100
110
|
? {
|
|
101
111
|
mutation: new graphql_1.GraphQLObjectType({
|
|
@@ -104,7 +114,7 @@ class GraphQlSchemaBuilder {
|
|
|
104
114
|
}),
|
|
105
115
|
}
|
|
106
116
|
: {}),
|
|
107
|
-
}
|
|
117
|
+
};
|
|
108
118
|
}
|
|
109
119
|
}
|
|
110
120
|
exports.GraphQlSchemaBuilder = GraphQlSchemaBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphQlSchemaBuilder.js","sourceRoot":"","sources":["../../../src/schema/GraphQlSchemaBuilder.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"GraphQlSchemaBuilder.js","sourceRoot":"","sources":["../../../src/schema/GraphQlSchemaBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType } from 'graphql';
|
|
2
2
|
export declare class ResultSchemaTypeProvider {
|
|
3
|
+
private fieldPathFragmentType;
|
|
4
|
+
private indexPathFragmentType;
|
|
3
5
|
private pathFragmentType;
|
|
6
|
+
private validationMessageType;
|
|
4
7
|
private validationErrorType;
|
|
5
8
|
validationResultType: GraphQLObjectType<any, any>;
|
|
9
|
+
private mutationErrorType;
|
|
6
10
|
errorResultType: GraphQLObjectType<any, any>;
|
|
7
11
|
errorListResultType: GraphQLNonNull<GraphQLList<GraphQLNonNull<GraphQLObjectType<any, any>>>>;
|
|
8
12
|
mutationResultType: GraphQLInterfaceType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResultSchemaTypeProvider.d.ts","sourceRoot":"","sources":["../../../src/schema/ResultSchemaTypeProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAIN,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,iBAAiB,EAGjB,MAAM,SAAS,CAAA;AAEhB,qBAAa,wBAAwB;IACpC,OAAO,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ResultSchemaTypeProvider.d.ts","sourceRoot":"","sources":["../../../src/schema/ResultSchemaTypeProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAIN,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,iBAAiB,EAGjB,MAAM,SAAS,CAAA;AAEhB,qBAAa,wBAAwB;IACpC,OAAO,CAAC,qBAAqB,CAK3B;IACF,OAAO,CAAC,qBAAqB,CAM3B;IACF,OAAO,CAAC,gBAAgB,CAMtB;IAEF,OAAO,CAAC,qBAAqB,CAK3B;IACF,OAAO,CAAC,mBAAmB,CAUzB;IACK,oBAAoB,8BAQzB;IAEF,OAAO,CAAC,iBAAiB,CAGvB;IAEK,eAAe,8BAiBpB;IAEK,mBAAmB,2EAAgF;IAEnG,kBAAkB,uBAOvB;CACF"}
|
|
@@ -5,24 +5,32 @@ const schema_1 = require("@contember/schema");
|
|
|
5
5
|
const graphql_1 = require("graphql");
|
|
6
6
|
class ResultSchemaTypeProvider {
|
|
7
7
|
constructor() {
|
|
8
|
+
this.fieldPathFragmentType = new graphql_1.GraphQLObjectType({
|
|
9
|
+
name: '_FieldPathFragment',
|
|
10
|
+
fields: {
|
|
11
|
+
field: { type: new graphql_1.GraphQLNonNull(graphql_1.GraphQLString) },
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
this.indexPathFragmentType = new graphql_1.GraphQLObjectType({
|
|
15
|
+
name: '_IndexPathFragment',
|
|
16
|
+
fields: {
|
|
17
|
+
index: { type: new graphql_1.GraphQLNonNull(graphql_1.GraphQLInt) },
|
|
18
|
+
alias: { type: graphql_1.GraphQLString },
|
|
19
|
+
},
|
|
20
|
+
});
|
|
8
21
|
this.pathFragmentType = new graphql_1.GraphQLUnionType({
|
|
9
22
|
name: '_PathFragment',
|
|
10
23
|
types: () => [
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
fields: {
|
|
14
|
-
field: { type: new graphql_1.GraphQLNonNull(graphql_1.GraphQLString) },
|
|
15
|
-
},
|
|
16
|
-
}),
|
|
17
|
-
new graphql_1.GraphQLObjectType({
|
|
18
|
-
name: '_IndexPathFragment',
|
|
19
|
-
fields: {
|
|
20
|
-
index: { type: new graphql_1.GraphQLNonNull(graphql_1.GraphQLInt) },
|
|
21
|
-
alias: { type: graphql_1.GraphQLString },
|
|
22
|
-
},
|
|
23
|
-
}),
|
|
24
|
+
this.fieldPathFragmentType,
|
|
25
|
+
this.indexPathFragmentType,
|
|
24
26
|
],
|
|
25
27
|
});
|
|
28
|
+
this.validationMessageType = new graphql_1.GraphQLObjectType({
|
|
29
|
+
name: '_ValidationMessage',
|
|
30
|
+
fields: {
|
|
31
|
+
text: { type: new graphql_1.GraphQLNonNull(graphql_1.GraphQLString) },
|
|
32
|
+
},
|
|
33
|
+
});
|
|
26
34
|
this.validationErrorType = new graphql_1.GraphQLObjectType({
|
|
27
35
|
name: '_ValidationError',
|
|
28
36
|
fields: {
|
|
@@ -30,12 +38,7 @@ class ResultSchemaTypeProvider {
|
|
|
30
38
|
type: new graphql_1.GraphQLNonNull(new graphql_1.GraphQLList(new graphql_1.GraphQLNonNull(this.pathFragmentType))),
|
|
31
39
|
},
|
|
32
40
|
message: {
|
|
33
|
-
type: new graphql_1.GraphQLNonNull(
|
|
34
|
-
name: '_ValidationMessage',
|
|
35
|
-
fields: {
|
|
36
|
-
text: { type: new graphql_1.GraphQLNonNull(graphql_1.GraphQLString) },
|
|
37
|
-
},
|
|
38
|
-
})),
|
|
41
|
+
type: new graphql_1.GraphQLNonNull(this.validationMessageType),
|
|
39
42
|
},
|
|
40
43
|
},
|
|
41
44
|
});
|
|
@@ -48,6 +51,10 @@ class ResultSchemaTypeProvider {
|
|
|
48
51
|
},
|
|
49
52
|
},
|
|
50
53
|
});
|
|
54
|
+
this.mutationErrorType = new graphql_1.GraphQLEnumType({
|
|
55
|
+
name: '_MutationErrorType',
|
|
56
|
+
values: Object.values(schema_1.Result.ExecutionErrorType).reduce((acc, type) => ({ ...acc, [type]: {} }), {}),
|
|
57
|
+
});
|
|
51
58
|
this.errorResultType = new graphql_1.GraphQLObjectType({
|
|
52
59
|
name: '_MutationError',
|
|
53
60
|
fields: {
|
|
@@ -59,10 +66,7 @@ class ResultSchemaTypeProvider {
|
|
|
59
66
|
type: new graphql_1.GraphQLNonNull(new graphql_1.GraphQLList(new graphql_1.GraphQLNonNull(new graphql_1.GraphQLList(new graphql_1.GraphQLNonNull(this.pathFragmentType))))),
|
|
60
67
|
},
|
|
61
68
|
type: {
|
|
62
|
-
type: new graphql_1.GraphQLNonNull(
|
|
63
|
-
name: '_MutationErrorType',
|
|
64
|
-
values: Object.values(schema_1.Result.ExecutionErrorType).reduce((acc, type) => ({ ...acc, [type]: {} }), {}),
|
|
65
|
-
})),
|
|
69
|
+
type: new graphql_1.GraphQLNonNull(this.mutationErrorType),
|
|
66
70
|
},
|
|
67
71
|
message: { type: graphql_1.GraphQLString },
|
|
68
72
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResultSchemaTypeProvider.js","sourceRoot":"","sources":["../../../src/schema/ResultSchemaTypeProvider.ts"],"names":[],"mappings":";;;AAAA,8CAA0C;AAC1C,qCAUgB;AAEhB,MAAa,wBAAwB;IAArC;QACS,
|
|
1
|
+
{"version":3,"file":"ResultSchemaTypeProvider.js","sourceRoot":"","sources":["../../../src/schema/ResultSchemaTypeProvider.ts"],"names":[],"mappings":"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"}
|