@contember/engine-content-api 2.0.2 → 2.1.0-alpha.10
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 +1 -0
- package/dist/development/index.js.map +1 -1
- package/dist/development/src/ExecutionContainer.cjs +6 -4
- package/dist/development/src/ExecutionContainer.cjs.map +1 -1
- package/dist/development/src/ExecutionContainer.js +6 -4
- package/dist/development/src/ExecutionContainer.js.map +1 -1
- package/dist/development/src/acl/Authorizator.cjs +5 -1
- package/dist/development/src/acl/Authorizator.cjs.map +1 -1
- package/dist/development/src/acl/Authorizator.js +5 -1
- package/dist/development/src/acl/Authorizator.js.map +1 -1
- package/dist/development/src/input-validation/ColumnValueResolver.cjs +1 -1
- package/dist/development/src/input-validation/ColumnValueResolver.cjs.map +1 -1
- package/dist/development/src/input-validation/ColumnValueResolver.js +1 -1
- package/dist/development/src/input-validation/ColumnValueResolver.js.map +1 -1
- package/dist/development/src/input-validation/dependencies/DependencyCollector.cjs +3 -0
- package/dist/development/src/input-validation/dependencies/DependencyCollector.cjs.map +1 -1
- package/dist/development/src/input-validation/dependencies/DependencyCollector.js +3 -0
- package/dist/development/src/input-validation/dependencies/DependencyCollector.js.map +1 -1
- package/dist/development/src/mapper/Mapper.cjs +1 -0
- package/dist/development/src/mapper/Mapper.cjs.map +1 -1
- package/dist/development/src/mapper/Mapper.js +1 -0
- package/dist/development/src/mapper/Mapper.js.map +1 -1
- package/dist/development/src/mapper/insert/Inserter.cjs +3 -2
- package/dist/development/src/mapper/insert/Inserter.cjs.map +1 -1
- package/dist/development/src/mapper/insert/Inserter.js +3 -2
- package/dist/development/src/mapper/insert/Inserter.js.map +1 -1
- package/dist/development/src/mapper/insert/SqlCreateInputProcessor.cjs +3 -2
- package/dist/development/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
- package/dist/development/src/mapper/insert/SqlCreateInputProcessor.js +3 -2
- package/dist/development/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
- package/dist/development/src/mapper/select/ConditionBuilder.cjs +9 -2
- package/dist/development/src/mapper/select/ConditionBuilder.cjs.map +1 -1
- package/dist/development/src/mapper/select/ConditionBuilder.js +10 -3
- package/dist/development/src/mapper/select/ConditionBuilder.js.map +1 -1
- package/dist/development/src/mapper/select/WhereBuilder.cjs +3 -3
- package/dist/development/src/mapper/select/WhereBuilder.cjs.map +1 -1
- package/dist/development/src/mapper/select/WhereBuilder.js +3 -3
- package/dist/development/src/mapper/select/WhereBuilder.js.map +1 -1
- package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs +33 -3
- package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
- package/dist/development/src/mapper/select/handlers/FieldsVisitor.js +33 -3
- package/dist/development/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
- package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.cjs +6 -2
- package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.cjs.map +1 -1
- package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.js +6 -2
- package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -1
- package/dist/development/src/resolvers/MutationResolver.cjs +1 -0
- package/dist/development/src/resolvers/MutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/MutationResolver.js +1 -0
- package/dist/development/src/resolvers/MutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/RefreshViewResolver.cjs +21 -0
- package/dist/development/src/resolvers/RefreshViewResolver.cjs.map +1 -0
- package/dist/development/src/resolvers/RefreshViewResolver.js +21 -0
- package/dist/development/src/resolvers/RefreshViewResolver.js.map +1 -0
- package/dist/development/src/schema/ColumnTypeResolver.cjs +9 -0
- package/dist/development/src/schema/ColumnTypeResolver.cjs.map +1 -1
- package/dist/development/src/schema/ColumnTypeResolver.js +10 -1
- package/dist/development/src/schema/ColumnTypeResolver.js.map +1 -1
- package/dist/development/src/schema/ConditionTypeProvider.cjs +35 -23
- package/dist/development/src/schema/ConditionTypeProvider.cjs.map +1 -1
- package/dist/development/src/schema/ConditionTypeProvider.js +36 -24
- package/dist/development/src/schema/ConditionTypeProvider.js.map +1 -1
- package/dist/development/src/schema/CustomTypesProvider.cjs +30 -0
- package/dist/development/src/schema/CustomTypesProvider.cjs.map +1 -1
- package/dist/development/src/schema/CustomTypesProvider.js +30 -0
- package/dist/development/src/schema/CustomTypesProvider.js.map +1 -1
- package/dist/development/src/schema/GraphQlSchemaBuilder.cjs +6 -1
- package/dist/development/src/schema/GraphQlSchemaBuilder.cjs.map +1 -1
- package/dist/development/src/schema/GraphQlSchemaBuilder.js +6 -1
- package/dist/development/src/schema/GraphQlSchemaBuilder.js.map +1 -1
- package/dist/development/src/schema/GraphQlSchemaBuilderFactory.cjs +2 -1
- package/dist/development/src/schema/GraphQlSchemaBuilderFactory.cjs.map +1 -1
- package/dist/development/src/schema/GraphQlSchemaBuilderFactory.js +2 -1
- package/dist/development/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -1
- package/dist/development/src/schema/OrderByTypeProvider.cjs +6 -1
- package/dist/development/src/schema/OrderByTypeProvider.cjs.map +1 -1
- package/dist/development/src/schema/OrderByTypeProvider.js +6 -1
- package/dist/development/src/schema/OrderByTypeProvider.js.map +1 -1
- package/dist/development/src/schema/RefreshViewMutationProvider.cjs +42 -0
- package/dist/development/src/schema/RefreshViewMutationProvider.cjs.map +1 -0
- package/dist/development/src/schema/RefreshViewMutationProvider.js +42 -0
- package/dist/development/src/schema/RefreshViewMutationProvider.js.map +1 -0
- package/dist/development/src/schema/WhereTypeProvider.cjs +1 -1
- package/dist/development/src/schema/WhereTypeProvider.cjs.map +1 -1
- package/dist/development/src/schema/WhereTypeProvider.js +1 -1
- package/dist/development/src/schema/WhereTypeProvider.js.map +1 -1
- package/dist/development/src/schema/entities/FieldTypeVisitor.cjs +3 -3
- package/dist/development/src/schema/entities/FieldTypeVisitor.cjs.map +1 -1
- package/dist/development/src/schema/entities/FieldTypeVisitor.js +3 -3
- package/dist/development/src/schema/entities/FieldTypeVisitor.js.map +1 -1
- package/dist/development/src/schema/mutations/CreateEntityInputFieldVisitor.cjs +1 -1
- package/dist/development/src/schema/mutations/CreateEntityInputFieldVisitor.cjs.map +1 -1
- package/dist/development/src/schema/mutations/CreateEntityInputFieldVisitor.js +1 -1
- package/dist/development/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -1
- package/dist/development/src/schema/mutations/UpdateEntityInputFieldVisitor.cjs +1 -1
- package/dist/development/src/schema/mutations/UpdateEntityInputFieldVisitor.cjs.map +1 -1
- package/dist/development/src/schema/mutations/UpdateEntityInputFieldVisitor.js +1 -1
- package/dist/development/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -1
- package/dist/development/src/utils/viewComputedId.cjs +16 -0
- package/dist/development/src/utils/viewComputedId.cjs.map +1 -0
- package/dist/development/src/utils/viewComputedId.js +16 -0
- package/dist/development/src/utils/viewComputedId.js.map +1 -0
- package/dist/production/index.cjs +1 -0
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +1 -0
- package/dist/production/index.js.map +1 -1
- package/dist/production/src/ExecutionContainer.cjs +6 -4
- package/dist/production/src/ExecutionContainer.cjs.map +1 -1
- package/dist/production/src/ExecutionContainer.js +6 -4
- package/dist/production/src/ExecutionContainer.js.map +1 -1
- package/dist/production/src/acl/Authorizator.cjs +5 -1
- package/dist/production/src/acl/Authorizator.cjs.map +1 -1
- package/dist/production/src/acl/Authorizator.js +5 -1
- package/dist/production/src/acl/Authorizator.js.map +1 -1
- package/dist/production/src/input-validation/ColumnValueResolver.cjs +1 -1
- package/dist/production/src/input-validation/ColumnValueResolver.cjs.map +1 -1
- package/dist/production/src/input-validation/ColumnValueResolver.js +1 -1
- package/dist/production/src/input-validation/ColumnValueResolver.js.map +1 -1
- package/dist/production/src/input-validation/dependencies/DependencyCollector.cjs +3 -0
- package/dist/production/src/input-validation/dependencies/DependencyCollector.cjs.map +1 -1
- package/dist/production/src/input-validation/dependencies/DependencyCollector.js +3 -0
- package/dist/production/src/input-validation/dependencies/DependencyCollector.js.map +1 -1
- package/dist/production/src/mapper/Mapper.cjs +1 -0
- package/dist/production/src/mapper/Mapper.cjs.map +1 -1
- package/dist/production/src/mapper/Mapper.js +1 -0
- package/dist/production/src/mapper/Mapper.js.map +1 -1
- package/dist/production/src/mapper/insert/Inserter.cjs +3 -2
- package/dist/production/src/mapper/insert/Inserter.cjs.map +1 -1
- package/dist/production/src/mapper/insert/Inserter.js +3 -2
- package/dist/production/src/mapper/insert/Inserter.js.map +1 -1
- package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs +3 -2
- package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
- package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js +3 -2
- package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
- package/dist/production/src/mapper/select/ConditionBuilder.cjs +9 -2
- package/dist/production/src/mapper/select/ConditionBuilder.cjs.map +1 -1
- package/dist/production/src/mapper/select/ConditionBuilder.js +10 -3
- package/dist/production/src/mapper/select/ConditionBuilder.js.map +1 -1
- package/dist/production/src/mapper/select/WhereBuilder.cjs +3 -3
- package/dist/production/src/mapper/select/WhereBuilder.cjs.map +1 -1
- package/dist/production/src/mapper/select/WhereBuilder.js +3 -3
- package/dist/production/src/mapper/select/WhereBuilder.js.map +1 -1
- package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs +33 -3
- package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
- package/dist/production/src/mapper/select/handlers/FieldsVisitor.js +33 -3
- package/dist/production/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
- package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.cjs +6 -2
- package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.cjs.map +1 -1
- package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.js +6 -2
- package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -1
- package/dist/production/src/resolvers/MutationResolver.cjs +1 -0
- package/dist/production/src/resolvers/MutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/MutationResolver.js +1 -0
- package/dist/production/src/resolvers/MutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/RefreshViewResolver.cjs +21 -0
- package/dist/production/src/resolvers/RefreshViewResolver.cjs.map +1 -0
- package/dist/production/src/resolvers/RefreshViewResolver.js +21 -0
- package/dist/production/src/resolvers/RefreshViewResolver.js.map +1 -0
- package/dist/production/src/schema/ColumnTypeResolver.cjs +9 -0
- package/dist/production/src/schema/ColumnTypeResolver.cjs.map +1 -1
- package/dist/production/src/schema/ColumnTypeResolver.js +10 -1
- package/dist/production/src/schema/ColumnTypeResolver.js.map +1 -1
- package/dist/production/src/schema/ConditionTypeProvider.cjs +35 -23
- package/dist/production/src/schema/ConditionTypeProvider.cjs.map +1 -1
- package/dist/production/src/schema/ConditionTypeProvider.js +36 -24
- package/dist/production/src/schema/ConditionTypeProvider.js.map +1 -1
- package/dist/production/src/schema/CustomTypesProvider.cjs +30 -0
- package/dist/production/src/schema/CustomTypesProvider.cjs.map +1 -1
- package/dist/production/src/schema/CustomTypesProvider.js +30 -0
- package/dist/production/src/schema/CustomTypesProvider.js.map +1 -1
- package/dist/production/src/schema/GraphQlSchemaBuilder.cjs +6 -1
- package/dist/production/src/schema/GraphQlSchemaBuilder.cjs.map +1 -1
- package/dist/production/src/schema/GraphQlSchemaBuilder.js +6 -1
- package/dist/production/src/schema/GraphQlSchemaBuilder.js.map +1 -1
- package/dist/production/src/schema/GraphQlSchemaBuilderFactory.cjs +2 -1
- package/dist/production/src/schema/GraphQlSchemaBuilderFactory.cjs.map +1 -1
- package/dist/production/src/schema/GraphQlSchemaBuilderFactory.js +2 -1
- package/dist/production/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -1
- package/dist/production/src/schema/OrderByTypeProvider.cjs +6 -1
- package/dist/production/src/schema/OrderByTypeProvider.cjs.map +1 -1
- package/dist/production/src/schema/OrderByTypeProvider.js +6 -1
- package/dist/production/src/schema/OrderByTypeProvider.js.map +1 -1
- package/dist/production/src/schema/RefreshViewMutationProvider.cjs +42 -0
- package/dist/production/src/schema/RefreshViewMutationProvider.cjs.map +1 -0
- package/dist/production/src/schema/RefreshViewMutationProvider.js +42 -0
- package/dist/production/src/schema/RefreshViewMutationProvider.js.map +1 -0
- package/dist/production/src/schema/WhereTypeProvider.cjs +1 -1
- package/dist/production/src/schema/WhereTypeProvider.cjs.map +1 -1
- package/dist/production/src/schema/WhereTypeProvider.js +1 -1
- package/dist/production/src/schema/WhereTypeProvider.js.map +1 -1
- package/dist/production/src/schema/entities/FieldTypeVisitor.cjs +3 -3
- package/dist/production/src/schema/entities/FieldTypeVisitor.cjs.map +1 -1
- package/dist/production/src/schema/entities/FieldTypeVisitor.js +3 -3
- package/dist/production/src/schema/entities/FieldTypeVisitor.js.map +1 -1
- package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.cjs +1 -1
- package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.cjs.map +1 -1
- package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.js +1 -1
- package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -1
- package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.cjs +1 -1
- package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.cjs.map +1 -1
- package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.js +1 -1
- package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -1
- package/dist/production/src/utils/viewComputedId.cjs +16 -0
- package/dist/production/src/utils/viewComputedId.cjs.map +1 -0
- package/dist/production/src/utils/viewComputedId.js +16 -0
- package/dist/production/src/utils/viewComputedId.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/validation/utils.d.ts.map +1 -1
- package/dist/tests/src/tags.d.ts.map +1 -1
- package/dist/tests/src/test.d.ts.map +1 -1
- package/dist/tests/src/testGraphql.d.ts.map +1 -1
- package/dist/tests/src/testUuid.d.ts.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/ExecutionContainer.d.ts +8 -2
- package/dist/types/ExecutionContainer.d.ts.map +1 -1
- package/dist/types/acl/Authorizator.d.ts +3 -1
- package/dist/types/acl/Authorizator.d.ts.map +1 -1
- package/dist/types/acl/VariableUtils.d.ts.map +1 -1
- package/dist/types/input-validation/ValidationContext.d.ts.map +1 -1
- package/dist/types/input-validation/ValidationEvaluation.d.ts.map +1 -1
- package/dist/types/input-validation/ValidationPath.d.ts.map +1 -1
- package/dist/types/introspection/introspection.schema.d.ts.map +1 -1
- package/dist/types/mapper/ColumnValue.d.ts.map +1 -1
- package/dist/types/mapper/ErrorUtils.d.ts.map +1 -1
- package/dist/types/mapper/EventManager.d.ts.map +1 -1
- package/dist/types/mapper/MutationProcessorHelper.d.ts.map +1 -1
- package/dist/types/mapper/Result.d.ts.map +1 -1
- package/dist/types/mapper/delete/helpers.d.ts.map +1 -1
- package/dist/types/mapper/insert/Inserter.d.ts +4 -1
- package/dist/types/mapper/insert/Inserter.d.ts.map +1 -1
- package/dist/types/mapper/insert/SqlCreateInputProcessor.d.ts +4 -1
- package/dist/types/mapper/insert/SqlCreateInputProcessor.d.ts.map +1 -1
- package/dist/types/mapper/select/ConditionBuilder.d.ts +2 -2
- package/dist/types/mapper/select/ConditionBuilder.d.ts.map +1 -1
- package/dist/types/mapper/select/handlers/FieldsVisitor.d.ts +4 -1
- package/dist/types/mapper/select/handlers/FieldsVisitor.d.ts.map +1 -1
- package/dist/types/mapper/select/handlers/FieldsVisitorFactory.d.ts +5 -2
- package/dist/types/mapper/select/handlers/FieldsVisitorFactory.d.ts.map +1 -1
- package/dist/types/mapper/select/optimizer/WhereReplacer.d.ts.map +1 -1
- package/dist/types/mapper/select/optimizer/helpers.d.ts.map +1 -1
- package/dist/types/resolvers/ReadHelpers.d.ts.map +1 -1
- package/dist/types/resolvers/RefreshViewResolver.d.ts +13 -0
- package/dist/types/resolvers/RefreshViewResolver.d.ts.map +1 -0
- package/dist/types/schema/ColumnTypeResolver.d.ts +5 -5
- package/dist/types/schema/ColumnTypeResolver.d.ts.map +1 -1
- package/dist/types/schema/ConditionTypeProvider.d.ts +1 -0
- package/dist/types/schema/ConditionTypeProvider.d.ts.map +1 -1
- package/dist/types/schema/CustomTypesProvider.d.ts +1 -0
- package/dist/types/schema/CustomTypesProvider.d.ts.map +1 -1
- package/dist/types/schema/GraphQlSchemaBuilder.d.ts +3 -1
- package/dist/types/schema/GraphQlSchemaBuilder.d.ts.map +1 -1
- package/dist/types/schema/GraphQlSchemaBuilderFactory.d.ts +3 -0
- package/dist/types/schema/GraphQlSchemaBuilderFactory.d.ts.map +1 -1
- package/dist/types/schema/OperationExtension.d.ts.map +1 -1
- package/dist/types/schema/OrderByTypeProvider.d.ts.map +1 -1
- package/dist/types/schema/RefreshViewMutationProvider.d.ts +11 -0
- package/dist/types/schema/RefreshViewMutationProvider.d.ts.map +1 -0
- package/dist/types/schema/mutations/UpdateEntityInputFieldVisitor.d.ts +1 -1
- package/dist/types/schema/utils.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/utils/isIt.d.ts.map +1 -1
- package/dist/types/utils/paginationUtils.d.ts.map +1 -1
- package/dist/types/utils/promises.d.ts.map +1 -1
- package/dist/types/utils/singletonFactory.d.ts.map +1 -1
- package/dist/types/utils/strings.d.ts.map +1 -1
- package/dist/types/utils/tuple.d.ts.map +1 -1
- package/dist/types/utils/uniqueWhereFields.d.ts.map +1 -1
- package/dist/types/utils/viewComputedId.d.ts +2 -0
- package/dist/types/utils/viewComputedId.d.ts.map +1 -0
- package/package.json +11 -11
- package/src/ExecutionContainer.ts +9 -5
- package/src/acl/Authorizator.ts +5 -0
- package/src/input-validation/ColumnValueResolver.ts +1 -1
- package/src/mapper/insert/Inserter.ts +2 -1
- package/src/mapper/insert/SqlCreateInputProcessor.ts +2 -1
- package/src/mapper/select/ConditionBuilder.ts +19 -5
- package/src/mapper/select/WhereBuilder.ts +3 -3
- package/src/mapper/select/handlers/FieldsVisitor.ts +36 -1
- package/src/mapper/select/handlers/FieldsVisitorFactory.ts +6 -1
- package/src/resolvers/RefreshViewResolver.ts +23 -0
- package/src/schema/ColumnTypeResolver.ts +15 -3
- package/src/schema/ConditionTypeProvider.ts +40 -25
- package/src/schema/CustomTypesProvider.ts +37 -0
- package/src/schema/GraphQlSchemaBuilder.ts +8 -0
- package/src/schema/GraphQlSchemaBuilderFactory.ts +5 -2
- package/src/schema/OrderByTypeProvider.ts +6 -1
- package/src/schema/RefreshViewMutationProvider.ts +47 -0
- package/src/schema/WhereTypeProvider.ts +1 -1
- package/src/schema/entities/FieldTypeVisitor.ts +3 -3
- package/src/schema/mutations/CreateEntityInputFieldVisitor.ts +1 -1
- package/src/schema/mutations/UpdateEntityInputFieldVisitor.ts +1 -1
- package/src/utils/viewComputedId.ts +23 -0
- package/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.ts +38 -2
- package/tests/cases/integration/graphQlSchema/schema-aliased-type.gql +6 -0
- package/tests/cases/integration/graphQlSchema/schema-array.gql +257 -0
- package/tests/cases/integration/graphQlSchema/schema-column-types.gql +420 -0
- package/tests/src/test.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionTypeProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/ConditionTypeProvider.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInputFieldConfigMap,\n\tGraphQLInputObjectType,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLScalarType,\n\tGraphQLString,\n} from 'graphql'\nimport { singletonFactory } from '../utils'\nimport { ColumnTypeResolver } from './ColumnTypeResolver'\nimport { GqlTypeName } from './utils'\n\nexport class ConditionTypeProvider {\n\tprivate conditions = singletonFactory<GraphQLInputObjectType, string, GraphQLScalarType | GraphQLEnumType>(\n\t\t(name, type) => this.createCondition(type),\n\t)\n\n\tconstructor(private readonly columnTypeResolver: ColumnTypeResolver) {}\n\n\tpublic getCondition(column: Model.AnyColumn): GraphQLInputObjectType {\n\t\tconst
|
|
1
|
+
{"version":3,"file":"ConditionTypeProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/ConditionTypeProvider.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInputFieldConfigMap,\n\tGraphQLInputObjectType,\n\tGraphQLInt,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLScalarType,\n\tGraphQLString,\n} from 'graphql'\nimport { singletonFactory } from '../utils'\nimport { ColumnTypeResolver } from './ColumnTypeResolver'\nimport { GqlTypeName } from './utils'\nimport { ImplementationException } from '../exception'\n\nexport class ConditionTypeProvider {\n\tprivate conditions = singletonFactory<GraphQLInputObjectType, string, [GraphQLScalarType | GraphQLEnumType, Model.AnyColumn]>(\n\t\t(name, [type, column]) => this.createCondition(name, column, type),\n\t)\n\n\tconstructor(private readonly columnTypeResolver: ColumnTypeResolver) {}\n\n\tpublic getCondition(column: Model.AnyColumn): GraphQLInputObjectType {\n\t\tconst [graphqlType, baseType] = this.columnTypeResolver.getType(column)\n\t\tconst name = this.createName(column, baseType.name)\n\t\treturn this.conditions(name, [baseType, column])\n\t}\n\n\tprivate createName(column: Model.AnyColumn, typeName: string): string {\n\t\tconst suffix = column.type === Model.ColumnType.Enum ? 'Enum' : ''\n\t\tconst arraySuffix = column.list ? 'List' : ''\n\t\treturn GqlTypeName`${typeName}${suffix}${arraySuffix}Condition`\n\t}\n\n\tprivate createCondition(name: string, column: Model.AnyColumn, type: GraphQLScalarType | GraphQLEnumType): GraphQLInputObjectType {\n\t\tconst condition: GraphQLInputObjectType = new GraphQLInputObjectType({\n\t\t\tname: name,\n\t\t\tfields: (): GraphQLInputFieldConfigMap => {\n\t\t\t\tconst conditions: GraphQLInputFieldConfigMap = {\n\t\t\t\t\tand: { type: new GraphQLList(new GraphQLNonNull(condition)) },\n\t\t\t\t\tor: { type: new GraphQLList(new GraphQLNonNull(condition)) },\n\t\t\t\t\tnot: { type: condition },\n\n\t\t\t\t\tnull: { type: GraphQLBoolean },\n\t\t\t\t\tisNull: { type: GraphQLBoolean },\n\t\t\t\t}\n\t\t\t\tif (column.list) {\n\t\t\t\t\tconditions.minLength = { type: GraphQLInt }\n\t\t\t\t\tconditions.maxLength = { type: GraphQLInt }\n\t\t\t\t\tconditions.includes = { type: type }\n\t\t\t\t} else {\n\t\t\t\t\tif (column.type !== Model.ColumnType.Json) {\n\t\t\t\t\t\tconditions.eq = { type }\n\t\t\t\t\t\tconditions.notEq = { type }\n\t\t\t\t\t\tconditions.in = { type: new GraphQLList(new GraphQLNonNull(type)) }\n\t\t\t\t\t\tconditions.notIn = { type: new GraphQLList(new GraphQLNonNull(type)) }\n\t\t\t\t\t\tconditions.lt = { type: type }\n\t\t\t\t\t\tconditions.lte = { type: type }\n\t\t\t\t\t\tconditions.gt = { type: type }\n\t\t\t\t\t\tconditions.gte = { type: type }\n\t\t\t\t\t}\n\t\t\t\t\tif (column.type === Model.ColumnType.String) {\n\t\t\t\t\t\tconditions.contains = { type: GraphQLString }\n\t\t\t\t\t\tconditions.startsWith = { type: GraphQLString }\n\t\t\t\t\t\tconditions.endsWith = { type: GraphQLString }\n\n\t\t\t\t\t\tconditions.containsCI = { type: GraphQLString }\n\t\t\t\t\t\tconditions.startsWithCI = { type: GraphQLString }\n\t\t\t\t\t\tconditions.endsWithCI = { type: GraphQLString }\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t\treturn conditions\n\t\t\t},\n\t\t})\n\t\treturn condition\n\t}\n}\n"],"names":["singletonFactory","Model","GqlTypeName","GraphQLInputObjectType","GraphQLList","GraphQLNonNull","GraphQLBoolean","GraphQLInt","GraphQLString"],"mappings":";;;;;;;;;;AAiBO,MAAM,sBAAsB;AAAA,EAKlC,YAA6B,oBAAwC;AAAxC,SAAA,qBAAA;AAJ7B,kBAAA,MAAQ,cAAaA,iBAAA;AAAA,MACpB,CAAC,MAAM,CAAC,MAAM,MAAM,MAAM,KAAK,gBAAgB,MAAM,QAAQ,IAAI;AAAA,IAAA,CAClE;AAAA,EAAA;AAAA,EAIO,aAAa,QAAiD;AACpE,UAAM,CAAC,aAAa,QAAQ,IAAI,KAAK,mBAAmB,QAAQ,MAAM;AACtE,UAAM,OAAO,KAAK,WAAW,QAAQ,SAAS,IAAI;AAClD,WAAO,KAAK,WAAW,MAAM,CAAC,UAAU,MAAM,CAAC;AAAA,EAAA;AAAA,EAGxC,WAAW,QAAyB,UAA0B;AACrE,UAAM,SAAS,OAAO,SAASC,OAAM,MAAA,WAAW,OAAO,SAAS;AAC1D,UAAA,cAAc,OAAO,OAAO,SAAS;AAC3C,WAAOC,MAAAA,cAAc,QAAQ,GAAG,MAAM,GAAG,WAAW;AAAA,EAAA;AAAA,EAG7C,gBAAgB,MAAc,QAAyB,MAAmE;AAC3H,UAAA,YAAoC,IAAIC,+BAAuB;AAAA,MACpE;AAAA,MACA,QAAQ,MAAkC;AACzC,cAAM,aAAyC;AAAA,UAC9C,KAAK,EAAE,MAAM,IAAIC,QAAAA,YAAY,IAAIC,QAAA,eAAe,SAAS,CAAC,EAAE;AAAA,UAC5D,IAAI,EAAE,MAAM,IAAID,QAAAA,YAAY,IAAIC,QAAA,eAAe,SAAS,CAAC,EAAE;AAAA,UAC3D,KAAK,EAAE,MAAM,UAAU;AAAA,UAEvB,MAAM,EAAE,MAAMC,uBAAe;AAAA,UAC7B,QAAQ,EAAE,MAAMA,QAAe,eAAA;AAAA,QAChC;AACA,YAAI,OAAO,MAAM;AACL,qBAAA,YAAY,EAAE,MAAMC,mBAAW;AAC/B,qBAAA,YAAY,EAAE,MAAMA,mBAAW;AAC/B,qBAAA,WAAW,EAAE,KAAW;AAAA,QAAA,OAC7B;AACN,cAAI,OAAO,SAASN,aAAM,WAAW,MAAM;AAC/B,uBAAA,KAAK,EAAE,KAAK;AACZ,uBAAA,QAAQ,EAAE,KAAK;AACf,uBAAA,KAAK,EAAE,MAAM,IAAIG,oBAAY,IAAIC,QAAA,eAAe,IAAI,CAAC,EAAE;AACvD,uBAAA,QAAQ,EAAE,MAAM,IAAID,oBAAY,IAAIC,QAAA,eAAe,IAAI,CAAC,EAAE;AAC1D,uBAAA,KAAK,EAAE,KAAW;AAClB,uBAAA,MAAM,EAAE,KAAW;AACnB,uBAAA,KAAK,EAAE,KAAW;AAClB,uBAAA,MAAM,EAAE,KAAW;AAAA,UAAA;AAE/B,cAAI,OAAO,SAASJ,aAAM,WAAW,QAAQ;AACjC,uBAAA,WAAW,EAAE,MAAMO,sBAAc;AACjC,uBAAA,aAAa,EAAE,MAAMA,sBAAc;AACnC,uBAAA,WAAW,EAAE,MAAMA,sBAAc;AAEjC,uBAAA,aAAa,EAAE,MAAMA,sBAAc;AACnC,uBAAA,eAAe,EAAE,MAAMA,sBAAc;AACrC,uBAAA,aAAa,EAAE,MAAMA,sBAAc;AAAA,UAAA;AAAA,QAC/C;AAIM,eAAA;AAAA,MAAA;AAAA,IACR,CACA;AACM,WAAA;AAAA,EAAA;AAET;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Model } from "@contember/schema";
|
|
2
|
+
import { GraphQLInputObjectType, GraphQLList, GraphQLNonNull, GraphQLBoolean, GraphQLInt, GraphQLString } from "graphql";
|
|
2
3
|
import { singletonFactory } from "../utils/singletonFactory.js";
|
|
3
4
|
import "@contember/schema-utils";
|
|
4
5
|
import { GqlTypeName } from "./utils.js";
|
|
@@ -9,17 +10,22 @@ class ConditionTypeProvider {
|
|
|
9
10
|
constructor(columnTypeResolver) {
|
|
10
11
|
this.columnTypeResolver = columnTypeResolver;
|
|
11
12
|
__publicField(this, "conditions", singletonFactory(
|
|
12
|
-
(name, type) => this.createCondition(type)
|
|
13
|
+
(name, [type, column]) => this.createCondition(name, column, type)
|
|
13
14
|
));
|
|
14
15
|
}
|
|
15
16
|
getCondition(column) {
|
|
16
|
-
const
|
|
17
|
-
|
|
17
|
+
const [graphqlType, baseType] = this.columnTypeResolver.getType(column);
|
|
18
|
+
const name = this.createName(column, baseType.name);
|
|
19
|
+
return this.conditions(name, [baseType, column]);
|
|
18
20
|
}
|
|
19
|
-
|
|
20
|
-
const suffix =
|
|
21
|
+
createName(column, typeName) {
|
|
22
|
+
const suffix = column.type === Model.ColumnType.Enum ? "Enum" : "";
|
|
23
|
+
const arraySuffix = column.list ? "List" : "";
|
|
24
|
+
return GqlTypeName`${typeName}${suffix}${arraySuffix}Condition`;
|
|
25
|
+
}
|
|
26
|
+
createCondition(name, column, type) {
|
|
21
27
|
const condition = new GraphQLInputObjectType({
|
|
22
|
-
name
|
|
28
|
+
name,
|
|
23
29
|
fields: () => {
|
|
24
30
|
const conditions = {
|
|
25
31
|
and: { type: new GraphQLList(new GraphQLNonNull(condition)) },
|
|
@@ -28,23 +34,29 @@ class ConditionTypeProvider {
|
|
|
28
34
|
null: { type: GraphQLBoolean },
|
|
29
35
|
isNull: { type: GraphQLBoolean }
|
|
30
36
|
};
|
|
31
|
-
if (
|
|
32
|
-
conditions.
|
|
33
|
-
conditions.
|
|
34
|
-
conditions.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
37
|
+
if (column.list) {
|
|
38
|
+
conditions.minLength = { type: GraphQLInt };
|
|
39
|
+
conditions.maxLength = { type: GraphQLInt };
|
|
40
|
+
conditions.includes = { type };
|
|
41
|
+
} else {
|
|
42
|
+
if (column.type !== Model.ColumnType.Json) {
|
|
43
|
+
conditions.eq = { type };
|
|
44
|
+
conditions.notEq = { type };
|
|
45
|
+
conditions.in = { type: new GraphQLList(new GraphQLNonNull(type)) };
|
|
46
|
+
conditions.notIn = { type: new GraphQLList(new GraphQLNonNull(type)) };
|
|
47
|
+
conditions.lt = { type };
|
|
48
|
+
conditions.lte = { type };
|
|
49
|
+
conditions.gt = { type };
|
|
50
|
+
conditions.gte = { type };
|
|
51
|
+
}
|
|
52
|
+
if (column.type === Model.ColumnType.String) {
|
|
53
|
+
conditions.contains = { type: GraphQLString };
|
|
54
|
+
conditions.startsWith = { type: GraphQLString };
|
|
55
|
+
conditions.endsWith = { type: GraphQLString };
|
|
56
|
+
conditions.containsCI = { type: GraphQLString };
|
|
57
|
+
conditions.startsWithCI = { type: GraphQLString };
|
|
58
|
+
conditions.endsWithCI = { type: GraphQLString };
|
|
59
|
+
}
|
|
48
60
|
}
|
|
49
61
|
return conditions;
|
|
50
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionTypeProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/ConditionTypeProvider.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInputFieldConfigMap,\n\tGraphQLInputObjectType,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLScalarType,\n\tGraphQLString,\n} from 'graphql'\nimport { singletonFactory } from '../utils'\nimport { ColumnTypeResolver } from './ColumnTypeResolver'\nimport { GqlTypeName } from './utils'\n\nexport class ConditionTypeProvider {\n\tprivate conditions = singletonFactory<GraphQLInputObjectType, string, GraphQLScalarType | GraphQLEnumType>(\n\t\t(name, type) => this.createCondition(type),\n\t)\n\n\tconstructor(private readonly columnTypeResolver: ColumnTypeResolver) {}\n\n\tpublic getCondition(column: Model.AnyColumn): GraphQLInputObjectType {\n\t\tconst
|
|
1
|
+
{"version":3,"file":"ConditionTypeProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/ConditionTypeProvider.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInputFieldConfigMap,\n\tGraphQLInputObjectType,\n\tGraphQLInt,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLScalarType,\n\tGraphQLString,\n} from 'graphql'\nimport { singletonFactory } from '../utils'\nimport { ColumnTypeResolver } from './ColumnTypeResolver'\nimport { GqlTypeName } from './utils'\nimport { ImplementationException } from '../exception'\n\nexport class ConditionTypeProvider {\n\tprivate conditions = singletonFactory<GraphQLInputObjectType, string, [GraphQLScalarType | GraphQLEnumType, Model.AnyColumn]>(\n\t\t(name, [type, column]) => this.createCondition(name, column, type),\n\t)\n\n\tconstructor(private readonly columnTypeResolver: ColumnTypeResolver) {}\n\n\tpublic getCondition(column: Model.AnyColumn): GraphQLInputObjectType {\n\t\tconst [graphqlType, baseType] = this.columnTypeResolver.getType(column)\n\t\tconst name = this.createName(column, baseType.name)\n\t\treturn this.conditions(name, [baseType, column])\n\t}\n\n\tprivate createName(column: Model.AnyColumn, typeName: string): string {\n\t\tconst suffix = column.type === Model.ColumnType.Enum ? 'Enum' : ''\n\t\tconst arraySuffix = column.list ? 'List' : ''\n\t\treturn GqlTypeName`${typeName}${suffix}${arraySuffix}Condition`\n\t}\n\n\tprivate createCondition(name: string, column: Model.AnyColumn, type: GraphQLScalarType | GraphQLEnumType): GraphQLInputObjectType {\n\t\tconst condition: GraphQLInputObjectType = new GraphQLInputObjectType({\n\t\t\tname: name,\n\t\t\tfields: (): GraphQLInputFieldConfigMap => {\n\t\t\t\tconst conditions: GraphQLInputFieldConfigMap = {\n\t\t\t\t\tand: { type: new GraphQLList(new GraphQLNonNull(condition)) },\n\t\t\t\t\tor: { type: new GraphQLList(new GraphQLNonNull(condition)) },\n\t\t\t\t\tnot: { type: condition },\n\n\t\t\t\t\tnull: { type: GraphQLBoolean },\n\t\t\t\t\tisNull: { type: GraphQLBoolean },\n\t\t\t\t}\n\t\t\t\tif (column.list) {\n\t\t\t\t\tconditions.minLength = { type: GraphQLInt }\n\t\t\t\t\tconditions.maxLength = { type: GraphQLInt }\n\t\t\t\t\tconditions.includes = { type: type }\n\t\t\t\t} else {\n\t\t\t\t\tif (column.type !== Model.ColumnType.Json) {\n\t\t\t\t\t\tconditions.eq = { type }\n\t\t\t\t\t\tconditions.notEq = { type }\n\t\t\t\t\t\tconditions.in = { type: new GraphQLList(new GraphQLNonNull(type)) }\n\t\t\t\t\t\tconditions.notIn = { type: new GraphQLList(new GraphQLNonNull(type)) }\n\t\t\t\t\t\tconditions.lt = { type: type }\n\t\t\t\t\t\tconditions.lte = { type: type }\n\t\t\t\t\t\tconditions.gt = { type: type }\n\t\t\t\t\t\tconditions.gte = { type: type }\n\t\t\t\t\t}\n\t\t\t\t\tif (column.type === Model.ColumnType.String) {\n\t\t\t\t\t\tconditions.contains = { type: GraphQLString }\n\t\t\t\t\t\tconditions.startsWith = { type: GraphQLString }\n\t\t\t\t\t\tconditions.endsWith = { type: GraphQLString }\n\n\t\t\t\t\t\tconditions.containsCI = { type: GraphQLString }\n\t\t\t\t\t\tconditions.startsWithCI = { type: GraphQLString }\n\t\t\t\t\t\tconditions.endsWithCI = { type: GraphQLString }\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t\treturn conditions\n\t\t\t},\n\t\t})\n\t\treturn condition\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;AAiBO,MAAM,sBAAsB;AAAA,EAKlC,YAA6B,oBAAwC;AAAxC,SAAA,qBAAA;AAJ7B,kBAAA,MAAQ,cAAa;AAAA,MACpB,CAAC,MAAM,CAAC,MAAM,MAAM,MAAM,KAAK,gBAAgB,MAAM,QAAQ,IAAI;AAAA,IAAA,CAClE;AAAA,EAAA;AAAA,EAIO,aAAa,QAAiD;AACpE,UAAM,CAAC,aAAa,QAAQ,IAAI,KAAK,mBAAmB,QAAQ,MAAM;AACtE,UAAM,OAAO,KAAK,WAAW,QAAQ,SAAS,IAAI;AAClD,WAAO,KAAK,WAAW,MAAM,CAAC,UAAU,MAAM,CAAC;AAAA,EAAA;AAAA,EAGxC,WAAW,QAAyB,UAA0B;AACrE,UAAM,SAAS,OAAO,SAAS,MAAM,WAAW,OAAO,SAAS;AAC1D,UAAA,cAAc,OAAO,OAAO,SAAS;AAC3C,WAAO,cAAc,QAAQ,GAAG,MAAM,GAAG,WAAW;AAAA,EAAA;AAAA,EAG7C,gBAAgB,MAAc,QAAyB,MAAmE;AAC3H,UAAA,YAAoC,IAAI,uBAAuB;AAAA,MACpE;AAAA,MACA,QAAQ,MAAkC;AACzC,cAAM,aAAyC;AAAA,UAC9C,KAAK,EAAE,MAAM,IAAI,YAAY,IAAI,eAAe,SAAS,CAAC,EAAE;AAAA,UAC5D,IAAI,EAAE,MAAM,IAAI,YAAY,IAAI,eAAe,SAAS,CAAC,EAAE;AAAA,UAC3D,KAAK,EAAE,MAAM,UAAU;AAAA,UAEvB,MAAM,EAAE,MAAM,eAAe;AAAA,UAC7B,QAAQ,EAAE,MAAM,eAAe;AAAA,QAChC;AACA,YAAI,OAAO,MAAM;AACL,qBAAA,YAAY,EAAE,MAAM,WAAW;AAC/B,qBAAA,YAAY,EAAE,MAAM,WAAW;AAC/B,qBAAA,WAAW,EAAE,KAAW;AAAA,QAAA,OAC7B;AACN,cAAI,OAAO,SAAS,MAAM,WAAW,MAAM;AAC/B,uBAAA,KAAK,EAAE,KAAK;AACZ,uBAAA,QAAQ,EAAE,KAAK;AACf,uBAAA,KAAK,EAAE,MAAM,IAAI,YAAY,IAAI,eAAe,IAAI,CAAC,EAAE;AACvD,uBAAA,QAAQ,EAAE,MAAM,IAAI,YAAY,IAAI,eAAe,IAAI,CAAC,EAAE;AAC1D,uBAAA,KAAK,EAAE,KAAW;AAClB,uBAAA,MAAM,EAAE,KAAW;AACnB,uBAAA,KAAK,EAAE,KAAW;AAClB,uBAAA,MAAM,EAAE,KAAW;AAAA,UAAA;AAE/B,cAAI,OAAO,SAAS,MAAM,WAAW,QAAQ;AACjC,uBAAA,WAAW,EAAE,MAAM,cAAc;AACjC,uBAAA,aAAa,EAAE,MAAM,cAAc;AACnC,uBAAA,WAAW,EAAE,MAAM,cAAc;AAEjC,uBAAA,aAAa,EAAE,MAAM,cAAc;AACnC,uBAAA,eAAe,EAAE,MAAM,cAAc;AACrC,uBAAA,aAAa,EAAE,MAAM,cAAc;AAAA,UAAA;AAAA,QAC/C;AAIM,eAAA;AAAA,MAAA;AAAA,IACR,CACA;AACM,WAAA;AAAA,EAAA;AAET;"}
|
|
@@ -5,6 +5,21 @@ const graphqlUtils = require("@contember/graphql-utils");
|
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
6
6
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
7
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
8
|
+
const TIME_REGEX = /^([01]\d|2[0-3]):([0-5]\d)(?::([0-5]\d)(?:\.(\d+))?)?$/;
|
|
9
|
+
function validateTime(value) {
|
|
10
|
+
if (typeof value !== "string") {
|
|
11
|
+
throw new TypeError(`Time value must be a string, got: ${typeof value}`);
|
|
12
|
+
}
|
|
13
|
+
const match = TIME_REGEX.exec(value);
|
|
14
|
+
if (!match) {
|
|
15
|
+
throw new TypeError(`Value is not a valid time: ${value}`);
|
|
16
|
+
}
|
|
17
|
+
const hours = match[1];
|
|
18
|
+
const minutes = match[2];
|
|
19
|
+
const seconds = match[3] || "00";
|
|
20
|
+
const fraction = match[4] ? `.${match[4]}` : "";
|
|
21
|
+
return `${hours}:${minutes}:${seconds}${fraction}`;
|
|
22
|
+
}
|
|
8
23
|
class CustomTypesProvider {
|
|
9
24
|
constructor() {
|
|
10
25
|
__publicField(this, "uuidType", graphqlUtils.UuidType);
|
|
@@ -16,6 +31,21 @@ class CustomTypesProvider {
|
|
|
16
31
|
return ast.kind === graphql.Kind.STRING ? ast.value : void 0;
|
|
17
32
|
}
|
|
18
33
|
}));
|
|
34
|
+
__publicField(this, "timeType", new graphql.GraphQLScalarType({
|
|
35
|
+
name: "Time",
|
|
36
|
+
serialize(value) {
|
|
37
|
+
return validateTime(value);
|
|
38
|
+
},
|
|
39
|
+
parseValue(value) {
|
|
40
|
+
return validateTime(value);
|
|
41
|
+
},
|
|
42
|
+
parseLiteral(ast) {
|
|
43
|
+
if (ast.kind !== graphql.Kind.STRING) {
|
|
44
|
+
throw new TypeError(`Time scalar can only parse string values, got: ${ast.kind}`);
|
|
45
|
+
}
|
|
46
|
+
return validateTime(ast.value);
|
|
47
|
+
}
|
|
48
|
+
}));
|
|
19
49
|
__publicField(this, "dateTimeType", new graphql.GraphQLScalarType({
|
|
20
50
|
name: "DateTime",
|
|
21
51
|
serialize: (str) => String(str),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomTypesProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/CustomTypesProvider.ts"],"sourcesContent":["import { GraphQLScalarType, Kind } from 'graphql'\nimport { JSONType, UuidType } from '@contember/graphql-utils'\n\n\nexport class CustomTypesProvider {\n\tpublic readonly uuidType: GraphQLScalarType = UuidType\n\n\t//todo: implement serialize, parseValue and parseLiteral properly\n\tpublic readonly dateType: GraphQLScalarType = new GraphQLScalarType({\n\t\tname: 'Date',\n\t\tserialize: str => String(str),\n\t\tparseValue: str => String(str),\n\t\tparseLiteral: function parseLiteral(ast) {\n\t\t\treturn ast.kind === Kind.STRING ? ast.value : undefined\n\t\t},\n\t})\n\tpublic readonly dateTimeType: GraphQLScalarType = new GraphQLScalarType({\n\t\tname: 'DateTime',\n\t\tserialize: str => String(str),\n\t\tparseValue: str => String(str),\n\t\tparseLiteral: function parseLiteral(ast) {\n\t\t\treturn ast.kind === Kind.STRING ? ast.value : undefined\n\t\t},\n\t})\n\tpublic readonly jsonType: GraphQLScalarType = JSONType\n}\n"],"names":["UuidType","GraphQLScalarType","Kind","JSONType"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"CustomTypesProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/CustomTypesProvider.ts"],"sourcesContent":["import { GraphQLScalarType, Kind } from 'graphql'\nimport { JSONType, UuidType } from '@contember/graphql-utils'\n\nconst TIME_REGEX = /^([01]\\d|2[0-3]):([0-5]\\d)(?::([0-5]\\d)(?:\\.(\\d+))?)?$/\n\nfunction validateTime(value: unknown): string {\n\tif (typeof value !== 'string') {\n\t\tthrow new TypeError(`Time value must be a string, got: ${typeof value}`)\n\t}\n\tconst match = TIME_REGEX.exec(value)\n\tif (!match) {\n\t\tthrow new TypeError(`Value is not a valid time: ${value}`)\n\t}\n\n\tconst hours = match[1]\n\tconst minutes = match[2]\n\tconst seconds = match[3] || '00'\n\tconst fraction = match[4] ? `.${match[4]}` : ''\n\n\treturn `${hours}:${minutes}:${seconds}${fraction}`\n}\n\n\nexport class CustomTypesProvider {\n\tpublic readonly uuidType: GraphQLScalarType = UuidType\n\n\t//todo: implement serialize, parseValue and parseLiteral properly\n\n\tpublic readonly dateType: GraphQLScalarType = new GraphQLScalarType({\n\t\tname: 'Date',\n\t\tserialize: str => String(str),\n\t\tparseValue: str => String(str),\n\t\tparseLiteral: function parseLiteral(ast) {\n\t\t\treturn ast.kind === Kind.STRING ? ast.value : undefined\n\t\t},\n\t})\n\n\tpublic readonly timeType: GraphQLScalarType = new GraphQLScalarType({\n\t\tname: 'Time',\n\t\tserialize(value) {\n\t\t\treturn validateTime(value)\n\t\t},\n\t\tparseValue(value) {\n\t\t\treturn validateTime(value)\n\t\t},\n\t\tparseLiteral(ast) {\n\t\t\tif (ast.kind !== Kind.STRING) {\n\t\t\t\tthrow new TypeError(`Time scalar can only parse string values, got: ${ast.kind}`)\n\t\t\t}\n\t\t\treturn validateTime(ast.value)\n\t\t},\n\t})\n\n\tpublic readonly dateTimeType: GraphQLScalarType = new GraphQLScalarType({\n\t\tname: 'DateTime',\n\t\tserialize: str => String(str),\n\t\tparseValue: str => String(str),\n\t\tparseLiteral: function parseLiteral(ast) {\n\t\t\treturn ast.kind === Kind.STRING ? ast.value : undefined\n\t\t},\n\t})\n\tpublic readonly jsonType: GraphQLScalarType = JSONType\n}\n"],"names":["UuidType","GraphQLScalarType","Kind","JSONType"],"mappings":";;;;;;;AAGA,MAAM,aAAa;AAEnB,SAAS,aAAa,OAAwB;AACzC,MAAA,OAAO,UAAU,UAAU;AAC9B,UAAM,IAAI,UAAU,qCAAqC,OAAO,KAAK,EAAE;AAAA,EAAA;AAElE,QAAA,QAAQ,WAAW,KAAK,KAAK;AACnC,MAAI,CAAC,OAAO;AACX,UAAM,IAAI,UAAU,8BAA8B,KAAK,EAAE;AAAA,EAAA;AAGpD,QAAA,QAAQ,MAAM,CAAC;AACf,QAAA,UAAU,MAAM,CAAC;AACjB,QAAA,UAAU,MAAM,CAAC,KAAK;AACtB,QAAA,WAAW,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,KAAK;AAE7C,SAAO,GAAG,KAAK,IAAI,OAAO,IAAI,OAAO,GAAG,QAAQ;AACjD;AAGO,MAAM,oBAAoB;AAAA,EAA1B,cAAA;AACN,kBAAA,MAAgB,YAA8BA,qBAAA;AAI9B,kBAAA,MAAA,YAA8B,IAAIC,0BAAkB;AAAA,MACnE,MAAM;AAAA,MACN,WAAW,CAAO,QAAA,OAAO,GAAG;AAAA,MAC5B,YAAY,CAAO,QAAA,OAAO,GAAG;AAAA,MAC7B,cAAc,SAAS,aAAa,KAAK;AACxC,eAAO,IAAI,SAASC,QAAK,KAAA,SAAS,IAAI,QAAQ;AAAA,MAAA;AAAA,IAC/C,CACA,CAAA;AAEe,kBAAA,MAAA,YAA8B,IAAID,0BAAkB;AAAA,MACnE,MAAM;AAAA,MACN,UAAU,OAAO;AAChB,eAAO,aAAa,KAAK;AAAA,MAC1B;AAAA,MACA,WAAW,OAAO;AACjB,eAAO,aAAa,KAAK;AAAA,MAC1B;AAAA,MACA,aAAa,KAAK;AACb,YAAA,IAAI,SAASC,QAAA,KAAK,QAAQ;AAC7B,gBAAM,IAAI,UAAU,kDAAkD,IAAI,IAAI,EAAE;AAAA,QAAA;AAE1E,eAAA,aAAa,IAAI,KAAK;AAAA,MAAA;AAAA,IAC9B,CACA,CAAA;AAEe,kBAAA,MAAA,gBAAkC,IAAID,0BAAkB;AAAA,MACvE,MAAM;AAAA,MACN,WAAW,CAAO,QAAA,OAAO,GAAG;AAAA,MAC5B,YAAY,CAAO,QAAA,OAAO,GAAG;AAAA,MAC7B,cAAc,SAAS,aAAa,KAAK;AACxC,eAAO,IAAI,SAASC,QAAK,KAAA,SAAS,IAAI,QAAQ;AAAA,MAAA;AAAA,IAC/C,CACA,CAAA;AACD,kBAAA,MAAgB,YAA8BC,qBAAA;AAAA,EAAA;AAC/C;;"}
|
|
@@ -3,6 +3,21 @@ import { UuidType, JSONType } from "@contember/graphql-utils";
|
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
5
5
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
6
|
+
const TIME_REGEX = /^([01]\d|2[0-3]):([0-5]\d)(?::([0-5]\d)(?:\.(\d+))?)?$/;
|
|
7
|
+
function validateTime(value) {
|
|
8
|
+
if (typeof value !== "string") {
|
|
9
|
+
throw new TypeError(`Time value must be a string, got: ${typeof value}`);
|
|
10
|
+
}
|
|
11
|
+
const match = TIME_REGEX.exec(value);
|
|
12
|
+
if (!match) {
|
|
13
|
+
throw new TypeError(`Value is not a valid time: ${value}`);
|
|
14
|
+
}
|
|
15
|
+
const hours = match[1];
|
|
16
|
+
const minutes = match[2];
|
|
17
|
+
const seconds = match[3] || "00";
|
|
18
|
+
const fraction = match[4] ? `.${match[4]}` : "";
|
|
19
|
+
return `${hours}:${minutes}:${seconds}${fraction}`;
|
|
20
|
+
}
|
|
6
21
|
class CustomTypesProvider {
|
|
7
22
|
constructor() {
|
|
8
23
|
__publicField(this, "uuidType", UuidType);
|
|
@@ -14,6 +29,21 @@ class CustomTypesProvider {
|
|
|
14
29
|
return ast.kind === Kind.STRING ? ast.value : void 0;
|
|
15
30
|
}
|
|
16
31
|
}));
|
|
32
|
+
__publicField(this, "timeType", new GraphQLScalarType({
|
|
33
|
+
name: "Time",
|
|
34
|
+
serialize(value) {
|
|
35
|
+
return validateTime(value);
|
|
36
|
+
},
|
|
37
|
+
parseValue(value) {
|
|
38
|
+
return validateTime(value);
|
|
39
|
+
},
|
|
40
|
+
parseLiteral(ast) {
|
|
41
|
+
if (ast.kind !== Kind.STRING) {
|
|
42
|
+
throw new TypeError(`Time scalar can only parse string values, got: ${ast.kind}`);
|
|
43
|
+
}
|
|
44
|
+
return validateTime(ast.value);
|
|
45
|
+
}
|
|
46
|
+
}));
|
|
17
47
|
__publicField(this, "dateTimeType", new GraphQLScalarType({
|
|
18
48
|
name: "DateTime",
|
|
19
49
|
serialize: (str) => String(str),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomTypesProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/CustomTypesProvider.ts"],"sourcesContent":["import { GraphQLScalarType, Kind } from 'graphql'\nimport { JSONType, UuidType } from '@contember/graphql-utils'\n\n\nexport class CustomTypesProvider {\n\tpublic readonly uuidType: GraphQLScalarType = UuidType\n\n\t//todo: implement serialize, parseValue and parseLiteral properly\n\tpublic readonly dateType: GraphQLScalarType = new GraphQLScalarType({\n\t\tname: 'Date',\n\t\tserialize: str => String(str),\n\t\tparseValue: str => String(str),\n\t\tparseLiteral: function parseLiteral(ast) {\n\t\t\treturn ast.kind === Kind.STRING ? ast.value : undefined\n\t\t},\n\t})\n\tpublic readonly dateTimeType: GraphQLScalarType = new GraphQLScalarType({\n\t\tname: 'DateTime',\n\t\tserialize: str => String(str),\n\t\tparseValue: str => String(str),\n\t\tparseLiteral: function parseLiteral(ast) {\n\t\t\treturn ast.kind === Kind.STRING ? ast.value : undefined\n\t\t},\n\t})\n\tpublic readonly jsonType: GraphQLScalarType = JSONType\n}\n"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"CustomTypesProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/CustomTypesProvider.ts"],"sourcesContent":["import { GraphQLScalarType, Kind } from 'graphql'\nimport { JSONType, UuidType } from '@contember/graphql-utils'\n\nconst TIME_REGEX = /^([01]\\d|2[0-3]):([0-5]\\d)(?::([0-5]\\d)(?:\\.(\\d+))?)?$/\n\nfunction validateTime(value: unknown): string {\n\tif (typeof value !== 'string') {\n\t\tthrow new TypeError(`Time value must be a string, got: ${typeof value}`)\n\t}\n\tconst match = TIME_REGEX.exec(value)\n\tif (!match) {\n\t\tthrow new TypeError(`Value is not a valid time: ${value}`)\n\t}\n\n\tconst hours = match[1]\n\tconst minutes = match[2]\n\tconst seconds = match[3] || '00'\n\tconst fraction = match[4] ? `.${match[4]}` : ''\n\n\treturn `${hours}:${minutes}:${seconds}${fraction}`\n}\n\n\nexport class CustomTypesProvider {\n\tpublic readonly uuidType: GraphQLScalarType = UuidType\n\n\t//todo: implement serialize, parseValue and parseLiteral properly\n\n\tpublic readonly dateType: GraphQLScalarType = new GraphQLScalarType({\n\t\tname: 'Date',\n\t\tserialize: str => String(str),\n\t\tparseValue: str => String(str),\n\t\tparseLiteral: function parseLiteral(ast) {\n\t\t\treturn ast.kind === Kind.STRING ? ast.value : undefined\n\t\t},\n\t})\n\n\tpublic readonly timeType: GraphQLScalarType = new GraphQLScalarType({\n\t\tname: 'Time',\n\t\tserialize(value) {\n\t\t\treturn validateTime(value)\n\t\t},\n\t\tparseValue(value) {\n\t\t\treturn validateTime(value)\n\t\t},\n\t\tparseLiteral(ast) {\n\t\t\tif (ast.kind !== Kind.STRING) {\n\t\t\t\tthrow new TypeError(`Time scalar can only parse string values, got: ${ast.kind}`)\n\t\t\t}\n\t\t\treturn validateTime(ast.value)\n\t\t},\n\t})\n\n\tpublic readonly dateTimeType: GraphQLScalarType = new GraphQLScalarType({\n\t\tname: 'DateTime',\n\t\tserialize: str => String(str),\n\t\tparseValue: str => String(str),\n\t\tparseLiteral: function parseLiteral(ast) {\n\t\t\treturn ast.kind === Kind.STRING ? ast.value : undefined\n\t\t},\n\t})\n\tpublic readonly jsonType: GraphQLScalarType = JSONType\n}\n"],"names":[],"mappings":";;;;;AAGA,MAAM,aAAa;AAEnB,SAAS,aAAa,OAAwB;AACzC,MAAA,OAAO,UAAU,UAAU;AAC9B,UAAM,IAAI,UAAU,qCAAqC,OAAO,KAAK,EAAE;AAAA,EAAA;AAElE,QAAA,QAAQ,WAAW,KAAK,KAAK;AACnC,MAAI,CAAC,OAAO;AACX,UAAM,IAAI,UAAU,8BAA8B,KAAK,EAAE;AAAA,EAAA;AAGpD,QAAA,QAAQ,MAAM,CAAC;AACf,QAAA,UAAU,MAAM,CAAC;AACjB,QAAA,UAAU,MAAM,CAAC,KAAK;AACtB,QAAA,WAAW,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,KAAK;AAE7C,SAAO,GAAG,KAAK,IAAI,OAAO,IAAI,OAAO,GAAG,QAAQ;AACjD;AAGO,MAAM,oBAAoB;AAAA,EAA1B,cAAA;AACN,kBAAA,MAAgB,YAA8B,QAAA;AAI9B,kBAAA,MAAA,YAA8B,IAAI,kBAAkB;AAAA,MACnE,MAAM;AAAA,MACN,WAAW,CAAO,QAAA,OAAO,GAAG;AAAA,MAC5B,YAAY,CAAO,QAAA,OAAO,GAAG;AAAA,MAC7B,cAAc,SAAS,aAAa,KAAK;AACxC,eAAO,IAAI,SAAS,KAAK,SAAS,IAAI,QAAQ;AAAA,MAAA;AAAA,IAC/C,CACA,CAAA;AAEe,kBAAA,MAAA,YAA8B,IAAI,kBAAkB;AAAA,MACnE,MAAM;AAAA,MACN,UAAU,OAAO;AAChB,eAAO,aAAa,KAAK;AAAA,MAC1B;AAAA,MACA,WAAW,OAAO;AACjB,eAAO,aAAa,KAAK;AAAA,MAC1B;AAAA,MACA,aAAa,KAAK;AACb,YAAA,IAAI,SAAS,KAAK,QAAQ;AAC7B,gBAAM,IAAI,UAAU,kDAAkD,IAAI,IAAI,EAAE;AAAA,QAAA;AAE1E,eAAA,aAAa,IAAI,KAAK;AAAA,MAAA;AAAA,IAC9B,CACA,CAAA;AAEe,kBAAA,MAAA,gBAAkC,IAAI,kBAAkB;AAAA,MACvE,MAAM;AAAA,MACN,WAAW,CAAO,QAAA,OAAO,GAAG;AAAA,MAC5B,YAAY,CAAO,QAAA,OAAO,GAAG;AAAA,MAC7B,cAAc,SAAS,aAAa,KAAK;AACxC,eAAO,IAAI,SAAS,KAAK,SAAS,IAAI,QAAQ;AAAA,MAAA;AAAA,IAC/C,CACA,CAAA;AACD,kBAAA,MAAgB,YAA8B,QAAA;AAAA,EAAA;AAC/C;"}
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const graphql = require("graphql");
|
|
4
4
|
class GraphQlSchemaBuilder {
|
|
5
|
-
constructor(schema, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider) {
|
|
5
|
+
constructor(schema, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider, refreshViewMutationProvider) {
|
|
6
6
|
this.schema = schema;
|
|
7
7
|
this.queryProvider = queryProvider;
|
|
8
8
|
this.validationQueriesProvider = validationQueriesProvider;
|
|
9
9
|
this.mutationProvider = mutationProvider;
|
|
10
10
|
this.resultSchemaTypeProvider = resultSchemaTypeProvider;
|
|
11
|
+
this.refreshViewMutationProvider = refreshViewMutationProvider;
|
|
11
12
|
}
|
|
12
13
|
build(args = {}) {
|
|
13
14
|
return new graphql.GraphQLSchema(this.buildConfig(args));
|
|
@@ -95,6 +96,10 @@ class GraphQlSchemaBuilder {
|
|
|
95
96
|
resolve: (parent, args2, context, info) => context.executionContainer.readResolver.resolveQuery(info)
|
|
96
97
|
});
|
|
97
98
|
}
|
|
99
|
+
const refreshViewMutation = this.refreshViewMutationProvider.getMutation();
|
|
100
|
+
if (refreshViewMutation) {
|
|
101
|
+
mutations.set("refreshMaterializedView", refreshViewMutation);
|
|
102
|
+
}
|
|
98
103
|
const infoType = new graphql.GraphQLObjectType({
|
|
99
104
|
name: "Info",
|
|
100
105
|
fields: () => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphQlSchemaBuilder.cjs","sources":["../../../../../packages/engine-content-api/src/schema/GraphQlSchemaBuilder.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLFieldConfig,\n\tGraphQLInputObjectType,\n\tGraphQLNamedType,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLSchema,\n\tGraphQLSchemaConfig,\n\tGraphQLString,\n} from 'graphql'\nimport { Model } from '@contember/schema'\nimport { MutationProvider } from './MutationProvider'\nimport { QueryProvider } from './QueryProvider'\nimport { ValidationQueriesProvider } from './ValidationQueriesProvider'\nimport { Context } from '../types'\nimport { ResultSchemaTypeProvider } from './ResultSchemaTypeProvider'\n\ntype BuildArgs = {\n\tqueries?: Map<string, GraphQLFieldConfig<any, Context, any>>\n\tmutations?: Map<string, GraphQLFieldConfig<any, Context, any>>\n\ttypes?: GraphQLNamedType[]\n}\n\nexport class GraphQlSchemaBuilder {\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly queryProvider: QueryProvider,\n\t\tprivate readonly validationQueriesProvider: ValidationQueriesProvider,\n\t\tprivate readonly mutationProvider: MutationProvider,\n\t\tprivate readonly resultSchemaTypeProvider: ResultSchemaTypeProvider,\n\t) {}\n\n\tpublic build(args: BuildArgs = {}): GraphQLSchema {\n\t\treturn new GraphQLSchema(this.buildConfig(args))\n\t}\n\n\tprivate buildConfig(args: BuildArgs): GraphQLSchemaConfig {\n\t\tconst queries = new Map<string, GraphQLFieldConfig<any, Context, any>>(args.queries)\n\t\tconst mutations = new Map<string, GraphQLFieldConfig<any, Context, any>>(args.mutations)\n\t\tfor (const entity of Object.values(this.schema.entities)) {\n\t\t\tconst queryFields = this.queryProvider.getQueries(entity)\n\t\t\tfor (const name in queryFields) {\n\t\t\t\tqueries.set(name, queryFields[name])\n\t\t\t}\n\t\t\tconst validationFields = this.validationQueriesProvider.getQueries(entity)\n\t\t\tfor (const name in validationFields) {\n\t\t\t\tqueries.set(name, validationFields[name])\n\t\t\t}\n\t\t\tconst mutationFields = this.mutationProvider.getMutations(entity)\n\t\t\tfor (const name in mutationFields) {\n\t\t\t\tmutations.set(name, mutationFields[name])\n\t\t\t}\n\t\t}\n\n\t\tif (queries.size > 0) {\n\t\t\tconst queryTransactionType = new GraphQLObjectType({\n\t\t\t\tname: 'QueryTransaction',\n\t\t\t\tfields: Object.fromEntries(queries),\n\t\t\t})\n\t\t\tqueries.set('transaction', {\n\t\t\t\ttype: queryTransactionType,\n\t\t\t\tresolve: async (parent, args, context: Context, info) => {\n\t\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () =>\n\t\t\t\t\t\tcontext.executionContainer.readResolver.resolveTransaction(info),\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t\tconst queryObjectType = new GraphQLObjectType({\n\t\t\tname: 'Query',\n\t\t\tfields: () => Object.fromEntries(queries),\n\t\t})\n\t\tif (mutations.size > 0) {\n\t\t\tconst mutationTransactionOptions = new GraphQLInputObjectType({\n\t\t\t\tname: 'MutationTransactionOptions',\n\t\t\t\tfields: {\n\t\t\t\t\tdeferForeignKeyConstraints: { type: GraphQLBoolean },\n\t\t\t\t\tdeferUniqueConstraints: { type: GraphQLBoolean },\n\t\t\t\t},\n\t\t\t})\n\t\t\tconst mutationTransactionType = new GraphQLObjectType({\n\t\t\t\tname: 'MutationTransaction',\n\t\t\t\tfields: {\n\t\t\t\t\tok: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\t\t\terrorMessage: { type: GraphQLString },\n\t\t\t\t\terrors: { type: this.resultSchemaTypeProvider.errorListResultType },\n\t\t\t\t\tvalidation: {\n\t\t\t\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\t\t\t},\n\t\t\t\t\t...Object.fromEntries(mutations),\n\t\t\t\t\tquery: {\n\t\t\t\t\t\ttype: queryObjectType,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t})\n\t\t\tmutations.set('transaction', {\n\t\t\t\targs: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\ttype: mutationTransactionOptions,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: new GraphQLNonNull(\n\t\t\t\t\tmutationTransactionType,\n\t\t\t\t),\n\t\t\t\tresolve: async (parent, args: { options?: { deferForeignKeyConstraints?: boolean; deferUniqueConstraints?: boolean } }, context: Context, info) => {\n\t\t\t\t\treturn context.timer(`GraphQL.mutation.${info.fieldName}`, () =>\n\t\t\t\t\t\tcontext.executionContainer.mutationResolver.resolveTransaction(info, {\n\t\t\t\t\t\t\tdeferForeignKeyConstraints: args.options?.deferForeignKeyConstraints ?? false,\n\t\t\t\t\t\t\tdeferUniqueConstraints: args.options?.deferUniqueConstraints ?? false,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t})\n\t\t\tmutations.set('query', {\n\t\t\t\ttype: new GraphQLNonNull(queryObjectType),\n\t\t\t\tresolve: (parent, args, context: Context, info) => context.executionContainer.readResolver.resolveQuery(info),\n\t\t\t})\n\t\t}\n\t\tconst infoType = new GraphQLObjectType({\n\t\t\tname: 'Info',\n\t\t\tfields: () => ({\n\t\t\t\tdescription: { type: GraphQLString },\n\t\t\t}),\n\t\t})\n\t\tqueries.set('_info', {\n\t\t\ttype: infoType,\n\t\t\tresolve: () => ({\n\t\t\t\tdescription: 'TODO',\n\t\t\t}),\n\t\t})\n\n\n\t\treturn {\n\t\t\tquery: queryObjectType,\n\t\t\ttypes: args.types,\n\t\t\t...(mutations.size > 0\n\t\t\t\t? {\n\t\t\t\t\tmutation: new GraphQLObjectType({\n\t\t\t\t\t\tname: 'Mutation',\n\t\t\t\t\t\tfields: () => Object.fromEntries(mutations),\n\t\t\t\t\t}),\n\t\t\t\t}\n\t\t\t\t: {}),\n\t\t}\n\t}\n}\n"],"names":["GraphQLSchema","GraphQLObjectType","args","GraphQLInputObjectType","GraphQLBoolean","GraphQLNonNull","GraphQLString"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"GraphQlSchemaBuilder.cjs","sources":["../../../../../packages/engine-content-api/src/schema/GraphQlSchemaBuilder.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLFieldConfig,\n\tGraphQLInputObjectType,\n\tGraphQLNamedType,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLSchema,\n\tGraphQLSchemaConfig,\n\tGraphQLString,\n} from 'graphql'\nimport { Model } from '@contember/schema'\nimport { MutationProvider } from './MutationProvider'\nimport { QueryProvider } from './QueryProvider'\nimport { ValidationQueriesProvider } from './ValidationQueriesProvider'\nimport { Context } from '../types'\nimport { ResultSchemaTypeProvider } from './ResultSchemaTypeProvider'\nimport { RefreshViewMutationProvider } from './RefreshViewMutationProvider'\n\ntype BuildArgs = {\n\tqueries?: Map<string, GraphQLFieldConfig<any, Context, any>>\n\tmutations?: Map<string, GraphQLFieldConfig<any, Context, any>>\n\ttypes?: GraphQLNamedType[]\n}\n\nexport class GraphQlSchemaBuilder {\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly queryProvider: QueryProvider,\n\t\tprivate readonly validationQueriesProvider: ValidationQueriesProvider,\n\t\tprivate readonly mutationProvider: MutationProvider,\n\t\tprivate readonly resultSchemaTypeProvider: ResultSchemaTypeProvider,\n\t\tprivate readonly refreshViewMutationProvider: RefreshViewMutationProvider,\n\t) {}\n\n\tpublic build(args: BuildArgs = {}): GraphQLSchema {\n\t\treturn new GraphQLSchema(this.buildConfig(args))\n\t}\n\n\tprivate buildConfig(args: BuildArgs): GraphQLSchemaConfig {\n\t\tconst queries = new Map<string, GraphQLFieldConfig<any, Context, any>>(args.queries)\n\t\tconst mutations = new Map<string, GraphQLFieldConfig<any, Context, any>>(args.mutations)\n\t\tfor (const entity of Object.values(this.schema.entities)) {\n\t\t\tconst queryFields = this.queryProvider.getQueries(entity)\n\t\t\tfor (const name in queryFields) {\n\t\t\t\tqueries.set(name, queryFields[name])\n\t\t\t}\n\t\t\tconst validationFields = this.validationQueriesProvider.getQueries(entity)\n\t\t\tfor (const name in validationFields) {\n\t\t\t\tqueries.set(name, validationFields[name])\n\t\t\t}\n\t\t\tconst mutationFields = this.mutationProvider.getMutations(entity)\n\t\t\tfor (const name in mutationFields) {\n\t\t\t\tmutations.set(name, mutationFields[name])\n\t\t\t}\n\t\t}\n\n\t\tif (queries.size > 0) {\n\t\t\tconst queryTransactionType = new GraphQLObjectType({\n\t\t\t\tname: 'QueryTransaction',\n\t\t\t\tfields: Object.fromEntries(queries),\n\t\t\t})\n\t\t\tqueries.set('transaction', {\n\t\t\t\ttype: queryTransactionType,\n\t\t\t\tresolve: async (parent, args, context: Context, info) => {\n\t\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () =>\n\t\t\t\t\t\tcontext.executionContainer.readResolver.resolveTransaction(info),\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t\tconst queryObjectType = new GraphQLObjectType({\n\t\t\tname: 'Query',\n\t\t\tfields: () => Object.fromEntries(queries),\n\t\t})\n\t\tif (mutations.size > 0) {\n\t\t\tconst mutationTransactionOptions = new GraphQLInputObjectType({\n\t\t\t\tname: 'MutationTransactionOptions',\n\t\t\t\tfields: {\n\t\t\t\t\tdeferForeignKeyConstraints: { type: GraphQLBoolean },\n\t\t\t\t\tdeferUniqueConstraints: { type: GraphQLBoolean },\n\t\t\t\t},\n\t\t\t})\n\t\t\tconst mutationTransactionType = new GraphQLObjectType({\n\t\t\t\tname: 'MutationTransaction',\n\t\t\t\tfields: {\n\t\t\t\t\tok: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\t\t\terrorMessage: { type: GraphQLString },\n\t\t\t\t\terrors: { type: this.resultSchemaTypeProvider.errorListResultType },\n\t\t\t\t\tvalidation: {\n\t\t\t\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\t\t\t},\n\t\t\t\t\t...Object.fromEntries(mutations),\n\t\t\t\t\tquery: {\n\t\t\t\t\t\ttype: queryObjectType,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t})\n\t\t\tmutations.set('transaction', {\n\t\t\t\targs: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\ttype: mutationTransactionOptions,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: new GraphQLNonNull(\n\t\t\t\t\tmutationTransactionType,\n\t\t\t\t),\n\t\t\t\tresolve: async (parent, args: { options?: { deferForeignKeyConstraints?: boolean; deferUniqueConstraints?: boolean } }, context: Context, info) => {\n\t\t\t\t\treturn context.timer(`GraphQL.mutation.${info.fieldName}`, () =>\n\t\t\t\t\t\tcontext.executionContainer.mutationResolver.resolveTransaction(info, {\n\t\t\t\t\t\t\tdeferForeignKeyConstraints: args.options?.deferForeignKeyConstraints ?? false,\n\t\t\t\t\t\t\tdeferUniqueConstraints: args.options?.deferUniqueConstraints ?? false,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t})\n\t\t\tmutations.set('query', {\n\t\t\t\ttype: new GraphQLNonNull(queryObjectType),\n\t\t\t\tresolve: (parent, args, context: Context, info) => context.executionContainer.readResolver.resolveQuery(info),\n\t\t\t})\n\t\t}\n\n\t\tconst refreshViewMutation = this.refreshViewMutationProvider.getMutation()\n\t\tif (refreshViewMutation) {\n\t\t\tmutations.set('refreshMaterializedView', refreshViewMutation)\n\t\t}\n\n\t\tconst infoType = new GraphQLObjectType({\n\t\t\tname: 'Info',\n\t\t\tfields: () => ({\n\t\t\t\tdescription: { type: GraphQLString },\n\t\t\t}),\n\t\t})\n\t\tqueries.set('_info', {\n\t\t\ttype: infoType,\n\t\t\tresolve: () => ({\n\t\t\t\tdescription: 'TODO',\n\t\t\t}),\n\t\t})\n\n\n\t\treturn {\n\t\t\tquery: queryObjectType,\n\t\t\ttypes: args.types,\n\t\t\t...(mutations.size > 0\n\t\t\t\t? {\n\t\t\t\t\tmutation: new GraphQLObjectType({\n\t\t\t\t\t\tname: 'Mutation',\n\t\t\t\t\t\tfields: () => Object.fromEntries(mutations),\n\t\t\t\t\t}),\n\t\t\t\t}\n\t\t\t\t: {}),\n\t\t}\n\t}\n}\n"],"names":["GraphQLSchema","GraphQLObjectType","args","GraphQLInputObjectType","GraphQLBoolean","GraphQLNonNull","GraphQLString"],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { GraphQLSchema, GraphQLObjectType, GraphQLInputObjectType, GraphQLBoolean, GraphQLNonNull, GraphQLString } from "graphql";
|
|
2
2
|
class GraphQlSchemaBuilder {
|
|
3
|
-
constructor(schema, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider) {
|
|
3
|
+
constructor(schema, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider, refreshViewMutationProvider) {
|
|
4
4
|
this.schema = schema;
|
|
5
5
|
this.queryProvider = queryProvider;
|
|
6
6
|
this.validationQueriesProvider = validationQueriesProvider;
|
|
7
7
|
this.mutationProvider = mutationProvider;
|
|
8
8
|
this.resultSchemaTypeProvider = resultSchemaTypeProvider;
|
|
9
|
+
this.refreshViewMutationProvider = refreshViewMutationProvider;
|
|
9
10
|
}
|
|
10
11
|
build(args = {}) {
|
|
11
12
|
return new GraphQLSchema(this.buildConfig(args));
|
|
@@ -93,6 +94,10 @@ class GraphQlSchemaBuilder {
|
|
|
93
94
|
resolve: (parent, args2, context, info) => context.executionContainer.readResolver.resolveQuery(info)
|
|
94
95
|
});
|
|
95
96
|
}
|
|
97
|
+
const refreshViewMutation = this.refreshViewMutationProvider.getMutation();
|
|
98
|
+
if (refreshViewMutation) {
|
|
99
|
+
mutations.set("refreshMaterializedView", refreshViewMutation);
|
|
100
|
+
}
|
|
96
101
|
const infoType = new GraphQLObjectType({
|
|
97
102
|
name: "Info",
|
|
98
103
|
fields: () => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphQlSchemaBuilder.js","sources":["../../../../../packages/engine-content-api/src/schema/GraphQlSchemaBuilder.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLFieldConfig,\n\tGraphQLInputObjectType,\n\tGraphQLNamedType,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLSchema,\n\tGraphQLSchemaConfig,\n\tGraphQLString,\n} from 'graphql'\nimport { Model } from '@contember/schema'\nimport { MutationProvider } from './MutationProvider'\nimport { QueryProvider } from './QueryProvider'\nimport { ValidationQueriesProvider } from './ValidationQueriesProvider'\nimport { Context } from '../types'\nimport { ResultSchemaTypeProvider } from './ResultSchemaTypeProvider'\n\ntype BuildArgs = {\n\tqueries?: Map<string, GraphQLFieldConfig<any, Context, any>>\n\tmutations?: Map<string, GraphQLFieldConfig<any, Context, any>>\n\ttypes?: GraphQLNamedType[]\n}\n\nexport class GraphQlSchemaBuilder {\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly queryProvider: QueryProvider,\n\t\tprivate readonly validationQueriesProvider: ValidationQueriesProvider,\n\t\tprivate readonly mutationProvider: MutationProvider,\n\t\tprivate readonly resultSchemaTypeProvider: ResultSchemaTypeProvider,\n\t) {}\n\n\tpublic build(args: BuildArgs = {}): GraphQLSchema {\n\t\treturn new GraphQLSchema(this.buildConfig(args))\n\t}\n\n\tprivate buildConfig(args: BuildArgs): GraphQLSchemaConfig {\n\t\tconst queries = new Map<string, GraphQLFieldConfig<any, Context, any>>(args.queries)\n\t\tconst mutations = new Map<string, GraphQLFieldConfig<any, Context, any>>(args.mutations)\n\t\tfor (const entity of Object.values(this.schema.entities)) {\n\t\t\tconst queryFields = this.queryProvider.getQueries(entity)\n\t\t\tfor (const name in queryFields) {\n\t\t\t\tqueries.set(name, queryFields[name])\n\t\t\t}\n\t\t\tconst validationFields = this.validationQueriesProvider.getQueries(entity)\n\t\t\tfor (const name in validationFields) {\n\t\t\t\tqueries.set(name, validationFields[name])\n\t\t\t}\n\t\t\tconst mutationFields = this.mutationProvider.getMutations(entity)\n\t\t\tfor (const name in mutationFields) {\n\t\t\t\tmutations.set(name, mutationFields[name])\n\t\t\t}\n\t\t}\n\n\t\tif (queries.size > 0) {\n\t\t\tconst queryTransactionType = new GraphQLObjectType({\n\t\t\t\tname: 'QueryTransaction',\n\t\t\t\tfields: Object.fromEntries(queries),\n\t\t\t})\n\t\t\tqueries.set('transaction', {\n\t\t\t\ttype: queryTransactionType,\n\t\t\t\tresolve: async (parent, args, context: Context, info) => {\n\t\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () =>\n\t\t\t\t\t\tcontext.executionContainer.readResolver.resolveTransaction(info),\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t\tconst queryObjectType = new GraphQLObjectType({\n\t\t\tname: 'Query',\n\t\t\tfields: () => Object.fromEntries(queries),\n\t\t})\n\t\tif (mutations.size > 0) {\n\t\t\tconst mutationTransactionOptions = new GraphQLInputObjectType({\n\t\t\t\tname: 'MutationTransactionOptions',\n\t\t\t\tfields: {\n\t\t\t\t\tdeferForeignKeyConstraints: { type: GraphQLBoolean },\n\t\t\t\t\tdeferUniqueConstraints: { type: GraphQLBoolean },\n\t\t\t\t},\n\t\t\t})\n\t\t\tconst mutationTransactionType = new GraphQLObjectType({\n\t\t\t\tname: 'MutationTransaction',\n\t\t\t\tfields: {\n\t\t\t\t\tok: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\t\t\terrorMessage: { type: GraphQLString },\n\t\t\t\t\terrors: { type: this.resultSchemaTypeProvider.errorListResultType },\n\t\t\t\t\tvalidation: {\n\t\t\t\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\t\t\t},\n\t\t\t\t\t...Object.fromEntries(mutations),\n\t\t\t\t\tquery: {\n\t\t\t\t\t\ttype: queryObjectType,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t})\n\t\t\tmutations.set('transaction', {\n\t\t\t\targs: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\ttype: mutationTransactionOptions,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: new GraphQLNonNull(\n\t\t\t\t\tmutationTransactionType,\n\t\t\t\t),\n\t\t\t\tresolve: async (parent, args: { options?: { deferForeignKeyConstraints?: boolean; deferUniqueConstraints?: boolean } }, context: Context, info) => {\n\t\t\t\t\treturn context.timer(`GraphQL.mutation.${info.fieldName}`, () =>\n\t\t\t\t\t\tcontext.executionContainer.mutationResolver.resolveTransaction(info, {\n\t\t\t\t\t\t\tdeferForeignKeyConstraints: args.options?.deferForeignKeyConstraints ?? false,\n\t\t\t\t\t\t\tdeferUniqueConstraints: args.options?.deferUniqueConstraints ?? false,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t})\n\t\t\tmutations.set('query', {\n\t\t\t\ttype: new GraphQLNonNull(queryObjectType),\n\t\t\t\tresolve: (parent, args, context: Context, info) => context.executionContainer.readResolver.resolveQuery(info),\n\t\t\t})\n\t\t}\n\t\tconst infoType = new GraphQLObjectType({\n\t\t\tname: 'Info',\n\t\t\tfields: () => ({\n\t\t\t\tdescription: { type: GraphQLString },\n\t\t\t}),\n\t\t})\n\t\tqueries.set('_info', {\n\t\t\ttype: infoType,\n\t\t\tresolve: () => ({\n\t\t\t\tdescription: 'TODO',\n\t\t\t}),\n\t\t})\n\n\n\t\treturn {\n\t\t\tquery: queryObjectType,\n\t\t\ttypes: args.types,\n\t\t\t...(mutations.size > 0\n\t\t\t\t? {\n\t\t\t\t\tmutation: new GraphQLObjectType({\n\t\t\t\t\t\tname: 'Mutation',\n\t\t\t\t\t\tfields: () => Object.fromEntries(mutations),\n\t\t\t\t\t}),\n\t\t\t\t}\n\t\t\t\t: {}),\n\t\t}\n\t}\n}\n"],"names":["args"],"mappings":";
|
|
1
|
+
{"version":3,"file":"GraphQlSchemaBuilder.js","sources":["../../../../../packages/engine-content-api/src/schema/GraphQlSchemaBuilder.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLFieldConfig,\n\tGraphQLInputObjectType,\n\tGraphQLNamedType,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLSchema,\n\tGraphQLSchemaConfig,\n\tGraphQLString,\n} from 'graphql'\nimport { Model } from '@contember/schema'\nimport { MutationProvider } from './MutationProvider'\nimport { QueryProvider } from './QueryProvider'\nimport { ValidationQueriesProvider } from './ValidationQueriesProvider'\nimport { Context } from '../types'\nimport { ResultSchemaTypeProvider } from './ResultSchemaTypeProvider'\nimport { RefreshViewMutationProvider } from './RefreshViewMutationProvider'\n\ntype BuildArgs = {\n\tqueries?: Map<string, GraphQLFieldConfig<any, Context, any>>\n\tmutations?: Map<string, GraphQLFieldConfig<any, Context, any>>\n\ttypes?: GraphQLNamedType[]\n}\n\nexport class GraphQlSchemaBuilder {\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly queryProvider: QueryProvider,\n\t\tprivate readonly validationQueriesProvider: ValidationQueriesProvider,\n\t\tprivate readonly mutationProvider: MutationProvider,\n\t\tprivate readonly resultSchemaTypeProvider: ResultSchemaTypeProvider,\n\t\tprivate readonly refreshViewMutationProvider: RefreshViewMutationProvider,\n\t) {}\n\n\tpublic build(args: BuildArgs = {}): GraphQLSchema {\n\t\treturn new GraphQLSchema(this.buildConfig(args))\n\t}\n\n\tprivate buildConfig(args: BuildArgs): GraphQLSchemaConfig {\n\t\tconst queries = new Map<string, GraphQLFieldConfig<any, Context, any>>(args.queries)\n\t\tconst mutations = new Map<string, GraphQLFieldConfig<any, Context, any>>(args.mutations)\n\t\tfor (const entity of Object.values(this.schema.entities)) {\n\t\t\tconst queryFields = this.queryProvider.getQueries(entity)\n\t\t\tfor (const name in queryFields) {\n\t\t\t\tqueries.set(name, queryFields[name])\n\t\t\t}\n\t\t\tconst validationFields = this.validationQueriesProvider.getQueries(entity)\n\t\t\tfor (const name in validationFields) {\n\t\t\t\tqueries.set(name, validationFields[name])\n\t\t\t}\n\t\t\tconst mutationFields = this.mutationProvider.getMutations(entity)\n\t\t\tfor (const name in mutationFields) {\n\t\t\t\tmutations.set(name, mutationFields[name])\n\t\t\t}\n\t\t}\n\n\t\tif (queries.size > 0) {\n\t\t\tconst queryTransactionType = new GraphQLObjectType({\n\t\t\t\tname: 'QueryTransaction',\n\t\t\t\tfields: Object.fromEntries(queries),\n\t\t\t})\n\t\t\tqueries.set('transaction', {\n\t\t\t\ttype: queryTransactionType,\n\t\t\t\tresolve: async (parent, args, context: Context, info) => {\n\t\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () =>\n\t\t\t\t\t\tcontext.executionContainer.readResolver.resolveTransaction(info),\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t\tconst queryObjectType = new GraphQLObjectType({\n\t\t\tname: 'Query',\n\t\t\tfields: () => Object.fromEntries(queries),\n\t\t})\n\t\tif (mutations.size > 0) {\n\t\t\tconst mutationTransactionOptions = new GraphQLInputObjectType({\n\t\t\t\tname: 'MutationTransactionOptions',\n\t\t\t\tfields: {\n\t\t\t\t\tdeferForeignKeyConstraints: { type: GraphQLBoolean },\n\t\t\t\t\tdeferUniqueConstraints: { type: GraphQLBoolean },\n\t\t\t\t},\n\t\t\t})\n\t\t\tconst mutationTransactionType = new GraphQLObjectType({\n\t\t\t\tname: 'MutationTransaction',\n\t\t\t\tfields: {\n\t\t\t\t\tok: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\t\t\terrorMessage: { type: GraphQLString },\n\t\t\t\t\terrors: { type: this.resultSchemaTypeProvider.errorListResultType },\n\t\t\t\t\tvalidation: {\n\t\t\t\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\t\t\t},\n\t\t\t\t\t...Object.fromEntries(mutations),\n\t\t\t\t\tquery: {\n\t\t\t\t\t\ttype: queryObjectType,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t})\n\t\t\tmutations.set('transaction', {\n\t\t\t\targs: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\ttype: mutationTransactionOptions,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: new GraphQLNonNull(\n\t\t\t\t\tmutationTransactionType,\n\t\t\t\t),\n\t\t\t\tresolve: async (parent, args: { options?: { deferForeignKeyConstraints?: boolean; deferUniqueConstraints?: boolean } }, context: Context, info) => {\n\t\t\t\t\treturn context.timer(`GraphQL.mutation.${info.fieldName}`, () =>\n\t\t\t\t\t\tcontext.executionContainer.mutationResolver.resolveTransaction(info, {\n\t\t\t\t\t\t\tdeferForeignKeyConstraints: args.options?.deferForeignKeyConstraints ?? false,\n\t\t\t\t\t\t\tdeferUniqueConstraints: args.options?.deferUniqueConstraints ?? false,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t})\n\t\t\tmutations.set('query', {\n\t\t\t\ttype: new GraphQLNonNull(queryObjectType),\n\t\t\t\tresolve: (parent, args, context: Context, info) => context.executionContainer.readResolver.resolveQuery(info),\n\t\t\t})\n\t\t}\n\n\t\tconst refreshViewMutation = this.refreshViewMutationProvider.getMutation()\n\t\tif (refreshViewMutation) {\n\t\t\tmutations.set('refreshMaterializedView', refreshViewMutation)\n\t\t}\n\n\t\tconst infoType = new GraphQLObjectType({\n\t\t\tname: 'Info',\n\t\t\tfields: () => ({\n\t\t\t\tdescription: { type: GraphQLString },\n\t\t\t}),\n\t\t})\n\t\tqueries.set('_info', {\n\t\t\ttype: infoType,\n\t\t\tresolve: () => ({\n\t\t\t\tdescription: 'TODO',\n\t\t\t}),\n\t\t})\n\n\n\t\treturn {\n\t\t\tquery: queryObjectType,\n\t\t\ttypes: args.types,\n\t\t\t...(mutations.size > 0\n\t\t\t\t? {\n\t\t\t\t\tmutation: new GraphQLObjectType({\n\t\t\t\t\t\tname: 'Mutation',\n\t\t\t\t\t\tfields: () => Object.fromEntries(mutations),\n\t\t\t\t\t}),\n\t\t\t\t}\n\t\t\t\t: {}),\n\t\t}\n\t}\n}\n"],"names":["args"],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@ const PaginatedHasManyFieldProvider = require("../extensions/paginatedHasMany/Pa
|
|
|
30
30
|
const PaginatedHasManyFieldProviderVisitor = require("../extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.cjs");
|
|
31
31
|
const dic = require("@contember/dic");
|
|
32
32
|
const ConnectOrCreateRelationInputProvider = require("./mutations/ConnectOrCreateRelationInputProvider.cjs");
|
|
33
|
+
const RefreshViewMutationProvider = require("./RefreshViewMutationProvider.cjs");
|
|
33
34
|
class GraphQlSchemaBuilderFactory {
|
|
34
35
|
constructor() {
|
|
35
36
|
}
|
|
@@ -37,7 +38,7 @@ class GraphQlSchemaBuilderFactory {
|
|
|
37
38
|
return this.createContainerBuilder(schema, authorizator).build().graphQlSchemaBuilder;
|
|
38
39
|
}
|
|
39
40
|
createContainerBuilder(schema, authorizator) {
|
|
40
|
-
return new dic.Builder({}).addService("schema", () => schema).addService("authorizator", () => authorizator).addService("customTypesProvider", ({}) => new CustomTypesProvider.CustomTypesProvider()).addService("enumsProvider", ({ schema: schema2 }) => new EnumsProvider.EnumsProvider(schema2)).addService("columnTypeResolver", ({ schema: schema2, enumsProvider, customTypesProvider }) => new ColumnTypeResolver.ColumnTypeResolver(schema2, enumsProvider, customTypesProvider)).addService("conditionTypeProvider", ({ columnTypeResolver }) => new ConditionTypeProvider.ConditionTypeProvider(columnTypeResolver)).addService("whereTypeProvider", ({ schema: schema2, authorizator: authorizator2, columnTypeResolver, conditionTypeProvider }) => new WhereTypeProvider.WhereTypeProvider(schema2, authorizator2, columnTypeResolver, conditionTypeProvider)).addService("orderByTypeProvider", ({ schema: schema2, authorizator: authorizator2 }) => new OrderByTypeProvider.OrderByTypeProvider(schema2, authorizator2)).addService("entityTypeProvider", ({ schema: schema2, authorizator: authorizator2, columnTypeResolver, whereTypeProvider, orderByTypeProvider }) => new EntityTypeProvider.EntityTypeProvider(schema2, authorizator2, columnTypeResolver, whereTypeProvider, orderByTypeProvider)).addService("paginatedFieldConfigFactory", ({ whereTypeProvider, orderByTypeProvider, entityTypeProvider }) => new PaginatedFieldConfigFactory.PaginatedFieldConfigFactory(whereTypeProvider, orderByTypeProvider, entityTypeProvider)).addService("hasManyToOneReducerVisitor", ({ schema: schema2, authorizator: authorizator2, entityTypeProvider, whereTypeProvider }) => new HasManyToHasOneRelationReducerVisitor.HasManyToHasOneRelationReducerFieldVisitor(schema2, authorizator2, entityTypeProvider, whereTypeProvider)).addService("hasManyToOneReducer", ({ schema: schema2, hasManyToOneReducerVisitor }) => new HasManyToHasOneReducer.HasManyToHasOneReducer(schema2, hasManyToOneReducerVisitor)).addService("paginatedHasManyFieldProviderVisitor", ({ paginatedFieldConfigFactory }) => new PaginatedHasManyFieldProviderVisitor.PaginatedHasManyFieldProviderVisitor(paginatedFieldConfigFactory)).addService("paginatedHasManyFieldProvider", ({ schema: schema2, paginatedHasManyFieldProviderVisitor }) => new PaginatedHasManyFieldProvider.PaginatedHasManyFieldProvider(schema2, paginatedHasManyFieldProviderVisitor)).addService("queryProvider", ({ authorizator: authorizator2, whereTypeProvider, orderByTypeProvider, entityTypeProvider, paginatedFieldConfigFactory }) => new QueryProvider.QueryProvider(authorizator2, whereTypeProvider, orderByTypeProvider, entityTypeProvider, paginatedFieldConfigFactory)).addService("createEntityInputProviderAccessor", ({}) => new accessor.Accessor()).addService("createEntityRelationAllowedOperationsVisitor", ({ authorizator: authorizator2 }) => new CreateEntityRelationAllowedOperationsVisitor.CreateEntityRelationAllowedOperationsVisitor(authorizator2)).addService("connectOrCreateRelationInputProvider", ({ schema: schema2, whereTypeProvider, createEntityInputProviderAccessor }) => new ConnectOrCreateRelationInputProvider.ConnectOrCreateRelationInputProvider(schema2, whereTypeProvider, createEntityInputProviderAccessor)).addService("createEntityRelationInputFieldVisitor", ({ schema: schema2, whereTypeProvider, createEntityInputProviderAccessor, createEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider }) => new CreateEntityRelationInputFieldVisitor.CreateEntityRelationInputFieldVisitor(schema2, whereTypeProvider, createEntityInputProviderAccessor, createEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider)).addService("createEntityRelationInputProvider", ({ schema: schema2, createEntityRelationInputFieldVisitor }) => new CreateEntityRelationInputProvider.CreateEntityRelationInputProvider(schema2, createEntityRelationInputFieldVisitor)).addService("createEntityInputFieldVisitor", ({ schema: schema2, authorizator: authorizator2, columnTypeResolver, createEntityRelationInputProvider }) => new CreateEntityInputFieldVisitor.CreateEntityInputFieldVisitor(schema2, authorizator2, columnTypeResolver, createEntityRelationInputProvider)).addService("createEntityInputProvider", ({ schema: schema2, authorizator: authorizator2, createEntityInputFieldVisitor }) => new EntityInputProvider.EntityInputProvider(EntityInputProvider.EntityInputType.create, schema2, authorizator2, createEntityInputFieldVisitor)).addService("updateEntityInputProviderAccessor", ({}) => new accessor.Accessor()).addService("updateEntityRelationAllowedOperationsVisitor", ({ authorizator: authorizator2 }) => new UpdateEntityRelationAllowedOperationsVisitor.UpdateEntityRelationAllowedOperationsVisitor(authorizator2)).addService("updateEntityRelationInputFieldVisitor", ({ schema: schema2, authorizator: authorizator2, whereTypeProvider, updateEntityInputProviderAccessor, createEntityInputProvider, updateEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider }) => new UpdateEntityRelationInputFieldVisitor.UpdateEntityRelationInputFieldVisitor(schema2, authorizator2, whereTypeProvider, updateEntityInputProviderAccessor, createEntityInputProvider, updateEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider)).addService("updateEntityRelationInputProvider", ({ schema: schema2, updateEntityRelationInputFieldVisitor }) => new UpdateEntityRelationInputProvider.UpdateEntityRelationInputProvider(schema2, updateEntityRelationInputFieldVisitor)).addService("updateEntityInputFieldVisitor", ({ authorizator: authorizator2, columnTypeResolver, updateEntityRelationInputProvider }) => new UpdateEntityInputFieldVisitor.UpdateEntityInputFieldVisitor(authorizator2, columnTypeResolver, updateEntityRelationInputProvider)).addService("updateEntityInputProvider", ({ schema: schema2, authorizator: authorizator2, updateEntityInputFieldVisitor }) => new EntityInputProvider.EntityInputProvider(EntityInputProvider.EntityInputType.update, schema2, authorizator2, updateEntityInputFieldVisitor)).addService("resultSchemaTypeProvider", ({}) => new ResultSchemaTypeProvider.ResultSchemaTypeProvider()).addService("mutationProvider", ({ authorizator: authorizator2, whereTypeProvider, entityTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider }) => new MutationProvider.MutationProvider(authorizator2, whereTypeProvider, entityTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider)).addService("validationQueriesProvider", ({ whereTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider }) => new ValidationQueriesProvider.ValidationQueriesProvider(whereTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider)).addService("graphQlSchemaBuilder", ({ schema: schema2, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider }) => new GraphQlSchemaBuilder.GraphQlSchemaBuilder(schema2, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider)).setupService("createEntityInputProvider", (it, { createEntityInputProviderAccessor }) => {
|
|
41
|
+
return new dic.Builder({}).addService("schema", () => schema).addService("authorizator", () => authorizator).addService("customTypesProvider", ({}) => new CustomTypesProvider.CustomTypesProvider()).addService("enumsProvider", ({ schema: schema2 }) => new EnumsProvider.EnumsProvider(schema2)).addService("columnTypeResolver", ({ schema: schema2, enumsProvider, customTypesProvider }) => new ColumnTypeResolver.ColumnTypeResolver(schema2, enumsProvider, customTypesProvider)).addService("conditionTypeProvider", ({ columnTypeResolver }) => new ConditionTypeProvider.ConditionTypeProvider(columnTypeResolver)).addService("whereTypeProvider", ({ schema: schema2, authorizator: authorizator2, columnTypeResolver, conditionTypeProvider }) => new WhereTypeProvider.WhereTypeProvider(schema2, authorizator2, columnTypeResolver, conditionTypeProvider)).addService("orderByTypeProvider", ({ schema: schema2, authorizator: authorizator2 }) => new OrderByTypeProvider.OrderByTypeProvider(schema2, authorizator2)).addService("entityTypeProvider", ({ schema: schema2, authorizator: authorizator2, columnTypeResolver, whereTypeProvider, orderByTypeProvider }) => new EntityTypeProvider.EntityTypeProvider(schema2, authorizator2, columnTypeResolver, whereTypeProvider, orderByTypeProvider)).addService("paginatedFieldConfigFactory", ({ whereTypeProvider, orderByTypeProvider, entityTypeProvider }) => new PaginatedFieldConfigFactory.PaginatedFieldConfigFactory(whereTypeProvider, orderByTypeProvider, entityTypeProvider)).addService("hasManyToOneReducerVisitor", ({ schema: schema2, authorizator: authorizator2, entityTypeProvider, whereTypeProvider }) => new HasManyToHasOneRelationReducerVisitor.HasManyToHasOneRelationReducerFieldVisitor(schema2, authorizator2, entityTypeProvider, whereTypeProvider)).addService("hasManyToOneReducer", ({ schema: schema2, hasManyToOneReducerVisitor }) => new HasManyToHasOneReducer.HasManyToHasOneReducer(schema2, hasManyToOneReducerVisitor)).addService("paginatedHasManyFieldProviderVisitor", ({ paginatedFieldConfigFactory }) => new PaginatedHasManyFieldProviderVisitor.PaginatedHasManyFieldProviderVisitor(paginatedFieldConfigFactory)).addService("paginatedHasManyFieldProvider", ({ schema: schema2, paginatedHasManyFieldProviderVisitor }) => new PaginatedHasManyFieldProvider.PaginatedHasManyFieldProvider(schema2, paginatedHasManyFieldProviderVisitor)).addService("queryProvider", ({ authorizator: authorizator2, whereTypeProvider, orderByTypeProvider, entityTypeProvider, paginatedFieldConfigFactory }) => new QueryProvider.QueryProvider(authorizator2, whereTypeProvider, orderByTypeProvider, entityTypeProvider, paginatedFieldConfigFactory)).addService("createEntityInputProviderAccessor", ({}) => new accessor.Accessor()).addService("createEntityRelationAllowedOperationsVisitor", ({ authorizator: authorizator2 }) => new CreateEntityRelationAllowedOperationsVisitor.CreateEntityRelationAllowedOperationsVisitor(authorizator2)).addService("connectOrCreateRelationInputProvider", ({ schema: schema2, whereTypeProvider, createEntityInputProviderAccessor }) => new ConnectOrCreateRelationInputProvider.ConnectOrCreateRelationInputProvider(schema2, whereTypeProvider, createEntityInputProviderAccessor)).addService("createEntityRelationInputFieldVisitor", ({ schema: schema2, whereTypeProvider, createEntityInputProviderAccessor, createEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider }) => new CreateEntityRelationInputFieldVisitor.CreateEntityRelationInputFieldVisitor(schema2, whereTypeProvider, createEntityInputProviderAccessor, createEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider)).addService("createEntityRelationInputProvider", ({ schema: schema2, createEntityRelationInputFieldVisitor }) => new CreateEntityRelationInputProvider.CreateEntityRelationInputProvider(schema2, createEntityRelationInputFieldVisitor)).addService("createEntityInputFieldVisitor", ({ schema: schema2, authorizator: authorizator2, columnTypeResolver, createEntityRelationInputProvider }) => new CreateEntityInputFieldVisitor.CreateEntityInputFieldVisitor(schema2, authorizator2, columnTypeResolver, createEntityRelationInputProvider)).addService("createEntityInputProvider", ({ schema: schema2, authorizator: authorizator2, createEntityInputFieldVisitor }) => new EntityInputProvider.EntityInputProvider(EntityInputProvider.EntityInputType.create, schema2, authorizator2, createEntityInputFieldVisitor)).addService("updateEntityInputProviderAccessor", ({}) => new accessor.Accessor()).addService("updateEntityRelationAllowedOperationsVisitor", ({ authorizator: authorizator2 }) => new UpdateEntityRelationAllowedOperationsVisitor.UpdateEntityRelationAllowedOperationsVisitor(authorizator2)).addService("updateEntityRelationInputFieldVisitor", ({ schema: schema2, authorizator: authorizator2, whereTypeProvider, updateEntityInputProviderAccessor, createEntityInputProvider, updateEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider }) => new UpdateEntityRelationInputFieldVisitor.UpdateEntityRelationInputFieldVisitor(schema2, authorizator2, whereTypeProvider, updateEntityInputProviderAccessor, createEntityInputProvider, updateEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider)).addService("updateEntityRelationInputProvider", ({ schema: schema2, updateEntityRelationInputFieldVisitor }) => new UpdateEntityRelationInputProvider.UpdateEntityRelationInputProvider(schema2, updateEntityRelationInputFieldVisitor)).addService("updateEntityInputFieldVisitor", ({ authorizator: authorizator2, columnTypeResolver, updateEntityRelationInputProvider }) => new UpdateEntityInputFieldVisitor.UpdateEntityInputFieldVisitor(authorizator2, columnTypeResolver, updateEntityRelationInputProvider)).addService("updateEntityInputProvider", ({ schema: schema2, authorizator: authorizator2, updateEntityInputFieldVisitor }) => new EntityInputProvider.EntityInputProvider(EntityInputProvider.EntityInputType.update, schema2, authorizator2, updateEntityInputFieldVisitor)).addService("resultSchemaTypeProvider", ({}) => new ResultSchemaTypeProvider.ResultSchemaTypeProvider()).addService("mutationProvider", ({ authorizator: authorizator2, whereTypeProvider, entityTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider }) => new MutationProvider.MutationProvider(authorizator2, whereTypeProvider, entityTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider)).addService("validationQueriesProvider", ({ whereTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider }) => new ValidationQueriesProvider.ValidationQueriesProvider(whereTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider)).addService("refreshViewMutationProvider", ({ schema: schema2, authorizator: authorizator2 }) => new RefreshViewMutationProvider.RefreshViewMutationProvider(schema2, authorizator2)).addService("graphQlSchemaBuilder", ({ schema: schema2, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider, refreshViewMutationProvider }) => new GraphQlSchemaBuilder.GraphQlSchemaBuilder(schema2, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider, refreshViewMutationProvider)).setupService("createEntityInputProvider", (it, { createEntityInputProviderAccessor }) => {
|
|
41
42
|
createEntityInputProviderAccessor.set(it);
|
|
42
43
|
}).setupService("updateEntityInputProvider", (it, { updateEntityInputProviderAccessor }) => {
|
|
43
44
|
updateEntityInputProviderAccessor.set(it);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphQlSchemaBuilderFactory.cjs","sources":["../../../../../packages/engine-content-api/src/schema/GraphQlSchemaBuilderFactory.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityTypeProvider } from './EntityTypeProvider'\nimport { ColumnTypeResolver } from './ColumnTypeResolver'\nimport { EnumsProvider } from './EnumsProvider'\nimport { QueryProvider } from './QueryProvider'\nimport { MutationProvider } from './MutationProvider'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { ConditionTypeProvider } from './ConditionTypeProvider'\nimport { GraphQlSchemaBuilder } from './GraphQlSchemaBuilder'\nimport { CreateEntityInputFieldVisitor, EntityInputType } from './mutations'\nimport { CreateEntityRelationInputProvider } from './mutations'\nimport { CreateEntityRelationInputFieldVisitor } from './mutations'\nimport { Accessor } from '../utils'\nimport { UpdateEntityRelationInputFieldVisitor } from './mutations'\nimport { UpdateEntityRelationInputProvider } from './mutations'\nimport { UpdateEntityInputFieldVisitor } from './mutations'\nimport { EntityInputProvider } from './mutations'\nimport { UpdateEntityRelationAllowedOperationsVisitor } from './mutations'\nimport { CreateEntityRelationAllowedOperationsVisitor } from './mutations'\nimport { OrderByTypeProvider } from './OrderByTypeProvider'\nimport { HasManyToHasOneReducer } from '../extensions'\nimport { HasManyToHasOneRelationReducerFieldVisitor } from '../extensions'\nimport { ValidationQueriesProvider } from './ValidationQueriesProvider'\nimport { CustomTypesProvider } from './CustomTypesProvider'\nimport { ResultSchemaTypeProvider } from './ResultSchemaTypeProvider'\nimport { Authorizator } from '../acl'\nimport { PaginatedFieldConfigFactory } from './PaginatedFieldConfigFactory'\nimport { PaginatedHasManyFieldProvider } from '../extensions/paginatedHasMany/PaginatedHasManyFieldProvider'\nimport { PaginatedHasManyFieldProviderVisitor } from '../extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor'\nimport { Builder } from '@contember/dic'\nimport { ConnectOrCreateRelationInputProvider } from './mutations/ConnectOrCreateRelationInputProvider'\n\nexport class GraphQlSchemaBuilderFactory {\n\tconstructor() {}\n\n\tpublic create(schema: Model.Schema, authorizator: Authorizator): GraphQlSchemaBuilder {\n\t\treturn this.createContainerBuilder(schema, authorizator).build().graphQlSchemaBuilder\n\t}\n\n\tpublic createContainerBuilder(schema: Model.Schema, authorizator: Authorizator) {\n\t\treturn new Builder({})\n\t\t\t.addService('schema', () =>\n\t\t\t\tschema)\n\t\t\t.addService('authorizator', () =>\n\t\t\t\tauthorizator)\n\t\t\t.addService('customTypesProvider', ({}) =>\n\t\t\t\tnew CustomTypesProvider())\n\t\t\t.addService('enumsProvider', ({ schema }) =>\n\t\t\t\tnew EnumsProvider(schema))\n\t\t\t.addService('columnTypeResolver', ({ schema, enumsProvider, customTypesProvider }) =>\n\t\t\t\tnew ColumnTypeResolver(schema, enumsProvider, customTypesProvider))\n\t\t\t.addService('conditionTypeProvider', ({ columnTypeResolver }) =>\n\t\t\t\tnew ConditionTypeProvider(columnTypeResolver))\n\t\t\t.addService('whereTypeProvider', ({ schema, authorizator, columnTypeResolver, conditionTypeProvider }) =>\n\t\t\t\tnew WhereTypeProvider(schema, authorizator, columnTypeResolver, conditionTypeProvider))\n\t\t\t.addService('orderByTypeProvider', ({ schema, authorizator }) =>\n\t\t\t\tnew OrderByTypeProvider(schema, authorizator))\n\t\t\t.addService('entityTypeProvider', ({ schema, authorizator, columnTypeResolver, whereTypeProvider, orderByTypeProvider }) =>\n\t\t\t\tnew EntityTypeProvider(schema, authorizator, columnTypeResolver, whereTypeProvider, orderByTypeProvider))\n\t\t\t.addService('paginatedFieldConfigFactory', ({ whereTypeProvider, orderByTypeProvider, entityTypeProvider }) =>\n\t\t\t\tnew PaginatedFieldConfigFactory(whereTypeProvider, orderByTypeProvider, entityTypeProvider))\n\t\t\t.addService('hasManyToOneReducerVisitor', ({ schema, authorizator, entityTypeProvider, whereTypeProvider }) =>\n\t\t\t\tnew HasManyToHasOneRelationReducerFieldVisitor(schema, authorizator, entityTypeProvider, whereTypeProvider))\n\t\t\t.addService('hasManyToOneReducer', ({ schema, hasManyToOneReducerVisitor }) =>\n\t\t\t\tnew HasManyToHasOneReducer(schema, hasManyToOneReducerVisitor))\n\t\t\t.addService('paginatedHasManyFieldProviderVisitor', ({ paginatedFieldConfigFactory }) =>\n\t\t\t\tnew PaginatedHasManyFieldProviderVisitor(paginatedFieldConfigFactory))\n\t\t\t.addService('paginatedHasManyFieldProvider', ({ schema, paginatedHasManyFieldProviderVisitor }) =>\n\t\t\t\tnew PaginatedHasManyFieldProvider(schema, paginatedHasManyFieldProviderVisitor))\n\t\t\t.addService('queryProvider', ({ authorizator, whereTypeProvider, orderByTypeProvider, entityTypeProvider, paginatedFieldConfigFactory }) =>\n\t\t\t\tnew QueryProvider(authorizator, whereTypeProvider, orderByTypeProvider, entityTypeProvider, paginatedFieldConfigFactory))\n\t\t\t.addService('createEntityInputProviderAccessor', ({}) =>\n\t\t\t\tnew Accessor<EntityInputProvider<EntityInputType.create>>())\n\t\t\t.addService('createEntityRelationAllowedOperationsVisitor', ({ authorizator }) =>\n\t\t\t\tnew CreateEntityRelationAllowedOperationsVisitor(authorizator))\n\t\t\t.addService('connectOrCreateRelationInputProvider', ({ schema, whereTypeProvider, createEntityInputProviderAccessor }) =>\n\t\t\t\t new ConnectOrCreateRelationInputProvider(schema, whereTypeProvider, createEntityInputProviderAccessor))\n\t\t\t.addService('createEntityRelationInputFieldVisitor', ({ schema,\twhereTypeProvider, createEntityInputProviderAccessor, createEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider }) =>\n\t\t\t\tnew CreateEntityRelationInputFieldVisitor(schema, whereTypeProvider, createEntityInputProviderAccessor, createEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider))\n\t\t\t.addService('createEntityRelationInputProvider', ({ schema, createEntityRelationInputFieldVisitor }) =>\n\t\t\t\tnew CreateEntityRelationInputProvider(schema, createEntityRelationInputFieldVisitor))\n\t\t\t.addService('createEntityInputFieldVisitor', ({ schema, authorizator, columnTypeResolver, createEntityRelationInputProvider }) =>\n\t\t\t\tnew CreateEntityInputFieldVisitor(schema, authorizator, columnTypeResolver, createEntityRelationInputProvider))\n\t\t\t.addService('createEntityInputProvider', ({ schema, authorizator, createEntityInputFieldVisitor }) =>\n\t\t\t\tnew EntityInputProvider(EntityInputType.create, schema, authorizator, createEntityInputFieldVisitor))\n\t\t\t.addService('updateEntityInputProviderAccessor', ({}) =>\n\t\t\t\tnew Accessor<EntityInputProvider<EntityInputType.update>>())\n\t\t\t.addService('updateEntityRelationAllowedOperationsVisitor', ({ authorizator }) =>\n\t\t\t\tnew UpdateEntityRelationAllowedOperationsVisitor(authorizator))\n\t\t\t.addService('updateEntityRelationInputFieldVisitor', ({ schema, authorizator, whereTypeProvider, updateEntityInputProviderAccessor, createEntityInputProvider, updateEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider }) =>\n\t\t\t\tnew UpdateEntityRelationInputFieldVisitor(schema, authorizator, whereTypeProvider, updateEntityInputProviderAccessor, createEntityInputProvider, updateEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider))\n\t\t\t.addService('updateEntityRelationInputProvider', ({ schema, updateEntityRelationInputFieldVisitor }) =>\n\t\t\t\tnew UpdateEntityRelationInputProvider(schema, updateEntityRelationInputFieldVisitor))\n\t\t\t.addService('updateEntityInputFieldVisitor', ({ authorizator, columnTypeResolver, updateEntityRelationInputProvider }) =>\n\t\t\t\tnew UpdateEntityInputFieldVisitor(authorizator, columnTypeResolver, updateEntityRelationInputProvider))\n\t\t\t.addService('updateEntityInputProvider', ({ schema, authorizator, updateEntityInputFieldVisitor }) =>\n\t\t\t\tnew EntityInputProvider(EntityInputType.update, schema, authorizator, updateEntityInputFieldVisitor))\n\t\t\t.addService('resultSchemaTypeProvider', ({}) =>\n\t\t\t\tnew ResultSchemaTypeProvider())\n\t\t\t.addService('mutationProvider', ({ authorizator, whereTypeProvider, entityTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider }) =>\n\t\t\t\tnew MutationProvider(authorizator, whereTypeProvider, entityTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider))\n\t\t\t.addService('validationQueriesProvider', ({ whereTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider }) =>\n\t\t\t\tnew ValidationQueriesProvider(whereTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider))\n\t\t\t.addService('graphQlSchemaBuilder', ({ schema, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider }) =>\n\t\t\t\tnew GraphQlSchemaBuilder(schema, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider))\n\t\t\t.setupService('createEntityInputProvider', (it, { createEntityInputProviderAccessor }) => {\n\t\t\t\tcreateEntityInputProviderAccessor.set(it)\n\t\t\t})\n\t\t\t.setupService('updateEntityInputProvider', (it, { updateEntityInputProviderAccessor }) => {\n\t\t\t\tupdateEntityInputProviderAccessor.set(it)\n\t\t\t})\n\t\t\t.setupService('entityTypeProvider', (it, { hasManyToOneReducer }) => {\n\t\t\t\tit.registerEntityFieldProvider(HasManyToHasOneReducer.extensionName, hasManyToOneReducer)\n\t\t\t})\n\t\t\t.setupService('entityTypeProvider', (it, { paginatedHasManyFieldProvider }) => {\n\t\t\t\tit.registerEntityFieldProvider(PaginatedHasManyFieldProvider.extensionName, paginatedHasManyFieldProvider)\n\t\t\t})\n\t}\n}\n"],"names":["Builder","CustomTypesProvider","schema","EnumsProvider","ColumnTypeResolver","ConditionTypeProvider","authorizator","WhereTypeProvider","OrderByTypeProvider","EntityTypeProvider","PaginatedFieldConfigFactory","HasManyToHasOneRelationReducerFieldVisitor","HasManyToHasOneReducer","PaginatedHasManyFieldProviderVisitor","PaginatedHasManyFieldProvider","QueryProvider","Accessor","CreateEntityRelationAllowedOperationsVisitor","ConnectOrCreateRelationInputProvider","CreateEntityRelationInputFieldVisitor","CreateEntityRelationInputProvider","CreateEntityInputFieldVisitor","EntityInputProvider","EntityInputType","UpdateEntityRelationAllowedOperationsVisitor","UpdateEntityRelationInputFieldVisitor","UpdateEntityRelationInputProvider","UpdateEntityInputFieldVisitor","ResultSchemaTypeProvider","MutationProvider","ValidationQueriesProvider","GraphQlSchemaBuilder"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GraphQlSchemaBuilderFactory.cjs","sources":["../../../../../packages/engine-content-api/src/schema/GraphQlSchemaBuilderFactory.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityTypeProvider } from './EntityTypeProvider'\nimport { ColumnTypeResolver } from './ColumnTypeResolver'\nimport { EnumsProvider } from './EnumsProvider'\nimport { QueryProvider } from './QueryProvider'\nimport { MutationProvider } from './MutationProvider'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { ConditionTypeProvider } from './ConditionTypeProvider'\nimport { GraphQlSchemaBuilder } from './GraphQlSchemaBuilder'\nimport { CreateEntityInputFieldVisitor, EntityInputType } from './mutations'\nimport { CreateEntityRelationInputProvider } from './mutations'\nimport { CreateEntityRelationInputFieldVisitor } from './mutations'\nimport { Accessor } from '../utils'\nimport { UpdateEntityRelationInputFieldVisitor } from './mutations'\nimport { UpdateEntityRelationInputProvider } from './mutations'\nimport { UpdateEntityInputFieldVisitor } from './mutations'\nimport { EntityInputProvider } from './mutations'\nimport { UpdateEntityRelationAllowedOperationsVisitor } from './mutations'\nimport { CreateEntityRelationAllowedOperationsVisitor } from './mutations'\nimport { OrderByTypeProvider } from './OrderByTypeProvider'\nimport { HasManyToHasOneReducer } from '../extensions'\nimport { HasManyToHasOneRelationReducerFieldVisitor } from '../extensions'\nimport { ValidationQueriesProvider } from './ValidationQueriesProvider'\nimport { CustomTypesProvider } from './CustomTypesProvider'\nimport { ResultSchemaTypeProvider } from './ResultSchemaTypeProvider'\nimport { Authorizator } from '../acl'\nimport { PaginatedFieldConfigFactory } from './PaginatedFieldConfigFactory'\nimport { PaginatedHasManyFieldProvider } from '../extensions/paginatedHasMany/PaginatedHasManyFieldProvider'\nimport { PaginatedHasManyFieldProviderVisitor } from '../extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor'\nimport { Builder } from '@contember/dic'\nimport { ConnectOrCreateRelationInputProvider } from './mutations/ConnectOrCreateRelationInputProvider'\nimport { RefreshViewMutationProvider } from './RefreshViewMutationProvider'\n\nexport class GraphQlSchemaBuilderFactory {\n\tconstructor() {}\n\n\tpublic create(schema: Model.Schema, authorizator: Authorizator): GraphQlSchemaBuilder {\n\t\treturn this.createContainerBuilder(schema, authorizator).build().graphQlSchemaBuilder\n\t}\n\n\tpublic createContainerBuilder(schema: Model.Schema, authorizator: Authorizator) {\n\t\treturn new Builder({})\n\t\t\t.addService('schema', () =>\n\t\t\t\tschema)\n\t\t\t.addService('authorizator', () =>\n\t\t\t\tauthorizator)\n\t\t\t.addService('customTypesProvider', ({}) =>\n\t\t\t\tnew CustomTypesProvider())\n\t\t\t.addService('enumsProvider', ({ schema }) =>\n\t\t\t\tnew EnumsProvider(schema))\n\t\t\t.addService('columnTypeResolver', ({ schema, enumsProvider, customTypesProvider }) =>\n\t\t\t\tnew ColumnTypeResolver(schema, enumsProvider, customTypesProvider))\n\t\t\t.addService('conditionTypeProvider', ({ columnTypeResolver }) =>\n\t\t\t\tnew ConditionTypeProvider(columnTypeResolver))\n\t\t\t.addService('whereTypeProvider', ({ schema, authorizator, columnTypeResolver, conditionTypeProvider }) =>\n\t\t\t\tnew WhereTypeProvider(schema, authorizator, columnTypeResolver, conditionTypeProvider))\n\t\t\t.addService('orderByTypeProvider', ({ schema, authorizator }) =>\n\t\t\t\tnew OrderByTypeProvider(schema, authorizator))\n\t\t\t.addService('entityTypeProvider', ({ schema, authorizator, columnTypeResolver, whereTypeProvider, orderByTypeProvider }) =>\n\t\t\t\tnew EntityTypeProvider(schema, authorizator, columnTypeResolver, whereTypeProvider, orderByTypeProvider))\n\t\t\t.addService('paginatedFieldConfigFactory', ({ whereTypeProvider, orderByTypeProvider, entityTypeProvider }) =>\n\t\t\t\tnew PaginatedFieldConfigFactory(whereTypeProvider, orderByTypeProvider, entityTypeProvider))\n\t\t\t.addService('hasManyToOneReducerVisitor', ({ schema, authorizator, entityTypeProvider, whereTypeProvider }) =>\n\t\t\t\tnew HasManyToHasOneRelationReducerFieldVisitor(schema, authorizator, entityTypeProvider, whereTypeProvider))\n\t\t\t.addService('hasManyToOneReducer', ({ schema, hasManyToOneReducerVisitor }) =>\n\t\t\t\tnew HasManyToHasOneReducer(schema, hasManyToOneReducerVisitor))\n\t\t\t.addService('paginatedHasManyFieldProviderVisitor', ({ paginatedFieldConfigFactory }) =>\n\t\t\t\tnew PaginatedHasManyFieldProviderVisitor(paginatedFieldConfigFactory))\n\t\t\t.addService('paginatedHasManyFieldProvider', ({ schema, paginatedHasManyFieldProviderVisitor }) =>\n\t\t\t\tnew PaginatedHasManyFieldProvider(schema, paginatedHasManyFieldProviderVisitor))\n\t\t\t.addService('queryProvider', ({ authorizator, whereTypeProvider, orderByTypeProvider, entityTypeProvider, paginatedFieldConfigFactory }) =>\n\t\t\t\tnew QueryProvider(authorizator, whereTypeProvider, orderByTypeProvider, entityTypeProvider, paginatedFieldConfigFactory))\n\t\t\t.addService('createEntityInputProviderAccessor', ({}) =>\n\t\t\t\tnew Accessor<EntityInputProvider<EntityInputType.create>>())\n\t\t\t.addService('createEntityRelationAllowedOperationsVisitor', ({ authorizator }) =>\n\t\t\t\tnew CreateEntityRelationAllowedOperationsVisitor(authorizator))\n\t\t\t.addService('connectOrCreateRelationInputProvider', ({ schema, whereTypeProvider, createEntityInputProviderAccessor }) =>\n\t\t\t\t new ConnectOrCreateRelationInputProvider(schema, whereTypeProvider, createEntityInputProviderAccessor))\n\t\t\t.addService('createEntityRelationInputFieldVisitor', ({ schema,\twhereTypeProvider, createEntityInputProviderAccessor, createEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider }) =>\n\t\t\t\tnew CreateEntityRelationInputFieldVisitor(schema, whereTypeProvider, createEntityInputProviderAccessor, createEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider))\n\t\t\t.addService('createEntityRelationInputProvider', ({ schema, createEntityRelationInputFieldVisitor }) =>\n\t\t\t\tnew CreateEntityRelationInputProvider(schema, createEntityRelationInputFieldVisitor))\n\t\t\t.addService('createEntityInputFieldVisitor', ({ schema, authorizator, columnTypeResolver, createEntityRelationInputProvider }) =>\n\t\t\t\tnew CreateEntityInputFieldVisitor(schema, authorizator, columnTypeResolver, createEntityRelationInputProvider))\n\t\t\t.addService('createEntityInputProvider', ({ schema, authorizator, createEntityInputFieldVisitor }) =>\n\t\t\t\tnew EntityInputProvider(EntityInputType.create, schema, authorizator, createEntityInputFieldVisitor))\n\t\t\t.addService('updateEntityInputProviderAccessor', ({}) =>\n\t\t\t\tnew Accessor<EntityInputProvider<EntityInputType.update>>())\n\t\t\t.addService('updateEntityRelationAllowedOperationsVisitor', ({ authorizator }) =>\n\t\t\t\tnew UpdateEntityRelationAllowedOperationsVisitor(authorizator))\n\t\t\t.addService('updateEntityRelationInputFieldVisitor', ({ schema, authorizator, whereTypeProvider, updateEntityInputProviderAccessor, createEntityInputProvider, updateEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider }) =>\n\t\t\t\tnew UpdateEntityRelationInputFieldVisitor(schema, authorizator, whereTypeProvider, updateEntityInputProviderAccessor, createEntityInputProvider, updateEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider))\n\t\t\t.addService('updateEntityRelationInputProvider', ({ schema, updateEntityRelationInputFieldVisitor }) =>\n\t\t\t\tnew UpdateEntityRelationInputProvider(schema, updateEntityRelationInputFieldVisitor))\n\t\t\t.addService('updateEntityInputFieldVisitor', ({ authorizator, columnTypeResolver, updateEntityRelationInputProvider }) =>\n\t\t\t\tnew UpdateEntityInputFieldVisitor(authorizator, columnTypeResolver, updateEntityRelationInputProvider))\n\t\t\t.addService('updateEntityInputProvider', ({ schema, authorizator, updateEntityInputFieldVisitor }) =>\n\t\t\t\tnew EntityInputProvider(EntityInputType.update, schema, authorizator, updateEntityInputFieldVisitor))\n\t\t\t.addService('resultSchemaTypeProvider', ({}) =>\n\t\t\t\tnew ResultSchemaTypeProvider())\n\t\t\t.addService('mutationProvider', ({ authorizator, whereTypeProvider, entityTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider }) =>\n\t\t\t\tnew MutationProvider(authorizator, whereTypeProvider, entityTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider))\n\t\t\t.addService('validationQueriesProvider', ({ whereTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider }) =>\n\t\t\t\tnew ValidationQueriesProvider(whereTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider))\n\t\t\t.addService('refreshViewMutationProvider', ({ schema, authorizator }) =>\n\t\t\t\tnew RefreshViewMutationProvider(schema, authorizator))\n\t\t\t.addService('graphQlSchemaBuilder', ({ schema, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider, refreshViewMutationProvider }) =>\n\t\t\t\tnew GraphQlSchemaBuilder(schema, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider, refreshViewMutationProvider))\n\t\t\t.setupService('createEntityInputProvider', (it, { createEntityInputProviderAccessor }) => {\n\t\t\t\tcreateEntityInputProviderAccessor.set(it)\n\t\t\t})\n\t\t\t.setupService('updateEntityInputProvider', (it, { updateEntityInputProviderAccessor }) => {\n\t\t\t\tupdateEntityInputProviderAccessor.set(it)\n\t\t\t})\n\t\t\t.setupService('entityTypeProvider', (it, { hasManyToOneReducer }) => {\n\t\t\t\tit.registerEntityFieldProvider(HasManyToHasOneReducer.extensionName, hasManyToOneReducer)\n\t\t\t})\n\t\t\t.setupService('entityTypeProvider', (it, { paginatedHasManyFieldProvider }) => {\n\t\t\t\tit.registerEntityFieldProvider(PaginatedHasManyFieldProvider.extensionName, paginatedHasManyFieldProvider)\n\t\t\t})\n\t}\n}\n"],"names":["Builder","CustomTypesProvider","schema","EnumsProvider","ColumnTypeResolver","ConditionTypeProvider","authorizator","WhereTypeProvider","OrderByTypeProvider","EntityTypeProvider","PaginatedFieldConfigFactory","HasManyToHasOneRelationReducerFieldVisitor","HasManyToHasOneReducer","PaginatedHasManyFieldProviderVisitor","PaginatedHasManyFieldProvider","QueryProvider","Accessor","CreateEntityRelationAllowedOperationsVisitor","ConnectOrCreateRelationInputProvider","CreateEntityRelationInputFieldVisitor","CreateEntityRelationInputProvider","CreateEntityInputFieldVisitor","EntityInputProvider","EntityInputType","UpdateEntityRelationAllowedOperationsVisitor","UpdateEntityRelationInputFieldVisitor","UpdateEntityRelationInputProvider","UpdateEntityInputFieldVisitor","ResultSchemaTypeProvider","MutationProvider","ValidationQueriesProvider","RefreshViewMutationProvider","GraphQlSchemaBuilder"],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ import { PaginatedHasManyFieldProvider } from "../extensions/paginatedHasMany/Pa
|
|
|
28
28
|
import { PaginatedHasManyFieldProviderVisitor } from "../extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js";
|
|
29
29
|
import { Builder } from "@contember/dic";
|
|
30
30
|
import { ConnectOrCreateRelationInputProvider } from "./mutations/ConnectOrCreateRelationInputProvider.js";
|
|
31
|
+
import { RefreshViewMutationProvider } from "./RefreshViewMutationProvider.js";
|
|
31
32
|
class GraphQlSchemaBuilderFactory {
|
|
32
33
|
constructor() {
|
|
33
34
|
}
|
|
@@ -35,7 +36,7 @@ class GraphQlSchemaBuilderFactory {
|
|
|
35
36
|
return this.createContainerBuilder(schema, authorizator).build().graphQlSchemaBuilder;
|
|
36
37
|
}
|
|
37
38
|
createContainerBuilder(schema, authorizator) {
|
|
38
|
-
return new Builder({}).addService("schema", () => schema).addService("authorizator", () => authorizator).addService("customTypesProvider", ({}) => new CustomTypesProvider()).addService("enumsProvider", ({ schema: schema2 }) => new EnumsProvider(schema2)).addService("columnTypeResolver", ({ schema: schema2, enumsProvider, customTypesProvider }) => new ColumnTypeResolver(schema2, enumsProvider, customTypesProvider)).addService("conditionTypeProvider", ({ columnTypeResolver }) => new ConditionTypeProvider(columnTypeResolver)).addService("whereTypeProvider", ({ schema: schema2, authorizator: authorizator2, columnTypeResolver, conditionTypeProvider }) => new WhereTypeProvider(schema2, authorizator2, columnTypeResolver, conditionTypeProvider)).addService("orderByTypeProvider", ({ schema: schema2, authorizator: authorizator2 }) => new OrderByTypeProvider(schema2, authorizator2)).addService("entityTypeProvider", ({ schema: schema2, authorizator: authorizator2, columnTypeResolver, whereTypeProvider, orderByTypeProvider }) => new EntityTypeProvider(schema2, authorizator2, columnTypeResolver, whereTypeProvider, orderByTypeProvider)).addService("paginatedFieldConfigFactory", ({ whereTypeProvider, orderByTypeProvider, entityTypeProvider }) => new PaginatedFieldConfigFactory(whereTypeProvider, orderByTypeProvider, entityTypeProvider)).addService("hasManyToOneReducerVisitor", ({ schema: schema2, authorizator: authorizator2, entityTypeProvider, whereTypeProvider }) => new HasManyToHasOneRelationReducerFieldVisitor(schema2, authorizator2, entityTypeProvider, whereTypeProvider)).addService("hasManyToOneReducer", ({ schema: schema2, hasManyToOneReducerVisitor }) => new HasManyToHasOneReducer(schema2, hasManyToOneReducerVisitor)).addService("paginatedHasManyFieldProviderVisitor", ({ paginatedFieldConfigFactory }) => new PaginatedHasManyFieldProviderVisitor(paginatedFieldConfigFactory)).addService("paginatedHasManyFieldProvider", ({ schema: schema2, paginatedHasManyFieldProviderVisitor }) => new PaginatedHasManyFieldProvider(schema2, paginatedHasManyFieldProviderVisitor)).addService("queryProvider", ({ authorizator: authorizator2, whereTypeProvider, orderByTypeProvider, entityTypeProvider, paginatedFieldConfigFactory }) => new QueryProvider(authorizator2, whereTypeProvider, orderByTypeProvider, entityTypeProvider, paginatedFieldConfigFactory)).addService("createEntityInputProviderAccessor", ({}) => new Accessor()).addService("createEntityRelationAllowedOperationsVisitor", ({ authorizator: authorizator2 }) => new CreateEntityRelationAllowedOperationsVisitor(authorizator2)).addService("connectOrCreateRelationInputProvider", ({ schema: schema2, whereTypeProvider, createEntityInputProviderAccessor }) => new ConnectOrCreateRelationInputProvider(schema2, whereTypeProvider, createEntityInputProviderAccessor)).addService("createEntityRelationInputFieldVisitor", ({ schema: schema2, whereTypeProvider, createEntityInputProviderAccessor, createEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider }) => new CreateEntityRelationInputFieldVisitor(schema2, whereTypeProvider, createEntityInputProviderAccessor, createEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider)).addService("createEntityRelationInputProvider", ({ schema: schema2, createEntityRelationInputFieldVisitor }) => new CreateEntityRelationInputProvider(schema2, createEntityRelationInputFieldVisitor)).addService("createEntityInputFieldVisitor", ({ schema: schema2, authorizator: authorizator2, columnTypeResolver, createEntityRelationInputProvider }) => new CreateEntityInputFieldVisitor(schema2, authorizator2, columnTypeResolver, createEntityRelationInputProvider)).addService("createEntityInputProvider", ({ schema: schema2, authorizator: authorizator2, createEntityInputFieldVisitor }) => new EntityInputProvider(EntityInputType.create, schema2, authorizator2, createEntityInputFieldVisitor)).addService("updateEntityInputProviderAccessor", ({}) => new Accessor()).addService("updateEntityRelationAllowedOperationsVisitor", ({ authorizator: authorizator2 }) => new UpdateEntityRelationAllowedOperationsVisitor(authorizator2)).addService("updateEntityRelationInputFieldVisitor", ({ schema: schema2, authorizator: authorizator2, whereTypeProvider, updateEntityInputProviderAccessor, createEntityInputProvider, updateEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider }) => new UpdateEntityRelationInputFieldVisitor(schema2, authorizator2, whereTypeProvider, updateEntityInputProviderAccessor, createEntityInputProvider, updateEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider)).addService("updateEntityRelationInputProvider", ({ schema: schema2, updateEntityRelationInputFieldVisitor }) => new UpdateEntityRelationInputProvider(schema2, updateEntityRelationInputFieldVisitor)).addService("updateEntityInputFieldVisitor", ({ authorizator: authorizator2, columnTypeResolver, updateEntityRelationInputProvider }) => new UpdateEntityInputFieldVisitor(authorizator2, columnTypeResolver, updateEntityRelationInputProvider)).addService("updateEntityInputProvider", ({ schema: schema2, authorizator: authorizator2, updateEntityInputFieldVisitor }) => new EntityInputProvider(EntityInputType.update, schema2, authorizator2, updateEntityInputFieldVisitor)).addService("resultSchemaTypeProvider", ({}) => new ResultSchemaTypeProvider()).addService("mutationProvider", ({ authorizator: authorizator2, whereTypeProvider, entityTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider }) => new MutationProvider(authorizator2, whereTypeProvider, entityTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider)).addService("validationQueriesProvider", ({ whereTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider }) => new ValidationQueriesProvider(whereTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider)).addService("graphQlSchemaBuilder", ({ schema: schema2, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider }) => new GraphQlSchemaBuilder(schema2, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider)).setupService("createEntityInputProvider", (it, { createEntityInputProviderAccessor }) => {
|
|
39
|
+
return new Builder({}).addService("schema", () => schema).addService("authorizator", () => authorizator).addService("customTypesProvider", ({}) => new CustomTypesProvider()).addService("enumsProvider", ({ schema: schema2 }) => new EnumsProvider(schema2)).addService("columnTypeResolver", ({ schema: schema2, enumsProvider, customTypesProvider }) => new ColumnTypeResolver(schema2, enumsProvider, customTypesProvider)).addService("conditionTypeProvider", ({ columnTypeResolver }) => new ConditionTypeProvider(columnTypeResolver)).addService("whereTypeProvider", ({ schema: schema2, authorizator: authorizator2, columnTypeResolver, conditionTypeProvider }) => new WhereTypeProvider(schema2, authorizator2, columnTypeResolver, conditionTypeProvider)).addService("orderByTypeProvider", ({ schema: schema2, authorizator: authorizator2 }) => new OrderByTypeProvider(schema2, authorizator2)).addService("entityTypeProvider", ({ schema: schema2, authorizator: authorizator2, columnTypeResolver, whereTypeProvider, orderByTypeProvider }) => new EntityTypeProvider(schema2, authorizator2, columnTypeResolver, whereTypeProvider, orderByTypeProvider)).addService("paginatedFieldConfigFactory", ({ whereTypeProvider, orderByTypeProvider, entityTypeProvider }) => new PaginatedFieldConfigFactory(whereTypeProvider, orderByTypeProvider, entityTypeProvider)).addService("hasManyToOneReducerVisitor", ({ schema: schema2, authorizator: authorizator2, entityTypeProvider, whereTypeProvider }) => new HasManyToHasOneRelationReducerFieldVisitor(schema2, authorizator2, entityTypeProvider, whereTypeProvider)).addService("hasManyToOneReducer", ({ schema: schema2, hasManyToOneReducerVisitor }) => new HasManyToHasOneReducer(schema2, hasManyToOneReducerVisitor)).addService("paginatedHasManyFieldProviderVisitor", ({ paginatedFieldConfigFactory }) => new PaginatedHasManyFieldProviderVisitor(paginatedFieldConfigFactory)).addService("paginatedHasManyFieldProvider", ({ schema: schema2, paginatedHasManyFieldProviderVisitor }) => new PaginatedHasManyFieldProvider(schema2, paginatedHasManyFieldProviderVisitor)).addService("queryProvider", ({ authorizator: authorizator2, whereTypeProvider, orderByTypeProvider, entityTypeProvider, paginatedFieldConfigFactory }) => new QueryProvider(authorizator2, whereTypeProvider, orderByTypeProvider, entityTypeProvider, paginatedFieldConfigFactory)).addService("createEntityInputProviderAccessor", ({}) => new Accessor()).addService("createEntityRelationAllowedOperationsVisitor", ({ authorizator: authorizator2 }) => new CreateEntityRelationAllowedOperationsVisitor(authorizator2)).addService("connectOrCreateRelationInputProvider", ({ schema: schema2, whereTypeProvider, createEntityInputProviderAccessor }) => new ConnectOrCreateRelationInputProvider(schema2, whereTypeProvider, createEntityInputProviderAccessor)).addService("createEntityRelationInputFieldVisitor", ({ schema: schema2, whereTypeProvider, createEntityInputProviderAccessor, createEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider }) => new CreateEntityRelationInputFieldVisitor(schema2, whereTypeProvider, createEntityInputProviderAccessor, createEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider)).addService("createEntityRelationInputProvider", ({ schema: schema2, createEntityRelationInputFieldVisitor }) => new CreateEntityRelationInputProvider(schema2, createEntityRelationInputFieldVisitor)).addService("createEntityInputFieldVisitor", ({ schema: schema2, authorizator: authorizator2, columnTypeResolver, createEntityRelationInputProvider }) => new CreateEntityInputFieldVisitor(schema2, authorizator2, columnTypeResolver, createEntityRelationInputProvider)).addService("createEntityInputProvider", ({ schema: schema2, authorizator: authorizator2, createEntityInputFieldVisitor }) => new EntityInputProvider(EntityInputType.create, schema2, authorizator2, createEntityInputFieldVisitor)).addService("updateEntityInputProviderAccessor", ({}) => new Accessor()).addService("updateEntityRelationAllowedOperationsVisitor", ({ authorizator: authorizator2 }) => new UpdateEntityRelationAllowedOperationsVisitor(authorizator2)).addService("updateEntityRelationInputFieldVisitor", ({ schema: schema2, authorizator: authorizator2, whereTypeProvider, updateEntityInputProviderAccessor, createEntityInputProvider, updateEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider }) => new UpdateEntityRelationInputFieldVisitor(schema2, authorizator2, whereTypeProvider, updateEntityInputProviderAccessor, createEntityInputProvider, updateEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider)).addService("updateEntityRelationInputProvider", ({ schema: schema2, updateEntityRelationInputFieldVisitor }) => new UpdateEntityRelationInputProvider(schema2, updateEntityRelationInputFieldVisitor)).addService("updateEntityInputFieldVisitor", ({ authorizator: authorizator2, columnTypeResolver, updateEntityRelationInputProvider }) => new UpdateEntityInputFieldVisitor(authorizator2, columnTypeResolver, updateEntityRelationInputProvider)).addService("updateEntityInputProvider", ({ schema: schema2, authorizator: authorizator2, updateEntityInputFieldVisitor }) => new EntityInputProvider(EntityInputType.update, schema2, authorizator2, updateEntityInputFieldVisitor)).addService("resultSchemaTypeProvider", ({}) => new ResultSchemaTypeProvider()).addService("mutationProvider", ({ authorizator: authorizator2, whereTypeProvider, entityTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider }) => new MutationProvider(authorizator2, whereTypeProvider, entityTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider)).addService("validationQueriesProvider", ({ whereTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider }) => new ValidationQueriesProvider(whereTypeProvider, createEntityInputProvider, updateEntityInputProvider, resultSchemaTypeProvider)).addService("refreshViewMutationProvider", ({ schema: schema2, authorizator: authorizator2 }) => new RefreshViewMutationProvider(schema2, authorizator2)).addService("graphQlSchemaBuilder", ({ schema: schema2, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider, refreshViewMutationProvider }) => new GraphQlSchemaBuilder(schema2, queryProvider, validationQueriesProvider, mutationProvider, resultSchemaTypeProvider, refreshViewMutationProvider)).setupService("createEntityInputProvider", (it, { createEntityInputProviderAccessor }) => {
|
|
39
40
|
createEntityInputProviderAccessor.set(it);
|
|
40
41
|
}).setupService("updateEntityInputProvider", (it, { updateEntityInputProviderAccessor }) => {
|
|
41
42
|
updateEntityInputProviderAccessor.set(it);
|