@contember/engine-content-api 2.0.1 → 2.1.0-alpha.2
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 +20 -0
- package/dist/development/src/resolvers/RefreshViewResolver.cjs.map +1 -0
- package/dist/development/src/resolvers/RefreshViewResolver.js +20 -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 +35 -0
- package/dist/development/src/schema/RefreshViewMutationProvider.cjs.map +1 -0
- package/dist/development/src/schema/RefreshViewMutationProvider.js +35 -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 +20 -0
- package/dist/production/src/resolvers/RefreshViewResolver.cjs.map +1 -0
- package/dist/production/src/resolvers/RefreshViewResolver.js +20 -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 +35 -0
- package/dist/production/src/schema/RefreshViewMutationProvider.cjs.map +1 -0
- package/dist/production/src/schema/RefreshViewMutationProvider.js +35 -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 +11 -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 +40 -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":"GraphQlSchemaBuilderFactory.js","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":["schema","authorizator"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GraphQlSchemaBuilderFactory.js","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":["schema","authorizator"],"mappings":"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"}
|
|
@@ -48,7 +48,12 @@ class OrderByTypeProvider {
|
|
|
48
48
|
continue;
|
|
49
49
|
}
|
|
50
50
|
const field = schemaUtils.acceptFieldVisitor(this.schema, name, fieldName, {
|
|
51
|
-
visitColumn: () =>
|
|
51
|
+
visitColumn: ({ column }) => {
|
|
52
|
+
if (column.list) {
|
|
53
|
+
return void 0;
|
|
54
|
+
}
|
|
55
|
+
return { type: this.orderDirectionEnum };
|
|
56
|
+
},
|
|
52
57
|
visitHasOne: ({ relation }) => ({ type: this.getEntityOrderByType(relation.target) }),
|
|
53
58
|
visitHasMany: () => void 0
|
|
54
59
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderByTypeProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/OrderByTypeProvider.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInputFieldConfig,\n\tGraphQLInputFieldConfigMap,\n\tGraphQLInputObjectType,\n\tGraphQLInputType,\n\tGraphQLInt,\n} from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { singletonFactory } from '../utils'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\n\nexport class OrderByTypeProvider {\n\tprivate orderBySingleton = singletonFactory(name => this.createEntityOrderByType(name))\n\n\tprivate orderDirectionEnum = new GraphQLEnumType({\n\t\tname: 'OrderDirection',\n\t\tvalues: {\n\t\t\tasc: { value: 'asc' },\n\t\t\tdesc: { value: 'desc' },\n\t\t\tascNullsFirst: { value: 'ascNullsFirst' },\n\t\t\tdescNullsLast: { value: 'descNullsLast' },\n\t\t},\n\t})\n\n\tconstructor(private readonly schema: Model.Schema, private readonly authorizator: Authorizator) {}\n\n\tpublic getEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn this.orderBySingleton(entityName)\n\t}\n\n\tprivate createEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}OrderBy`,\n\t\t\tfields: () => this.getEntityOrderByFields(entityName),\n\t\t})\n\t}\n\n\tprivate getEntityOrderByFields(name: string) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {\n\t\t\t_random: { type: GraphQLBoolean },\n\t\t\t_randomSeeded: { type: GraphQLInt },\n\t\t}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tconst field = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: () => ({ type: this.orderDirectionEnum }),\n\t\t\t\tvisitHasOne: ({ relation }) => ({ type: this.getEntityOrderByType(relation.target) }),\n\t\t\t\tvisitHasMany: () => undefined,\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig | undefined>)\n\n\t\t\tif (field !== undefined) {\n\t\t\t\tfields[fieldName] = field\n\t\t\t}\n\t\t}\n\n\t\treturn fields\n\t}\n}\n"],"names":["schema","singletonFactory","GraphQLEnumType","GraphQLInputObjectType","GqlTypeName","GraphQLBoolean","GraphQLInt","FieldAccessVisitor","Acl","acceptFieldVisitor"],"mappings":";;;;;;;;;;;AAgBO,MAAM,oBAAoB;AAAA,EAahC,YAA6BA,SAAuC,cAA4B;AAAnE,SAAA,SAAAA;AAAuC,SAAA,eAAA;AAZpE,kBAAA,MAAQ,oBAAmBC,kCAAiB,CAAA,SAAQ,KAAK,wBAAwB,IAAI,CAAC,CAAA;AAE9E,kBAAA,MAAA,sBAAqB,IAAIC,wBAAgB;AAAA,MAChD,MAAM;AAAA,MACN,QAAQ;AAAA,QACP,KAAK,EAAE,OAAO,MAAM;AAAA,QACpB,MAAM,EAAE,OAAO,OAAO;AAAA,QACtB,eAAe,EAAE,OAAO,gBAAgB;AAAA,QACxC,eAAe,EAAE,OAAO,gBAAgB;AAAA,MAAA;AAAA,IACzC,CACA,CAAA;AAAA,EAAA;AAAA,EAIM,qBAAqB,YAAsC;AAC1D,WAAA,KAAK,iBAAiB,UAAU;AAAA,EAAA;AAAA,EAGhC,wBAAwB,YAAsC;AACrE,WAAO,IAAIC,QAAAA,uBAAuB;AAAA,MACjC,MAAMC,oBAAc,UAAU;AAAA,MAC9B,QAAQ,MAAM,KAAK,uBAAuB,UAAU;AAAA,IAAA,CACpD;AAAA,EAAA;AAAA,EAGM,uBAAuB,MAAc;AAC5C,UAAM,SAAqC;AAAA,MAC1C,SAAS,EAAE,MAAMC,uBAAe;AAAA,MAChC,eAAe,EAAE,MAAMC,QAAW,WAAA;AAAA,IACnC;AACA,UAAM,SAAS,KAAK,OAAO,SAAS,IAAI;AAE7B,eAAA,aAAa,OAAO,QAAQ;AACtC,UAAI,CAAC,OAAO,OAAO,eAAe,SAAS,GAAG;AAC7C;AAAA,MAAA;AAED,YAAM,gBAAgB,IAAIC,sCAAmBC,OAAAA,IAAI,UAAU,MAAM,KAAK,YAAY;AAClF,UAAI,CAACC,YAAmB,mBAAA,KAAK,QAAQ,MAAM,WAAW,aAAa,GAAG;AACrE;AAAA,MAAA;AAGD,YAAM,QAAQA,YAAAA,mBAAmB,KAAK,QAAQ,MAAM,WAAW;AAAA,QAC9D,aAAa,OAAO,EAAE,MAAM,KAAK,mBAAmB;AAAA,
|
|
1
|
+
{"version":3,"file":"OrderByTypeProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/OrderByTypeProvider.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInputFieldConfig,\n\tGraphQLInputFieldConfigMap,\n\tGraphQLInputObjectType,\n\tGraphQLInputType,\n\tGraphQLInt,\n} from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { singletonFactory } from '../utils'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\n\nexport class OrderByTypeProvider {\n\tprivate orderBySingleton = singletonFactory(name => this.createEntityOrderByType(name))\n\n\tprivate orderDirectionEnum = new GraphQLEnumType({\n\t\tname: 'OrderDirection',\n\t\tvalues: {\n\t\t\tasc: { value: 'asc' },\n\t\t\tdesc: { value: 'desc' },\n\t\t\tascNullsFirst: { value: 'ascNullsFirst' },\n\t\t\tdescNullsLast: { value: 'descNullsLast' },\n\t\t},\n\t})\n\n\tconstructor(private readonly schema: Model.Schema, private readonly authorizator: Authorizator) {}\n\n\tpublic getEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn this.orderBySingleton(entityName)\n\t}\n\n\tprivate createEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}OrderBy`,\n\t\t\tfields: () => this.getEntityOrderByFields(entityName),\n\t\t})\n\t}\n\n\tprivate getEntityOrderByFields(name: string) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {\n\t\t\t_random: { type: GraphQLBoolean },\n\t\t\t_randomSeeded: { type: GraphQLInt },\n\t\t}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tconst field = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: ({ column }) => {\n\t\t\t\t\tif (column.list) {\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t}\n\t\t\t\t\treturn ({ type: this.orderDirectionEnum })\n\t\t\t\t},\n\t\t\t\tvisitHasOne: ({ relation }) => ({ type: this.getEntityOrderByType(relation.target) }),\n\t\t\t\tvisitHasMany: () => undefined,\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig | undefined>)\n\n\t\t\tif (field !== undefined) {\n\t\t\t\tfields[fieldName] = field\n\t\t\t}\n\t\t}\n\n\t\treturn fields\n\t}\n}\n"],"names":["schema","singletonFactory","GraphQLEnumType","GraphQLInputObjectType","GqlTypeName","GraphQLBoolean","GraphQLInt","FieldAccessVisitor","Acl","acceptFieldVisitor"],"mappings":";;;;;;;;;;;AAgBO,MAAM,oBAAoB;AAAA,EAahC,YAA6BA,SAAuC,cAA4B;AAAnE,SAAA,SAAAA;AAAuC,SAAA,eAAA;AAZpE,kBAAA,MAAQ,oBAAmBC,kCAAiB,CAAA,SAAQ,KAAK,wBAAwB,IAAI,CAAC,CAAA;AAE9E,kBAAA,MAAA,sBAAqB,IAAIC,wBAAgB;AAAA,MAChD,MAAM;AAAA,MACN,QAAQ;AAAA,QACP,KAAK,EAAE,OAAO,MAAM;AAAA,QACpB,MAAM,EAAE,OAAO,OAAO;AAAA,QACtB,eAAe,EAAE,OAAO,gBAAgB;AAAA,QACxC,eAAe,EAAE,OAAO,gBAAgB;AAAA,MAAA;AAAA,IACzC,CACA,CAAA;AAAA,EAAA;AAAA,EAIM,qBAAqB,YAAsC;AAC1D,WAAA,KAAK,iBAAiB,UAAU;AAAA,EAAA;AAAA,EAGhC,wBAAwB,YAAsC;AACrE,WAAO,IAAIC,QAAAA,uBAAuB;AAAA,MACjC,MAAMC,oBAAc,UAAU;AAAA,MAC9B,QAAQ,MAAM,KAAK,uBAAuB,UAAU;AAAA,IAAA,CACpD;AAAA,EAAA;AAAA,EAGM,uBAAuB,MAAc;AAC5C,UAAM,SAAqC;AAAA,MAC1C,SAAS,EAAE,MAAMC,uBAAe;AAAA,MAChC,eAAe,EAAE,MAAMC,QAAW,WAAA;AAAA,IACnC;AACA,UAAM,SAAS,KAAK,OAAO,SAAS,IAAI;AAE7B,eAAA,aAAa,OAAO,QAAQ;AACtC,UAAI,CAAC,OAAO,OAAO,eAAe,SAAS,GAAG;AAC7C;AAAA,MAAA;AAED,YAAM,gBAAgB,IAAIC,sCAAmBC,OAAAA,IAAI,UAAU,MAAM,KAAK,YAAY;AAClF,UAAI,CAACC,YAAmB,mBAAA,KAAK,QAAQ,MAAM,WAAW,aAAa,GAAG;AACrE;AAAA,MAAA;AAGD,YAAM,QAAQA,YAAAA,mBAAmB,KAAK,QAAQ,MAAM,WAAW;AAAA,QAC9D,aAAa,CAAC,EAAE,aAAa;AAC5B,cAAI,OAAO,MAAM;AACT,mBAAA;AAAA,UAAA;AAEA,iBAAA,EAAE,MAAM,KAAK,mBAAmB;AAAA,QACzC;AAAA,QACA,aAAa,CAAC,EAAE,SAAS,OAAO,EAAE,MAAM,KAAK,qBAAqB,SAAS,MAAM;QACjF,cAAc,MAAM;AAAA,MAAA,CACuC;AAE5D,UAAI,UAAU,QAAW;AACxB,eAAO,SAAS,IAAI;AAAA,MAAA;AAAA,IACrB;AAGM,WAAA;AAAA,EAAA;AAET;;"}
|
|
@@ -46,7 +46,12 @@ class OrderByTypeProvider {
|
|
|
46
46
|
continue;
|
|
47
47
|
}
|
|
48
48
|
const field = acceptFieldVisitor(this.schema, name, fieldName, {
|
|
49
|
-
visitColumn: () =>
|
|
49
|
+
visitColumn: ({ column }) => {
|
|
50
|
+
if (column.list) {
|
|
51
|
+
return void 0;
|
|
52
|
+
}
|
|
53
|
+
return { type: this.orderDirectionEnum };
|
|
54
|
+
},
|
|
50
55
|
visitHasOne: ({ relation }) => ({ type: this.getEntityOrderByType(relation.target) }),
|
|
51
56
|
visitHasMany: () => void 0
|
|
52
57
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderByTypeProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/OrderByTypeProvider.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInputFieldConfig,\n\tGraphQLInputFieldConfigMap,\n\tGraphQLInputObjectType,\n\tGraphQLInputType,\n\tGraphQLInt,\n} from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { singletonFactory } from '../utils'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\n\nexport class OrderByTypeProvider {\n\tprivate orderBySingleton = singletonFactory(name => this.createEntityOrderByType(name))\n\n\tprivate orderDirectionEnum = new GraphQLEnumType({\n\t\tname: 'OrderDirection',\n\t\tvalues: {\n\t\t\tasc: { value: 'asc' },\n\t\t\tdesc: { value: 'desc' },\n\t\t\tascNullsFirst: { value: 'ascNullsFirst' },\n\t\t\tdescNullsLast: { value: 'descNullsLast' },\n\t\t},\n\t})\n\n\tconstructor(private readonly schema: Model.Schema, private readonly authorizator: Authorizator) {}\n\n\tpublic getEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn this.orderBySingleton(entityName)\n\t}\n\n\tprivate createEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}OrderBy`,\n\t\t\tfields: () => this.getEntityOrderByFields(entityName),\n\t\t})\n\t}\n\n\tprivate getEntityOrderByFields(name: string) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {\n\t\t\t_random: { type: GraphQLBoolean },\n\t\t\t_randomSeeded: { type: GraphQLInt },\n\t\t}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tconst field = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: () => ({ type: this.orderDirectionEnum }),\n\t\t\t\tvisitHasOne: ({ relation }) => ({ type: this.getEntityOrderByType(relation.target) }),\n\t\t\t\tvisitHasMany: () => undefined,\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig | undefined>)\n\n\t\t\tif (field !== undefined) {\n\t\t\t\tfields[fieldName] = field\n\t\t\t}\n\t\t}\n\n\t\treturn fields\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;AAgBO,MAAM,oBAAoB;AAAA,EAahC,YAA6B,QAAuC,cAA4B;AAAnE,SAAA,SAAA;AAAuC,SAAA,eAAA;AAZpE,kBAAA,MAAQ,oBAAmB,iBAAiB,CAAA,SAAQ,KAAK,wBAAwB,IAAI,CAAC,CAAA;AAE9E,kBAAA,MAAA,sBAAqB,IAAI,gBAAgB;AAAA,MAChD,MAAM;AAAA,MACN,QAAQ;AAAA,QACP,KAAK,EAAE,OAAO,MAAM;AAAA,QACpB,MAAM,EAAE,OAAO,OAAO;AAAA,QACtB,eAAe,EAAE,OAAO,gBAAgB;AAAA,QACxC,eAAe,EAAE,OAAO,gBAAgB;AAAA,MAAA;AAAA,IACzC,CACA,CAAA;AAAA,EAAA;AAAA,EAIM,qBAAqB,YAAsC;AAC1D,WAAA,KAAK,iBAAiB,UAAU;AAAA,EAAA;AAAA,EAGhC,wBAAwB,YAAsC;AACrE,WAAO,IAAI,uBAAuB;AAAA,MACjC,MAAM,cAAc,UAAU;AAAA,MAC9B,QAAQ,MAAM,KAAK,uBAAuB,UAAU;AAAA,IAAA,CACpD;AAAA,EAAA;AAAA,EAGM,uBAAuB,MAAc;AAC5C,UAAM,SAAqC;AAAA,MAC1C,SAAS,EAAE,MAAM,eAAe;AAAA,MAChC,eAAe,EAAE,MAAM,WAAW;AAAA,IACnC;AACA,UAAM,SAAS,KAAK,OAAO,SAAS,IAAI;AAE7B,eAAA,aAAa,OAAO,QAAQ;AACtC,UAAI,CAAC,OAAO,OAAO,eAAe,SAAS,GAAG;AAC7C;AAAA,MAAA;AAED,YAAM,gBAAgB,IAAI,mBAAmB,IAAI,UAAU,MAAM,KAAK,YAAY;AAClF,UAAI,CAAC,mBAAmB,KAAK,QAAQ,MAAM,WAAW,aAAa,GAAG;AACrE;AAAA,MAAA;AAGD,YAAM,QAAQ,mBAAmB,KAAK,QAAQ,MAAM,WAAW;AAAA,QAC9D,aAAa,OAAO,EAAE,MAAM,KAAK,mBAAmB;AAAA,
|
|
1
|
+
{"version":3,"file":"OrderByTypeProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/OrderByTypeProvider.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInputFieldConfig,\n\tGraphQLInputFieldConfigMap,\n\tGraphQLInputObjectType,\n\tGraphQLInputType,\n\tGraphQLInt,\n} from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { singletonFactory } from '../utils'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\n\nexport class OrderByTypeProvider {\n\tprivate orderBySingleton = singletonFactory(name => this.createEntityOrderByType(name))\n\n\tprivate orderDirectionEnum = new GraphQLEnumType({\n\t\tname: 'OrderDirection',\n\t\tvalues: {\n\t\t\tasc: { value: 'asc' },\n\t\t\tdesc: { value: 'desc' },\n\t\t\tascNullsFirst: { value: 'ascNullsFirst' },\n\t\t\tdescNullsLast: { value: 'descNullsLast' },\n\t\t},\n\t})\n\n\tconstructor(private readonly schema: Model.Schema, private readonly authorizator: Authorizator) {}\n\n\tpublic getEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn this.orderBySingleton(entityName)\n\t}\n\n\tprivate createEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}OrderBy`,\n\t\t\tfields: () => this.getEntityOrderByFields(entityName),\n\t\t})\n\t}\n\n\tprivate getEntityOrderByFields(name: string) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {\n\t\t\t_random: { type: GraphQLBoolean },\n\t\t\t_randomSeeded: { type: GraphQLInt },\n\t\t}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tconst field = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: ({ column }) => {\n\t\t\t\t\tif (column.list) {\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t}\n\t\t\t\t\treturn ({ type: this.orderDirectionEnum })\n\t\t\t\t},\n\t\t\t\tvisitHasOne: ({ relation }) => ({ type: this.getEntityOrderByType(relation.target) }),\n\t\t\t\tvisitHasMany: () => undefined,\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig | undefined>)\n\n\t\t\tif (field !== undefined) {\n\t\t\t\tfields[fieldName] = field\n\t\t\t}\n\t\t}\n\n\t\treturn fields\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;AAgBO,MAAM,oBAAoB;AAAA,EAahC,YAA6B,QAAuC,cAA4B;AAAnE,SAAA,SAAA;AAAuC,SAAA,eAAA;AAZpE,kBAAA,MAAQ,oBAAmB,iBAAiB,CAAA,SAAQ,KAAK,wBAAwB,IAAI,CAAC,CAAA;AAE9E,kBAAA,MAAA,sBAAqB,IAAI,gBAAgB;AAAA,MAChD,MAAM;AAAA,MACN,QAAQ;AAAA,QACP,KAAK,EAAE,OAAO,MAAM;AAAA,QACpB,MAAM,EAAE,OAAO,OAAO;AAAA,QACtB,eAAe,EAAE,OAAO,gBAAgB;AAAA,QACxC,eAAe,EAAE,OAAO,gBAAgB;AAAA,MAAA;AAAA,IACzC,CACA,CAAA;AAAA,EAAA;AAAA,EAIM,qBAAqB,YAAsC;AAC1D,WAAA,KAAK,iBAAiB,UAAU;AAAA,EAAA;AAAA,EAGhC,wBAAwB,YAAsC;AACrE,WAAO,IAAI,uBAAuB;AAAA,MACjC,MAAM,cAAc,UAAU;AAAA,MAC9B,QAAQ,MAAM,KAAK,uBAAuB,UAAU;AAAA,IAAA,CACpD;AAAA,EAAA;AAAA,EAGM,uBAAuB,MAAc;AAC5C,UAAM,SAAqC;AAAA,MAC1C,SAAS,EAAE,MAAM,eAAe;AAAA,MAChC,eAAe,EAAE,MAAM,WAAW;AAAA,IACnC;AACA,UAAM,SAAS,KAAK,OAAO,SAAS,IAAI;AAE7B,eAAA,aAAa,OAAO,QAAQ;AACtC,UAAI,CAAC,OAAO,OAAO,eAAe,SAAS,GAAG;AAC7C;AAAA,MAAA;AAED,YAAM,gBAAgB,IAAI,mBAAmB,IAAI,UAAU,MAAM,KAAK,YAAY;AAClF,UAAI,CAAC,mBAAmB,KAAK,QAAQ,MAAM,WAAW,aAAa,GAAG;AACrE;AAAA,MAAA;AAGD,YAAM,QAAQ,mBAAmB,KAAK,QAAQ,MAAM,WAAW;AAAA,QAC9D,aAAa,CAAC,EAAE,aAAa;AAC5B,cAAI,OAAO,MAAM;AACT,mBAAA;AAAA,UAAA;AAEA,iBAAA,EAAE,MAAM,KAAK,mBAAmB;AAAA,QACzC;AAAA,QACA,aAAa,CAAC,EAAE,SAAS,OAAO,EAAE,MAAM,KAAK,qBAAqB,SAAS,MAAM;QACjF,cAAc,MAAM;AAAA,MAAA,CACuC;AAE5D,UAAI,UAAU,QAAW;AACxB,eAAO,SAAS,IAAI;AAAA,MAAA;AAAA,IACrB;AAGM,WAAA;AAAA,EAAA;AAET;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const graphql = require("graphql");
|
|
4
|
+
class RefreshViewMutationProvider {
|
|
5
|
+
constructor(schema, authorizator) {
|
|
6
|
+
this.schema = schema;
|
|
7
|
+
this.authorizator = authorizator;
|
|
8
|
+
}
|
|
9
|
+
getMutation() {
|
|
10
|
+
const materializedViews = Object.values(this.schema.entities).filter((it) => it.view?.materialized).filter((it) => this.authorizator.isRefreshMaterializedViewAllowed(it.name));
|
|
11
|
+
if (materializedViews.length === 0) {
|
|
12
|
+
return void 0;
|
|
13
|
+
}
|
|
14
|
+
const materializedViewsEnum = new graphql.GraphQLEnumType({
|
|
15
|
+
name: "_MaterializedView",
|
|
16
|
+
values: Object.fromEntries(materializedViews.map((it) => [it.name, { value: it.name }]))
|
|
17
|
+
});
|
|
18
|
+
return {
|
|
19
|
+
type: new graphql.GraphQLObjectType({
|
|
20
|
+
name: "RefreshMaterializedViewResponse",
|
|
21
|
+
fields: {
|
|
22
|
+
ok: { type: graphql.GraphQLBoolean }
|
|
23
|
+
}
|
|
24
|
+
}),
|
|
25
|
+
args: {
|
|
26
|
+
name: { type: materializedViewsEnum }
|
|
27
|
+
},
|
|
28
|
+
resolve: async (parent, args, context) => {
|
|
29
|
+
return await context.executionContainer.refreshViewResolver.resolve(args.name);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.RefreshViewMutationProvider = RefreshViewMutationProvider;
|
|
35
|
+
//# sourceMappingURL=RefreshViewMutationProvider.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RefreshViewMutationProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/RefreshViewMutationProvider.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { GraphQLBoolean, GraphQLEnumType, GraphQLFieldConfig, GraphQLObjectType } from 'graphql'\nimport { Context } from '../types'\nimport { Authorizator } from '../acl'\n\nexport class RefreshViewMutationProvider {\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {\n\t}\n\tgetMutation(): GraphQLFieldConfig<any, Context, any> | undefined {\n\t\tconst materializedViews = Object.values(this.schema.entities)\n\t\t\t.filter(it => it.view?.materialized)\n\t\t\t.filter(it => this.authorizator.isRefreshMaterializedViewAllowed(it.name))\n\t\tif (materializedViews.length === 0) {\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst materializedViewsEnum = new GraphQLEnumType({\n\t\t\tname: '_MaterializedView',\n\t\t\tvalues: Object.fromEntries(materializedViews.map(it => [it.name, { value: it.name }])),\n\t\t})\n\n\t\treturn {\n\t\t\ttype: new GraphQLObjectType({\n\t\t\t\tname: 'RefreshMaterializedViewResponse',\n\t\t\t\tfields: {\n\t\t\t\t\tok: { type: GraphQLBoolean },\n\t\t\t\t},\n\t\t\t}),\n\t\t\targs: {\n\t\t\t\tname: { type: materializedViewsEnum },\n\t\t\t},\n\t\t\tresolve: async (parent, args, context) => {\n\t\t\t\treturn await context.executionContainer.refreshViewResolver.resolve(args.name)\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["GraphQLEnumType","GraphQLObjectType","GraphQLBoolean"],"mappings":";;;AAKO,MAAM,4BAA4B;AAAA,EACxC,YACkB,QACA,cAChB;AAFgB,SAAA,SAAA;AACA,SAAA,eAAA;AAAA,EAAA;AAAA,EAGlB,cAAiE;AAC1D,UAAA,oBAAoB,OAAO,OAAO,KAAK,OAAO,QAAQ,EAC1D,OAAO,CAAM,OAAA,GAAG,MAAM,YAAY,EAClC,OAAO,CAAM,OAAA,KAAK,aAAa,iCAAiC,GAAG,IAAI,CAAC;AACtE,QAAA,kBAAkB,WAAW,GAAG;AAC5B,aAAA;AAAA,IAAA;AAGF,UAAA,wBAAwB,IAAIA,wBAAgB;AAAA,MACjD,MAAM;AAAA,MACN,QAAQ,OAAO,YAAY,kBAAkB,IAAI,CAAM,OAAA,CAAC,GAAG,MAAM,EAAE,OAAO,GAAG,KAAM,CAAA,CAAC,CAAC;AAAA,IAAA,CACrF;AAEM,WAAA;AAAA,MACN,MAAM,IAAIC,QAAAA,kBAAkB;AAAA,QAC3B,MAAM;AAAA,QACN,QAAQ;AAAA,UACP,IAAI,EAAE,MAAMC,QAAe,eAAA;AAAA,QAAA;AAAA,MAC5B,CACA;AAAA,MACD,MAAM;AAAA,QACL,MAAM,EAAE,MAAM,sBAAsB;AAAA,MACrC;AAAA,MACA,SAAS,OAAO,QAAQ,MAAM,YAAY;AACzC,eAAO,MAAM,QAAQ,mBAAmB,oBAAoB,QAAQ,KAAK,IAAI;AAAA,MAAA;AAAA,IAE/E;AAAA,EAAA;AAEF;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { GraphQLEnumType, GraphQLObjectType, GraphQLBoolean } from "graphql";
|
|
2
|
+
class RefreshViewMutationProvider {
|
|
3
|
+
constructor(schema, authorizator) {
|
|
4
|
+
this.schema = schema;
|
|
5
|
+
this.authorizator = authorizator;
|
|
6
|
+
}
|
|
7
|
+
getMutation() {
|
|
8
|
+
const materializedViews = Object.values(this.schema.entities).filter((it) => it.view?.materialized).filter((it) => this.authorizator.isRefreshMaterializedViewAllowed(it.name));
|
|
9
|
+
if (materializedViews.length === 0) {
|
|
10
|
+
return void 0;
|
|
11
|
+
}
|
|
12
|
+
const materializedViewsEnum = new GraphQLEnumType({
|
|
13
|
+
name: "_MaterializedView",
|
|
14
|
+
values: Object.fromEntries(materializedViews.map((it) => [it.name, { value: it.name }]))
|
|
15
|
+
});
|
|
16
|
+
return {
|
|
17
|
+
type: new GraphQLObjectType({
|
|
18
|
+
name: "RefreshMaterializedViewResponse",
|
|
19
|
+
fields: {
|
|
20
|
+
ok: { type: GraphQLBoolean }
|
|
21
|
+
}
|
|
22
|
+
}),
|
|
23
|
+
args: {
|
|
24
|
+
name: { type: materializedViewsEnum }
|
|
25
|
+
},
|
|
26
|
+
resolve: async (parent, args, context) => {
|
|
27
|
+
return await context.executionContainer.refreshViewResolver.resolve(args.name);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
RefreshViewMutationProvider
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=RefreshViewMutationProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RefreshViewMutationProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/RefreshViewMutationProvider.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { GraphQLBoolean, GraphQLEnumType, GraphQLFieldConfig, GraphQLObjectType } from 'graphql'\nimport { Context } from '../types'\nimport { Authorizator } from '../acl'\n\nexport class RefreshViewMutationProvider {\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {\n\t}\n\tgetMutation(): GraphQLFieldConfig<any, Context, any> | undefined {\n\t\tconst materializedViews = Object.values(this.schema.entities)\n\t\t\t.filter(it => it.view?.materialized)\n\t\t\t.filter(it => this.authorizator.isRefreshMaterializedViewAllowed(it.name))\n\t\tif (materializedViews.length === 0) {\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst materializedViewsEnum = new GraphQLEnumType({\n\t\t\tname: '_MaterializedView',\n\t\t\tvalues: Object.fromEntries(materializedViews.map(it => [it.name, { value: it.name }])),\n\t\t})\n\n\t\treturn {\n\t\t\ttype: new GraphQLObjectType({\n\t\t\t\tname: 'RefreshMaterializedViewResponse',\n\t\t\t\tfields: {\n\t\t\t\t\tok: { type: GraphQLBoolean },\n\t\t\t\t},\n\t\t\t}),\n\t\t\targs: {\n\t\t\t\tname: { type: materializedViewsEnum },\n\t\t\t},\n\t\t\tresolve: async (parent, args, context) => {\n\t\t\t\treturn await context.executionContainer.refreshViewResolver.resolve(args.name)\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";AAKO,MAAM,4BAA4B;AAAA,EACxC,YACkB,QACA,cAChB;AAFgB,SAAA,SAAA;AACA,SAAA,eAAA;AAAA,EAAA;AAAA,EAGlB,cAAiE;AAC1D,UAAA,oBAAoB,OAAO,OAAO,KAAK,OAAO,QAAQ,EAC1D,OAAO,CAAM,OAAA,GAAG,MAAM,YAAY,EAClC,OAAO,CAAM,OAAA,KAAK,aAAa,iCAAiC,GAAG,IAAI,CAAC;AACtE,QAAA,kBAAkB,WAAW,GAAG;AAC5B,aAAA;AAAA,IAAA;AAGF,UAAA,wBAAwB,IAAI,gBAAgB;AAAA,MACjD,MAAM;AAAA,MACN,QAAQ,OAAO,YAAY,kBAAkB,IAAI,CAAM,OAAA,CAAC,GAAG,MAAM,EAAE,OAAO,GAAG,KAAM,CAAA,CAAC,CAAC;AAAA,IAAA,CACrF;AAEM,WAAA;AAAA,MACN,MAAM,IAAI,kBAAkB;AAAA,QAC3B,MAAM;AAAA,QACN,QAAQ;AAAA,UACP,IAAI,EAAE,MAAM,eAAe;AAAA,QAAA;AAAA,MAC5B,CACA;AAAA,MACD,MAAM;AAAA,QACL,MAAM,EAAE,MAAM,sBAAsB;AAAA,MACrC;AAAA,MACA,SAAS,OAAO,QAAQ,MAAM,YAAY;AACzC,eAAO,MAAM,QAAQ,mBAAmB,oBAAoB,QAAQ,KAAK,IAAI;AAAA,MAAA;AAAA,IAE/E;AAAA,EAAA;AAEF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WhereTypeProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/WhereTypeProvider.ts"],"sourcesContent":["import { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor, getEntity } from '@contember/schema-utils'\nimport { GraphQLInputFieldConfig, GraphQLInputFieldConfigMap, GraphQLInputObjectType, GraphQLList } from 'graphql'\nimport { capitalizeFirstLetter, getFieldsForUniqueWhere, singletonFactory } from '../utils'\nimport { ColumnTypeResolver } from './ColumnTypeResolver'\nimport { ConditionTypeProvider } from './ConditionTypeProvider'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\nimport { ImplementationException } from '../exception'\n\nexport class WhereTypeProvider {\n\tprivate whereSingleton = singletonFactory(name => this.createEntityWhereType(name))\n\tprivate uniqueWhereSingleton = singletonFactory(name => this.createEntityUniqueWhereType(name))\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly conditionTypeProvider: ConditionTypeProvider,\n\t) {}\n\n\tpublic getEntityWhereType(entityName: string): GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\treturn this.whereSingleton(entityName)\n\t}\n\n\tpublic getEntityUniqueWhereType(entityName: string): undefined | GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\treturn this.uniqueWhereSingleton(entityName)\n\t}\n\n\tprivate createEntityWhereType(entityName: string) {\n\t\tconst where: GraphQLInputObjectType = new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}Where`,\n\t\t\tfields: () => this.getEntityWhereFields(entityName, where),\n\t\t})\n\n\t\treturn where\n\t}\n\n\tprivate createEntityUniqueWhereType(entityName: string, withoutRelation?: string) {\n\t\tconst entity = getEntity(this.schema, entityName)\n\n\t\tconst combinations: string[] = []\n\n\t\tconst possibleUniqueWhereFields = getFieldsForUniqueWhere(this.schema, entity)\n\t\tconst uniqueKeys: (readonly string[])[] = possibleUniqueWhereFields.filter(uniqueKey =>\n\t\t\tuniqueKey.every(it =>\n\t\t\t\tacceptFieldVisitor(this.schema, entityName, it, new FieldAccessVisitor(Acl.Operation.read, this.authorizator)),\n\t\t\t),\n\t\t)\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tcombinations.push(uniqueKey.join(', '))\n\t\t}\n\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: capitalizeFirstLetter(entityName) + 'UniqueWhere',\n\t\t\t// description: `Valid combinations are: (${combinations.join('), (')})`, generates invalid schema file\n\t\t\tfields: () => this.getUniqueWhereFields(entity, uniqueKeys),\n\t\t})\n\t}\n\n\tpublic getUniqueWhereFields(entity: Model.Entity, uniqueKeys: (readonly string[])[]) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tfor (const field of uniqueKey) {\n\t\t\t\tif (fields[field] !== undefined) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tfields[field] = acceptFieldVisitor<GraphQLInputFieldConfig>(this.schema, entity, field, {\n\t\t\t\t\tvisitRelation: ({ targetEntity }) => {\n\t\t\t\t\t\t// if (!isIt<Model.JoiningColumnRelation>(relation, 'joiningColumn')) {\n\t\t\t\t\t\t// \tthrow new Error('Only column or owning relation can be a part of unique key')\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tconst uniqueWhere = this.getEntityUniqueWhereType(targetEntity.name)\n\t\t\t\t\t\tif (!uniqueWhere) {\n\t\t\t\t\t\t\tthrow new ImplementationException()\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn { type: uniqueWhere }\n\t\t\t\t\t},\n\t\t\t\t\tvisitColumn: ({ column }) => ({ type: this.columnTypeResolver.getType(column) }),\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\treturn fields\n\t}\n\n\tprivate getEntityWhereFields(name: string, where: GraphQLInputObjectType) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfields[fieldName] = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: ({ column }) => ({ type: this.conditionTypeProvider.getCondition(column) }),\n\t\t\t\tvisitRelation: ({ relation }) => ({ type: this.getEntityWhereType(relation.target) }),\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig>)\n\t\t}\n\n\t\tfields.and = { type: new GraphQLList(where) }\n\t\tfields.or = { type: new GraphQLList(where) }\n\t\tfields.not = { type: where }\n\n\t\treturn fields\n\t}\n}\n"],"names":["schema","singletonFactory","Acl","ImplementationException","GraphQLInputObjectType","GqlTypeName","getEntity","getFieldsForUniqueWhere","acceptFieldVisitor","FieldAccessVisitor","capitalizeFirstLetter","GraphQLList"],"mappings":";;;;;;;;;;;;;;AAWO,MAAM,kBAAkB;AAAA,EAI9B,YACkBA,SACA,cACA,oBACA,uBAChB;AAJgB,SAAA,SAAAA;AACA,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,wBAAA;AAPlB,kBAAA,MAAQ,kBAAiBC,kCAAiB,CAAA,SAAQ,KAAK,sBAAsB,IAAI,CAAC,CAAA;AAClF,kBAAA,MAAQ,wBAAuBA,kCAAiB,CAAA,SAAQ,KAAK,4BAA4B,IAAI,CAAC,CAAA;AAAA,EAAA;AAAA,EASvF,mBAAmB,YAA4C;AACjE,QAAA,KAAK,aAAa,oBAAoBC,OAAAA,IAAI,UAAU,MAAM,UAAU,MAAM,MAAM;AACnF,YAAM,IAAIC,UAAAA,wBAAwB;AAAA,IAAA;AAE5B,WAAA,KAAK,eAAe,UAAU;AAAA,EAAA;AAAA,EAG/B,yBAAyB,YAAwD;AACnF,QAAA,KAAK,aAAa,oBAAoBD,OAAAA,IAAI,UAAU,MAAM,UAAU,MAAM,MAAM;AAC5E,aAAA;AAAA,IAAA;AAED,WAAA,KAAK,qBAAqB,UAAU;AAAA,EAAA;AAAA,EAGpC,sBAAsB,YAAoB;AAC3C,UAAA,QAAgC,IAAIE,+BAAuB;AAAA,MAChE,MAAMC,oBAAc,UAAU;AAAA,MAC9B,QAAQ,MAAM,KAAK,qBAAqB,YAAY,KAAK;AAAA,IAAA,CACzD;AAEM,WAAA;AAAA,EAAA;AAAA,EAGA,4BAA4B,YAAoB,iBAA0B;AACjF,UAAM,SAASC,YAAA,UAAU,KAAK,QAAQ,UAAU;AAEhD,UAAM,eAAyB,CAAC;AAEhC,UAAM,4BAA4BC,kBAAA,wBAAwB,KAAK,QAAQ,MAAM;AAC7E,UAAM,aAAoC,0BAA0B;AAAA,MAAO,eAC1E,UAAU;AAAA,QAAM,CACf,OAAAC,YAAA,mBAAmB,KAAK,QAAQ,YAAY,IAAI,IAAIC,mBAAAA,mBAAmBP,OAAAA,IAAI,UAAU,MAAM,KAAK,YAAY,CAAC;AAAA,MAAA;AAAA,IAE/G;AACA,eAAW,aAAa,YAAY;AACnC,mBAAa,KAAK,UAAU,KAAK,IAAI,CAAC;AAAA,IAAA;AAGvC,WAAO,IAAIE,QAAAA,uBAAuB;AAAA,MACjC,MAAMM,QAAAA,sBAAsB,UAAU,IAAI;AAAA;AAAA,MAE1C,QAAQ,MAAM,KAAK,qBAAqB,QAAQ,UAAU;AAAA,IAAA,CAC1D;AAAA,EAAA;AAAA,EAGK,qBAAqB,QAAsB,YAAmC;AACpF,UAAM,SAAqC,CAAC;AAC5C,eAAW,aAAa,YAAY;AACnC,iBAAW,SAAS,WAAW;AAC1B,YAAA,OAAO,KAAK,MAAM,QAAW;AAChC;AAAA,QAAA;AAED,eAAO,KAAK,IAAIF,YAAA,mBAA4C,KAAK,QAAQ,QAAQ,OAAO;AAAA,UACvF,eAAe,CAAC,EAAE,mBAAmB;AAIpC,kBAAM,cAAc,KAAK,yBAAyB,aAAa,IAAI;AACnE,gBAAI,CAAC,aAAa;AACjB,oBAAM,IAAIL,UAAAA,wBAAwB;AAAA,YAAA;AAE5B,mBAAA,EAAE,MAAM,YAAY;AAAA,UAC5B;AAAA,UACA,aAAa,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"WhereTypeProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/WhereTypeProvider.ts"],"sourcesContent":["import { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor, getEntity } from '@contember/schema-utils'\nimport { GraphQLInputFieldConfig, GraphQLInputFieldConfigMap, GraphQLInputObjectType, GraphQLList } from 'graphql'\nimport { capitalizeFirstLetter, getFieldsForUniqueWhere, singletonFactory } from '../utils'\nimport { ColumnTypeResolver } from './ColumnTypeResolver'\nimport { ConditionTypeProvider } from './ConditionTypeProvider'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\nimport { ImplementationException } from '../exception'\n\nexport class WhereTypeProvider {\n\tprivate whereSingleton = singletonFactory(name => this.createEntityWhereType(name))\n\tprivate uniqueWhereSingleton = singletonFactory(name => this.createEntityUniqueWhereType(name))\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly conditionTypeProvider: ConditionTypeProvider,\n\t) {}\n\n\tpublic getEntityWhereType(entityName: string): GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\treturn this.whereSingleton(entityName)\n\t}\n\n\tpublic getEntityUniqueWhereType(entityName: string): undefined | GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\treturn this.uniqueWhereSingleton(entityName)\n\t}\n\n\tprivate createEntityWhereType(entityName: string) {\n\t\tconst where: GraphQLInputObjectType = new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}Where`,\n\t\t\tfields: () => this.getEntityWhereFields(entityName, where),\n\t\t})\n\n\t\treturn where\n\t}\n\n\tprivate createEntityUniqueWhereType(entityName: string, withoutRelation?: string) {\n\t\tconst entity = getEntity(this.schema, entityName)\n\n\t\tconst combinations: string[] = []\n\n\t\tconst possibleUniqueWhereFields = getFieldsForUniqueWhere(this.schema, entity)\n\t\tconst uniqueKeys: (readonly string[])[] = possibleUniqueWhereFields.filter(uniqueKey =>\n\t\t\tuniqueKey.every(it =>\n\t\t\t\tacceptFieldVisitor(this.schema, entityName, it, new FieldAccessVisitor(Acl.Operation.read, this.authorizator)),\n\t\t\t),\n\t\t)\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tcombinations.push(uniqueKey.join(', '))\n\t\t}\n\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: capitalizeFirstLetter(entityName) + 'UniqueWhere',\n\t\t\t// description: `Valid combinations are: (${combinations.join('), (')})`, generates invalid schema file\n\t\t\tfields: () => this.getUniqueWhereFields(entity, uniqueKeys),\n\t\t})\n\t}\n\n\tpublic getUniqueWhereFields(entity: Model.Entity, uniqueKeys: (readonly string[])[]) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tfor (const field of uniqueKey) {\n\t\t\t\tif (fields[field] !== undefined) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tfields[field] = acceptFieldVisitor<GraphQLInputFieldConfig>(this.schema, entity, field, {\n\t\t\t\t\tvisitRelation: ({ targetEntity }) => {\n\t\t\t\t\t\t// if (!isIt<Model.JoiningColumnRelation>(relation, 'joiningColumn')) {\n\t\t\t\t\t\t// \tthrow new Error('Only column or owning relation can be a part of unique key')\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tconst uniqueWhere = this.getEntityUniqueWhereType(targetEntity.name)\n\t\t\t\t\t\tif (!uniqueWhere) {\n\t\t\t\t\t\t\tthrow new ImplementationException()\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn { type: uniqueWhere }\n\t\t\t\t\t},\n\t\t\t\t\tvisitColumn: ({ column }) => ({ type: this.columnTypeResolver.getType(column)[0] }),\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\treturn fields\n\t}\n\n\tprivate getEntityWhereFields(name: string, where: GraphQLInputObjectType) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfields[fieldName] = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: ({ column }) => ({ type: this.conditionTypeProvider.getCondition(column) }),\n\t\t\t\tvisitRelation: ({ relation }) => ({ type: this.getEntityWhereType(relation.target) }),\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig>)\n\t\t}\n\n\t\tfields.and = { type: new GraphQLList(where) }\n\t\tfields.or = { type: new GraphQLList(where) }\n\t\tfields.not = { type: where }\n\n\t\treturn fields\n\t}\n}\n"],"names":["schema","singletonFactory","Acl","ImplementationException","GraphQLInputObjectType","GqlTypeName","getEntity","getFieldsForUniqueWhere","acceptFieldVisitor","FieldAccessVisitor","capitalizeFirstLetter","GraphQLList"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WhereTypeProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/WhereTypeProvider.ts"],"sourcesContent":["import { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor, getEntity } from '@contember/schema-utils'\nimport { GraphQLInputFieldConfig, GraphQLInputFieldConfigMap, GraphQLInputObjectType, GraphQLList } from 'graphql'\nimport { capitalizeFirstLetter, getFieldsForUniqueWhere, singletonFactory } from '../utils'\nimport { ColumnTypeResolver } from './ColumnTypeResolver'\nimport { ConditionTypeProvider } from './ConditionTypeProvider'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\nimport { ImplementationException } from '../exception'\n\nexport class WhereTypeProvider {\n\tprivate whereSingleton = singletonFactory(name => this.createEntityWhereType(name))\n\tprivate uniqueWhereSingleton = singletonFactory(name => this.createEntityUniqueWhereType(name))\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly conditionTypeProvider: ConditionTypeProvider,\n\t) {}\n\n\tpublic getEntityWhereType(entityName: string): GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\treturn this.whereSingleton(entityName)\n\t}\n\n\tpublic getEntityUniqueWhereType(entityName: string): undefined | GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\treturn this.uniqueWhereSingleton(entityName)\n\t}\n\n\tprivate createEntityWhereType(entityName: string) {\n\t\tconst where: GraphQLInputObjectType = new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}Where`,\n\t\t\tfields: () => this.getEntityWhereFields(entityName, where),\n\t\t})\n\n\t\treturn where\n\t}\n\n\tprivate createEntityUniqueWhereType(entityName: string, withoutRelation?: string) {\n\t\tconst entity = getEntity(this.schema, entityName)\n\n\t\tconst combinations: string[] = []\n\n\t\tconst possibleUniqueWhereFields = getFieldsForUniqueWhere(this.schema, entity)\n\t\tconst uniqueKeys: (readonly string[])[] = possibleUniqueWhereFields.filter(uniqueKey =>\n\t\t\tuniqueKey.every(it =>\n\t\t\t\tacceptFieldVisitor(this.schema, entityName, it, new FieldAccessVisitor(Acl.Operation.read, this.authorizator)),\n\t\t\t),\n\t\t)\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tcombinations.push(uniqueKey.join(', '))\n\t\t}\n\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: capitalizeFirstLetter(entityName) + 'UniqueWhere',\n\t\t\t// description: `Valid combinations are: (${combinations.join('), (')})`, generates invalid schema file\n\t\t\tfields: () => this.getUniqueWhereFields(entity, uniqueKeys),\n\t\t})\n\t}\n\n\tpublic getUniqueWhereFields(entity: Model.Entity, uniqueKeys: (readonly string[])[]) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tfor (const field of uniqueKey) {\n\t\t\t\tif (fields[field] !== undefined) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tfields[field] = acceptFieldVisitor<GraphQLInputFieldConfig>(this.schema, entity, field, {\n\t\t\t\t\tvisitRelation: ({ targetEntity }) => {\n\t\t\t\t\t\t// if (!isIt<Model.JoiningColumnRelation>(relation, 'joiningColumn')) {\n\t\t\t\t\t\t// \tthrow new Error('Only column or owning relation can be a part of unique key')\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tconst uniqueWhere = this.getEntityUniqueWhereType(targetEntity.name)\n\t\t\t\t\t\tif (!uniqueWhere) {\n\t\t\t\t\t\t\tthrow new ImplementationException()\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn { type: uniqueWhere }\n\t\t\t\t\t},\n\t\t\t\t\tvisitColumn: ({ column }) => ({ type: this.columnTypeResolver.getType(column) }),\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\treturn fields\n\t}\n\n\tprivate getEntityWhereFields(name: string, where: GraphQLInputObjectType) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfields[fieldName] = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: ({ column }) => ({ type: this.conditionTypeProvider.getCondition(column) }),\n\t\t\t\tvisitRelation: ({ relation }) => ({ type: this.getEntityWhereType(relation.target) }),\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig>)\n\t\t}\n\n\t\tfields.and = { type: new GraphQLList(where) }\n\t\tfields.or = { type: new GraphQLList(where) }\n\t\tfields.not = { type: where }\n\n\t\treturn fields\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAWO,MAAM,kBAAkB;AAAA,EAI9B,YACkB,QACA,cACA,oBACA,uBAChB;AAJgB,SAAA,SAAA;AACA,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,wBAAA;AAPlB,kBAAA,MAAQ,kBAAiB,iBAAiB,CAAA,SAAQ,KAAK,sBAAsB,IAAI,CAAC,CAAA;AAClF,kBAAA,MAAQ,wBAAuB,iBAAiB,CAAA,SAAQ,KAAK,4BAA4B,IAAI,CAAC,CAAA;AAAA,EAAA;AAAA,EASvF,mBAAmB,YAA4C;AACjE,QAAA,KAAK,aAAa,oBAAoB,IAAI,UAAU,MAAM,UAAU,MAAM,MAAM;AACnF,YAAM,IAAI,wBAAwB;AAAA,IAAA;AAE5B,WAAA,KAAK,eAAe,UAAU;AAAA,EAAA;AAAA,EAG/B,yBAAyB,YAAwD;AACnF,QAAA,KAAK,aAAa,oBAAoB,IAAI,UAAU,MAAM,UAAU,MAAM,MAAM;AAC5E,aAAA;AAAA,IAAA;AAED,WAAA,KAAK,qBAAqB,UAAU;AAAA,EAAA;AAAA,EAGpC,sBAAsB,YAAoB;AAC3C,UAAA,QAAgC,IAAI,uBAAuB;AAAA,MAChE,MAAM,cAAc,UAAU;AAAA,MAC9B,QAAQ,MAAM,KAAK,qBAAqB,YAAY,KAAK;AAAA,IAAA,CACzD;AAEM,WAAA;AAAA,EAAA;AAAA,EAGA,4BAA4B,YAAoB,iBAA0B;AACjF,UAAM,SAAS,UAAU,KAAK,QAAQ,UAAU;AAEhD,UAAM,eAAyB,CAAC;AAEhC,UAAM,4BAA4B,wBAAwB,KAAK,QAAQ,MAAM;AAC7E,UAAM,aAAoC,0BAA0B;AAAA,MAAO,eAC1E,UAAU;AAAA,QAAM,CACf,OAAA,mBAAmB,KAAK,QAAQ,YAAY,IAAI,IAAI,mBAAmB,IAAI,UAAU,MAAM,KAAK,YAAY,CAAC;AAAA,MAAA;AAAA,IAE/G;AACA,eAAW,aAAa,YAAY;AACnC,mBAAa,KAAK,UAAU,KAAK,IAAI,CAAC;AAAA,IAAA;AAGvC,WAAO,IAAI,uBAAuB;AAAA,MACjC,MAAM,sBAAsB,UAAU,IAAI;AAAA;AAAA,MAE1C,QAAQ,MAAM,KAAK,qBAAqB,QAAQ,UAAU;AAAA,IAAA,CAC1D;AAAA,EAAA;AAAA,EAGK,qBAAqB,QAAsB,YAAmC;AACpF,UAAM,SAAqC,CAAC;AAC5C,eAAW,aAAa,YAAY;AACnC,iBAAW,SAAS,WAAW;AAC1B,YAAA,OAAO,KAAK,MAAM,QAAW;AAChC;AAAA,QAAA;AAED,eAAO,KAAK,IAAI,mBAA4C,KAAK,QAAQ,QAAQ,OAAO;AAAA,UACvF,eAAe,CAAC,EAAE,mBAAmB;AAIpC,kBAAM,cAAc,KAAK,yBAAyB,aAAa,IAAI;AACnE,gBAAI,CAAC,aAAa;AACjB,oBAAM,IAAI,wBAAwB;AAAA,YAAA;AAE5B,mBAAA,EAAE,MAAM,YAAY;AAAA,UAC5B;AAAA,UACA,aAAa,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"WhereTypeProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/WhereTypeProvider.ts"],"sourcesContent":["import { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor, getEntity } from '@contember/schema-utils'\nimport { GraphQLInputFieldConfig, GraphQLInputFieldConfigMap, GraphQLInputObjectType, GraphQLList } from 'graphql'\nimport { capitalizeFirstLetter, getFieldsForUniqueWhere, singletonFactory } from '../utils'\nimport { ColumnTypeResolver } from './ColumnTypeResolver'\nimport { ConditionTypeProvider } from './ConditionTypeProvider'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\nimport { ImplementationException } from '../exception'\n\nexport class WhereTypeProvider {\n\tprivate whereSingleton = singletonFactory(name => this.createEntityWhereType(name))\n\tprivate uniqueWhereSingleton = singletonFactory(name => this.createEntityUniqueWhereType(name))\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly conditionTypeProvider: ConditionTypeProvider,\n\t) {}\n\n\tpublic getEntityWhereType(entityName: string): GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\treturn this.whereSingleton(entityName)\n\t}\n\n\tpublic getEntityUniqueWhereType(entityName: string): undefined | GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\treturn this.uniqueWhereSingleton(entityName)\n\t}\n\n\tprivate createEntityWhereType(entityName: string) {\n\t\tconst where: GraphQLInputObjectType = new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}Where`,\n\t\t\tfields: () => this.getEntityWhereFields(entityName, where),\n\t\t})\n\n\t\treturn where\n\t}\n\n\tprivate createEntityUniqueWhereType(entityName: string, withoutRelation?: string) {\n\t\tconst entity = getEntity(this.schema, entityName)\n\n\t\tconst combinations: string[] = []\n\n\t\tconst possibleUniqueWhereFields = getFieldsForUniqueWhere(this.schema, entity)\n\t\tconst uniqueKeys: (readonly string[])[] = possibleUniqueWhereFields.filter(uniqueKey =>\n\t\t\tuniqueKey.every(it =>\n\t\t\t\tacceptFieldVisitor(this.schema, entityName, it, new FieldAccessVisitor(Acl.Operation.read, this.authorizator)),\n\t\t\t),\n\t\t)\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tcombinations.push(uniqueKey.join(', '))\n\t\t}\n\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: capitalizeFirstLetter(entityName) + 'UniqueWhere',\n\t\t\t// description: `Valid combinations are: (${combinations.join('), (')})`, generates invalid schema file\n\t\t\tfields: () => this.getUniqueWhereFields(entity, uniqueKeys),\n\t\t})\n\t}\n\n\tpublic getUniqueWhereFields(entity: Model.Entity, uniqueKeys: (readonly string[])[]) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tfor (const field of uniqueKey) {\n\t\t\t\tif (fields[field] !== undefined) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tfields[field] = acceptFieldVisitor<GraphQLInputFieldConfig>(this.schema, entity, field, {\n\t\t\t\t\tvisitRelation: ({ targetEntity }) => {\n\t\t\t\t\t\t// if (!isIt<Model.JoiningColumnRelation>(relation, 'joiningColumn')) {\n\t\t\t\t\t\t// \tthrow new Error('Only column or owning relation can be a part of unique key')\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tconst uniqueWhere = this.getEntityUniqueWhereType(targetEntity.name)\n\t\t\t\t\t\tif (!uniqueWhere) {\n\t\t\t\t\t\t\tthrow new ImplementationException()\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn { type: uniqueWhere }\n\t\t\t\t\t},\n\t\t\t\t\tvisitColumn: ({ column }) => ({ type: this.columnTypeResolver.getType(column)[0] }),\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\treturn fields\n\t}\n\n\tprivate getEntityWhereFields(name: string, where: GraphQLInputObjectType) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfields[fieldName] = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: ({ column }) => ({ type: this.conditionTypeProvider.getCondition(column) }),\n\t\t\t\tvisitRelation: ({ relation }) => ({ type: this.getEntityWhereType(relation.target) }),\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig>)\n\t\t}\n\n\t\tfields.and = { type: new GraphQLList(where) }\n\t\tfields.or = { type: new GraphQLList(where) }\n\t\tfields.not = { type: where }\n\n\t\treturn fields\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -10,16 +10,16 @@ class FieldTypeVisitor {
|
|
|
10
10
|
this.authorizator = authorizator;
|
|
11
11
|
}
|
|
12
12
|
visitColumn({ column, entity }) {
|
|
13
|
-
const
|
|
13
|
+
const [type] = this.columnTypeResolver.getType(column);
|
|
14
14
|
const fieldPredicate = this.authorizator.getFieldPredicate(schema.Acl.Operation.read, entity.name, column.name);
|
|
15
15
|
const idPredicate = this.authorizator.getFieldPredicate(schema.Acl.Operation.read, entity.name, entity.primary);
|
|
16
16
|
if (!fieldPredicate || !idPredicate) {
|
|
17
17
|
throw new exception.ImplementationException();
|
|
18
18
|
}
|
|
19
19
|
if (!column.nullable && (fieldPredicate === true || fieldPredicate === idPredicate)) {
|
|
20
|
-
return new graphql.GraphQLNonNull(
|
|
20
|
+
return new graphql.GraphQLNonNull(type);
|
|
21
21
|
}
|
|
22
|
-
return
|
|
22
|
+
return type;
|
|
23
23
|
}
|
|
24
24
|
visitHasMany({ relation }) {
|
|
25
25
|
const entityType = this.entityTypeProvider.getEntity(relation.target);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldTypeVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/schema/entities/FieldTypeVisitor.ts"],"sourcesContent":["import { GraphQLList, GraphQLNonNull, GraphQLOutputType } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { EntityTypeProvider } from '../EntityTypeProvider'\nimport { Authorizator } from '../../acl'\nimport { ImplementationException } from '../../exception'\n\nexport class FieldTypeVisitor implements Model.ColumnVisitor<GraphQLOutputType>, Model.RelationByGenericTypeVisitor<GraphQLOutputType> {\n\tconstructor(\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {\n\t}\n\n\tpublic visitColumn({ column, entity }: Model.ColumnContext): GraphQLOutputType {\n\t\tconst
|
|
1
|
+
{"version":3,"file":"FieldTypeVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/schema/entities/FieldTypeVisitor.ts"],"sourcesContent":["import { GraphQLList, GraphQLNonNull, GraphQLOutputType } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { EntityTypeProvider } from '../EntityTypeProvider'\nimport { Authorizator } from '../../acl'\nimport { ImplementationException } from '../../exception'\n\nexport class FieldTypeVisitor implements Model.ColumnVisitor<GraphQLOutputType>, Model.RelationByGenericTypeVisitor<GraphQLOutputType> {\n\tconstructor(\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {\n\t}\n\n\tpublic visitColumn({ column, entity }: Model.ColumnContext): GraphQLOutputType {\n\t\tconst [type] = this.columnTypeResolver.getType(column)\n\t\tconst fieldPredicate = this.authorizator.getFieldPredicate(Acl.Operation.read, entity.name, column.name)\n\t\tconst idPredicate = this.authorizator.getFieldPredicate(Acl.Operation.read, entity.name, entity.primary)\n\t\tif (!fieldPredicate || !idPredicate) {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\tif (!column.nullable && (fieldPredicate === true || fieldPredicate === idPredicate)) {\n\t\t\treturn new GraphQLNonNull(type)\n\t\t}\n\t\treturn type\n\t}\n\n\tpublic visitHasMany({ relation }: Model.AnyHasManyRelationContext): GraphQLOutputType {\n\t\tconst entityType = this.entityTypeProvider.getEntity(relation.target)\n\t\treturn new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(entityType)))\n\t}\n\n\tpublic visitHasOne({ relation }: Model.AnyHasOneRelationContext): GraphQLOutputType {\n\t\treturn this.entityTypeProvider.getEntity(relation.target)\n\t}\n}\n"],"names":["Acl","ImplementationException","GraphQLNonNull","GraphQLList"],"mappings":";;;;;AAOO,MAAM,iBAA0H;AAAA,EACtI,YACkB,oBACA,oBACA,cAChB;AAHgB,SAAA,qBAAA;AACA,SAAA,qBAAA;AACA,SAAA,eAAA;AAAA,EAAA;AAAA,EAIX,YAAY,EAAE,QAAQ,UAAkD;AAC9E,UAAM,CAAC,IAAI,IAAI,KAAK,mBAAmB,QAAQ,MAAM;AAC/C,UAAA,iBAAiB,KAAK,aAAa,kBAAkBA,OAAA,IAAI,UAAU,MAAM,OAAO,MAAM,OAAO,IAAI;AACjG,UAAA,cAAc,KAAK,aAAa,kBAAkBA,OAAA,IAAI,UAAU,MAAM,OAAO,MAAM,OAAO,OAAO;AACnG,QAAA,CAAC,kBAAkB,CAAC,aAAa;AACpC,YAAM,IAAIC,UAAAA,wBAAwB;AAAA,IAAA;AAEnC,QAAI,CAAC,OAAO,aAAa,mBAAmB,QAAQ,mBAAmB,cAAc;AAC7E,aAAA,IAAIC,uBAAe,IAAI;AAAA,IAAA;AAExB,WAAA;AAAA,EAAA;AAAA,EAGD,aAAa,EAAE,YAAgE;AACrF,UAAM,aAAa,KAAK,mBAAmB,UAAU,SAAS,MAAM;AAC7D,WAAA,IAAIA,uBAAe,IAAIC,QAAAA,YAAY,IAAID,QAAe,eAAA,UAAU,CAAC,CAAC;AAAA,EAAA;AAAA,EAGnE,YAAY,EAAE,YAA+D;AACnF,WAAO,KAAK,mBAAmB,UAAU,SAAS,MAAM;AAAA,EAAA;AAE1D;;"}
|
|
@@ -8,16 +8,16 @@ class FieldTypeVisitor {
|
|
|
8
8
|
this.authorizator = authorizator;
|
|
9
9
|
}
|
|
10
10
|
visitColumn({ column, entity }) {
|
|
11
|
-
const
|
|
11
|
+
const [type] = this.columnTypeResolver.getType(column);
|
|
12
12
|
const fieldPredicate = this.authorizator.getFieldPredicate(Acl.Operation.read, entity.name, column.name);
|
|
13
13
|
const idPredicate = this.authorizator.getFieldPredicate(Acl.Operation.read, entity.name, entity.primary);
|
|
14
14
|
if (!fieldPredicate || !idPredicate) {
|
|
15
15
|
throw new ImplementationException();
|
|
16
16
|
}
|
|
17
17
|
if (!column.nullable && (fieldPredicate === true || fieldPredicate === idPredicate)) {
|
|
18
|
-
return new GraphQLNonNull(
|
|
18
|
+
return new GraphQLNonNull(type);
|
|
19
19
|
}
|
|
20
|
-
return
|
|
20
|
+
return type;
|
|
21
21
|
}
|
|
22
22
|
visitHasMany({ relation }) {
|
|
23
23
|
const entityType = this.entityTypeProvider.getEntity(relation.target);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldTypeVisitor.js","sources":["../../../../../../packages/engine-content-api/src/schema/entities/FieldTypeVisitor.ts"],"sourcesContent":["import { GraphQLList, GraphQLNonNull, GraphQLOutputType } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { EntityTypeProvider } from '../EntityTypeProvider'\nimport { Authorizator } from '../../acl'\nimport { ImplementationException } from '../../exception'\n\nexport class FieldTypeVisitor implements Model.ColumnVisitor<GraphQLOutputType>, Model.RelationByGenericTypeVisitor<GraphQLOutputType> {\n\tconstructor(\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {\n\t}\n\n\tpublic visitColumn({ column, entity }: Model.ColumnContext): GraphQLOutputType {\n\t\tconst
|
|
1
|
+
{"version":3,"file":"FieldTypeVisitor.js","sources":["../../../../../../packages/engine-content-api/src/schema/entities/FieldTypeVisitor.ts"],"sourcesContent":["import { GraphQLList, GraphQLNonNull, GraphQLOutputType } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { EntityTypeProvider } from '../EntityTypeProvider'\nimport { Authorizator } from '../../acl'\nimport { ImplementationException } from '../../exception'\n\nexport class FieldTypeVisitor implements Model.ColumnVisitor<GraphQLOutputType>, Model.RelationByGenericTypeVisitor<GraphQLOutputType> {\n\tconstructor(\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {\n\t}\n\n\tpublic visitColumn({ column, entity }: Model.ColumnContext): GraphQLOutputType {\n\t\tconst [type] = this.columnTypeResolver.getType(column)\n\t\tconst fieldPredicate = this.authorizator.getFieldPredicate(Acl.Operation.read, entity.name, column.name)\n\t\tconst idPredicate = this.authorizator.getFieldPredicate(Acl.Operation.read, entity.name, entity.primary)\n\t\tif (!fieldPredicate || !idPredicate) {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\tif (!column.nullable && (fieldPredicate === true || fieldPredicate === idPredicate)) {\n\t\t\treturn new GraphQLNonNull(type)\n\t\t}\n\t\treturn type\n\t}\n\n\tpublic visitHasMany({ relation }: Model.AnyHasManyRelationContext): GraphQLOutputType {\n\t\tconst entityType = this.entityTypeProvider.getEntity(relation.target)\n\t\treturn new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(entityType)))\n\t}\n\n\tpublic visitHasOne({ relation }: Model.AnyHasOneRelationContext): GraphQLOutputType {\n\t\treturn this.entityTypeProvider.getEntity(relation.target)\n\t}\n}\n"],"names":[],"mappings":";;;AAOO,MAAM,iBAA0H;AAAA,EACtI,YACkB,oBACA,oBACA,cAChB;AAHgB,SAAA,qBAAA;AACA,SAAA,qBAAA;AACA,SAAA,eAAA;AAAA,EAAA;AAAA,EAIX,YAAY,EAAE,QAAQ,UAAkD;AAC9E,UAAM,CAAC,IAAI,IAAI,KAAK,mBAAmB,QAAQ,MAAM;AAC/C,UAAA,iBAAiB,KAAK,aAAa,kBAAkB,IAAI,UAAU,MAAM,OAAO,MAAM,OAAO,IAAI;AACjG,UAAA,cAAc,KAAK,aAAa,kBAAkB,IAAI,UAAU,MAAM,OAAO,MAAM,OAAO,OAAO;AACnG,QAAA,CAAC,kBAAkB,CAAC,aAAa;AACpC,YAAM,IAAI,wBAAwB;AAAA,IAAA;AAEnC,QAAI,CAAC,OAAO,aAAa,mBAAmB,QAAQ,mBAAmB,cAAc;AAC7E,aAAA,IAAI,eAAe,IAAI;AAAA,IAAA;AAExB,WAAA;AAAA,EAAA;AAAA,EAGD,aAAa,EAAE,YAAgE;AACrF,UAAM,aAAa,KAAK,mBAAmB,UAAU,SAAS,MAAM;AAC7D,WAAA,IAAI,eAAe,IAAI,YAAY,IAAI,eAAe,UAAU,CAAC,CAAC;AAAA,EAAA;AAAA,EAGnE,YAAY,EAAE,YAA+D;AACnF,WAAO,KAAK,mBAAmB,UAAU,SAAS,MAAM;AAAA,EAAA;AAE1D;"}
|
|
@@ -16,7 +16,7 @@ class CreateEntityInputFieldVisitor {
|
|
|
16
16
|
if (this.authorizator.getFieldPermissions(schema.Acl.Operation.create, entity.name, column.name) === "no") {
|
|
17
17
|
return void 0;
|
|
18
18
|
}
|
|
19
|
-
const type = this.columnTypeResolver.getType(column);
|
|
19
|
+
const [type] = this.columnTypeResolver.getType(column);
|
|
20
20
|
return { type };
|
|
21
21
|
}
|
|
22
22
|
visitHasOne({ entity, relation }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateEntityInputFieldVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/schema/mutations/CreateEntityInputFieldVisitor.ts"],"sourcesContent":["import { GraphQLInputFieldConfig, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { CreateEntityRelationInputProvider } from './CreateEntityRelationInputProvider'\nimport { Authorizator } from '../../acl'\n\nexport class CreateEntityInputFieldVisitor implements\n\tModel.ColumnVisitor<GraphQLInputFieldConfig | undefined>,\n\tModel.RelationByGenericTypeVisitor<GraphQLInputFieldConfig | undefined> {\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly createEntityRelationInputProvider: CreateEntityRelationInputProvider,\n\t) {}\n\n\tpublic visitColumn({ entity, column }: Model.ColumnContext): GraphQLInputFieldConfig | undefined {\n\t\tif (entity.primary === column.name && !this.authorizator.isCustomPrimaryAllowed(entity.name)) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (this.authorizator.getFieldPermissions(Acl.Operation.create, entity.name, column.name) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\tconst type = this.columnTypeResolver.getType(column)\n\t\treturn { type }\n\t}\n\n\tpublic visitHasOne({ entity, relation }: Model.AnyHasOneRelationContext): GraphQLInputFieldConfig | undefined {\n\t\tconst type = this.createEntityRelationInputProvider.getCreateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn { type }\n\t}\n\n\tpublic visitHasMany({ entity, relation }: Model.AnyHasManyRelationContext): GraphQLInputFieldConfig | undefined {\n\t\tconst type = this.createEntityRelationInputProvider.getCreateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLList(new GraphQLNonNull(type)),\n\t\t}\n\t}\n}\n"],"names":["schema","Acl","GraphQLList","GraphQLNonNull"],"mappings":";;;;AAMO,MAAM,8BAE4D;AAAA,EAExE,YACkBA,SACA,cACA,oBACA,mCAChB;AAJgB,SAAA,SAAAA;AACA,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,oCAAA;AAAA,EAAA;AAAA,EAGX,YAAY,EAAE,QAAQ,UAAoE;AAC5F,QAAA,OAAO,YAAY,OAAO,QAAQ,CAAC,KAAK,aAAa,uBAAuB,OAAO,IAAI,GAAG;AACtF,aAAA;AAAA,IAAA;AAEJ,QAAA,KAAK,aAAa,oBAAoBC,OAAI,IAAA,UAAU,QAAQ,OAAO,MAAM,OAAO,IAAI,MAAM,MAAM;AAC5F,aAAA;AAAA,IAAA;AAER,UAAM,
|
|
1
|
+
{"version":3,"file":"CreateEntityInputFieldVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/schema/mutations/CreateEntityInputFieldVisitor.ts"],"sourcesContent":["import { GraphQLInputFieldConfig, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { CreateEntityRelationInputProvider } from './CreateEntityRelationInputProvider'\nimport { Authorizator } from '../../acl'\n\nexport class CreateEntityInputFieldVisitor implements\n\tModel.ColumnVisitor<GraphQLInputFieldConfig | undefined>,\n\tModel.RelationByGenericTypeVisitor<GraphQLInputFieldConfig | undefined> {\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly createEntityRelationInputProvider: CreateEntityRelationInputProvider,\n\t) {}\n\n\tpublic visitColumn({ entity, column }: Model.ColumnContext): GraphQLInputFieldConfig | undefined {\n\t\tif (entity.primary === column.name && !this.authorizator.isCustomPrimaryAllowed(entity.name)) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (this.authorizator.getFieldPermissions(Acl.Operation.create, entity.name, column.name) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\tconst [type] = this.columnTypeResolver.getType(column)\n\t\treturn { type }\n\t}\n\n\tpublic visitHasOne({ entity, relation }: Model.AnyHasOneRelationContext): GraphQLInputFieldConfig | undefined {\n\t\tconst type = this.createEntityRelationInputProvider.getCreateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn { type }\n\t}\n\n\tpublic visitHasMany({ entity, relation }: Model.AnyHasManyRelationContext): GraphQLInputFieldConfig | undefined {\n\t\tconst type = this.createEntityRelationInputProvider.getCreateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLList(new GraphQLNonNull(type)),\n\t\t}\n\t}\n}\n"],"names":["schema","Acl","GraphQLList","GraphQLNonNull"],"mappings":";;;;AAMO,MAAM,8BAE4D;AAAA,EAExE,YACkBA,SACA,cACA,oBACA,mCAChB;AAJgB,SAAA,SAAAA;AACA,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,oCAAA;AAAA,EAAA;AAAA,EAGX,YAAY,EAAE,QAAQ,UAAoE;AAC5F,QAAA,OAAO,YAAY,OAAO,QAAQ,CAAC,KAAK,aAAa,uBAAuB,OAAO,IAAI,GAAG;AACtF,aAAA;AAAA,IAAA;AAEJ,QAAA,KAAK,aAAa,oBAAoBC,OAAI,IAAA,UAAU,QAAQ,OAAO,MAAM,OAAO,IAAI,MAAM,MAAM;AAC5F,aAAA;AAAA,IAAA;AAER,UAAM,CAAC,IAAI,IAAI,KAAK,mBAAmB,QAAQ,MAAM;AACrD,WAAO,EAAE,KAAK;AAAA,EAAA;AAAA,EAGR,YAAY,EAAE,QAAQ,YAAiF;AAC7G,UAAM,OAAO,KAAK,kCAAkC,6BAA6B,OAAO,MAAM,SAAS,IAAI;AAC3G,QAAI,SAAS,QAAW;AAChB,aAAA;AAAA,IAAA;AAER,WAAO,EAAE,KAAK;AAAA,EAAA;AAAA,EAGR,aAAa,EAAE,QAAQ,YAAkF;AAC/G,UAAM,OAAO,KAAK,kCAAkC,6BAA6B,OAAO,MAAM,SAAS,IAAI;AAC3G,QAAI,SAAS,QAAW;AAChB,aAAA;AAAA,IAAA;AAED,WAAA;AAAA,MACN,MAAM,IAAIC,QAAAA,YAAY,IAAIC,QAAAA,eAAe,IAAI,CAAC;AAAA,IAC/C;AAAA,EAAA;AAEF;;"}
|
|
@@ -14,7 +14,7 @@ class CreateEntityInputFieldVisitor {
|
|
|
14
14
|
if (this.authorizator.getFieldPermissions(Acl.Operation.create, entity.name, column.name) === "no") {
|
|
15
15
|
return void 0;
|
|
16
16
|
}
|
|
17
|
-
const type = this.columnTypeResolver.getType(column);
|
|
17
|
+
const [type] = this.columnTypeResolver.getType(column);
|
|
18
18
|
return { type };
|
|
19
19
|
}
|
|
20
20
|
visitHasOne({ entity, relation }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateEntityInputFieldVisitor.js","sources":["../../../../../../packages/engine-content-api/src/schema/mutations/CreateEntityInputFieldVisitor.ts"],"sourcesContent":["import { GraphQLInputFieldConfig, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { CreateEntityRelationInputProvider } from './CreateEntityRelationInputProvider'\nimport { Authorizator } from '../../acl'\n\nexport class CreateEntityInputFieldVisitor implements\n\tModel.ColumnVisitor<GraphQLInputFieldConfig | undefined>,\n\tModel.RelationByGenericTypeVisitor<GraphQLInputFieldConfig | undefined> {\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly createEntityRelationInputProvider: CreateEntityRelationInputProvider,\n\t) {}\n\n\tpublic visitColumn({ entity, column }: Model.ColumnContext): GraphQLInputFieldConfig | undefined {\n\t\tif (entity.primary === column.name && !this.authorizator.isCustomPrimaryAllowed(entity.name)) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (this.authorizator.getFieldPermissions(Acl.Operation.create, entity.name, column.name) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\tconst type = this.columnTypeResolver.getType(column)\n\t\treturn { type }\n\t}\n\n\tpublic visitHasOne({ entity, relation }: Model.AnyHasOneRelationContext): GraphQLInputFieldConfig | undefined {\n\t\tconst type = this.createEntityRelationInputProvider.getCreateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn { type }\n\t}\n\n\tpublic visitHasMany({ entity, relation }: Model.AnyHasManyRelationContext): GraphQLInputFieldConfig | undefined {\n\t\tconst type = this.createEntityRelationInputProvider.getCreateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLList(new GraphQLNonNull(type)),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAMO,MAAM,8BAE4D;AAAA,EAExE,YACkB,QACA,cACA,oBACA,mCAChB;AAJgB,SAAA,SAAA;AACA,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,oCAAA;AAAA,EAAA;AAAA,EAGX,YAAY,EAAE,QAAQ,UAAoE;AAC5F,QAAA,OAAO,YAAY,OAAO,QAAQ,CAAC,KAAK,aAAa,uBAAuB,OAAO,IAAI,GAAG;AACtF,aAAA;AAAA,IAAA;AAEJ,QAAA,KAAK,aAAa,oBAAoB,IAAI,UAAU,QAAQ,OAAO,MAAM,OAAO,IAAI,MAAM,MAAM;AAC5F,aAAA;AAAA,IAAA;AAER,UAAM,
|
|
1
|
+
{"version":3,"file":"CreateEntityInputFieldVisitor.js","sources":["../../../../../../packages/engine-content-api/src/schema/mutations/CreateEntityInputFieldVisitor.ts"],"sourcesContent":["import { GraphQLInputFieldConfig, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { CreateEntityRelationInputProvider } from './CreateEntityRelationInputProvider'\nimport { Authorizator } from '../../acl'\n\nexport class CreateEntityInputFieldVisitor implements\n\tModel.ColumnVisitor<GraphQLInputFieldConfig | undefined>,\n\tModel.RelationByGenericTypeVisitor<GraphQLInputFieldConfig | undefined> {\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly createEntityRelationInputProvider: CreateEntityRelationInputProvider,\n\t) {}\n\n\tpublic visitColumn({ entity, column }: Model.ColumnContext): GraphQLInputFieldConfig | undefined {\n\t\tif (entity.primary === column.name && !this.authorizator.isCustomPrimaryAllowed(entity.name)) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (this.authorizator.getFieldPermissions(Acl.Operation.create, entity.name, column.name) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\tconst [type] = this.columnTypeResolver.getType(column)\n\t\treturn { type }\n\t}\n\n\tpublic visitHasOne({ entity, relation }: Model.AnyHasOneRelationContext): GraphQLInputFieldConfig | undefined {\n\t\tconst type = this.createEntityRelationInputProvider.getCreateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn { type }\n\t}\n\n\tpublic visitHasMany({ entity, relation }: Model.AnyHasManyRelationContext): GraphQLInputFieldConfig | undefined {\n\t\tconst type = this.createEntityRelationInputProvider.getCreateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLList(new GraphQLNonNull(type)),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAMO,MAAM,8BAE4D;AAAA,EAExE,YACkB,QACA,cACA,oBACA,mCAChB;AAJgB,SAAA,SAAA;AACA,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,oCAAA;AAAA,EAAA;AAAA,EAGX,YAAY,EAAE,QAAQ,UAAoE;AAC5F,QAAA,OAAO,YAAY,OAAO,QAAQ,CAAC,KAAK,aAAa,uBAAuB,OAAO,IAAI,GAAG;AACtF,aAAA;AAAA,IAAA;AAEJ,QAAA,KAAK,aAAa,oBAAoB,IAAI,UAAU,QAAQ,OAAO,MAAM,OAAO,IAAI,MAAM,MAAM;AAC5F,aAAA;AAAA,IAAA;AAER,UAAM,CAAC,IAAI,IAAI,KAAK,mBAAmB,QAAQ,MAAM;AACrD,WAAO,EAAE,KAAK;AAAA,EAAA;AAAA,EAGR,YAAY,EAAE,QAAQ,YAAiF;AAC7G,UAAM,OAAO,KAAK,kCAAkC,6BAA6B,OAAO,MAAM,SAAS,IAAI;AAC3G,QAAI,SAAS,QAAW;AAChB,aAAA;AAAA,IAAA;AAER,WAAO,EAAE,KAAK;AAAA,EAAA;AAAA,EAGR,aAAa,EAAE,QAAQ,YAAkF;AAC/G,UAAM,OAAO,KAAK,kCAAkC,6BAA6B,OAAO,MAAM,SAAS,IAAI;AAC3G,QAAI,SAAS,QAAW;AAChB,aAAA;AAAA,IAAA;AAED,WAAA;AAAA,MACN,MAAM,IAAI,YAAY,IAAI,eAAe,IAAI,CAAC;AAAA,IAC/C;AAAA,EAAA;AAEF;"}
|
|
@@ -15,7 +15,7 @@ class UpdateEntityInputFieldVisitor {
|
|
|
15
15
|
if (this.authorizator.getFieldPermissions(schema.Acl.Operation.update, entity.name, column.name) === "no") {
|
|
16
16
|
return void 0;
|
|
17
17
|
}
|
|
18
|
-
const type = this.columnTypeResolver.getType(column);
|
|
18
|
+
const [type] = this.columnTypeResolver.getType(column);
|
|
19
19
|
return { type };
|
|
20
20
|
}
|
|
21
21
|
visitHasOne({ entity, relation }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateEntityInputFieldVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/schema/mutations/UpdateEntityInputFieldVisitor.ts"],"sourcesContent":["import { GraphQLInputFieldConfig, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { UpdateEntityRelationInputProvider } from './UpdateEntityRelationInputProvider'\nimport { Authorizator } from '../../acl'\n\nexport class UpdateEntityInputFieldVisitor implements\n\tModel.ColumnVisitor<GraphQLInputFieldConfig | undefined>,\n\tModel.RelationByGenericTypeVisitor<GraphQLInputFieldConfig | undefined> {\n\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly updateEntityRelationInputProvider: UpdateEntityRelationInputProvider,\n\t) {}\n\n\tpublic visitColumn({ entity, column }: Model.ColumnContext) {\n\t\tif (entity.primary === column.name) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (this.authorizator.getFieldPermissions(Acl.Operation.update, entity.name, column.name) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\tconst type = this.columnTypeResolver.getType(column)\n\t\treturn { type }\n\t}\n\n\tpublic visitHasOne({ entity, relation }: Model.AnyHasOneRelationContext) {\n\t\tconst type = this.updateEntityRelationInputProvider.getUpdateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn { type }\n\t}\n\n\tpublic visitHasMany({ entity, relation }: Model.AnyHasManyRelationContext) {\n\t\tconst type = this.updateEntityRelationInputProvider.getUpdateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLList(new GraphQLNonNull(type)),\n\t\t}\n\t}\n}\n"],"names":["Acl","GraphQLList","GraphQLNonNull"],"mappings":";;;;AAMO,MAAM,8BAE4D;AAAA,EAExE,YACkB,cACA,oBACA,mCAChB;AAHgB,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,oCAAA;AAAA,EAAA;AAAA,EAGX,YAAY,EAAE,QAAQ,UAA+B;AACvD,QAAA,OAAO,YAAY,OAAO,MAAM;AAC5B,aAAA;AAAA,IAAA;AAEJ,QAAA,KAAK,aAAa,oBAAoBA,OAAI,IAAA,UAAU,QAAQ,OAAO,MAAM,OAAO,IAAI,MAAM,MAAM;AAC5F,aAAA;AAAA,IAAA;AAER,UAAM,
|
|
1
|
+
{"version":3,"file":"UpdateEntityInputFieldVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/schema/mutations/UpdateEntityInputFieldVisitor.ts"],"sourcesContent":["import { GraphQLInputFieldConfig, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { UpdateEntityRelationInputProvider } from './UpdateEntityRelationInputProvider'\nimport { Authorizator } from '../../acl'\n\nexport class UpdateEntityInputFieldVisitor implements\n\tModel.ColumnVisitor<GraphQLInputFieldConfig | undefined>,\n\tModel.RelationByGenericTypeVisitor<GraphQLInputFieldConfig | undefined> {\n\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly updateEntityRelationInputProvider: UpdateEntityRelationInputProvider,\n\t) {}\n\n\tpublic visitColumn({ entity, column }: Model.ColumnContext) {\n\t\tif (entity.primary === column.name) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (this.authorizator.getFieldPermissions(Acl.Operation.update, entity.name, column.name) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\tconst [type] = this.columnTypeResolver.getType(column)\n\t\treturn { type }\n\t}\n\n\tpublic visitHasOne({ entity, relation }: Model.AnyHasOneRelationContext) {\n\t\tconst type = this.updateEntityRelationInputProvider.getUpdateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn { type }\n\t}\n\n\tpublic visitHasMany({ entity, relation }: Model.AnyHasManyRelationContext) {\n\t\tconst type = this.updateEntityRelationInputProvider.getUpdateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLList(new GraphQLNonNull(type)),\n\t\t}\n\t}\n}\n"],"names":["Acl","GraphQLList","GraphQLNonNull"],"mappings":";;;;AAMO,MAAM,8BAE4D;AAAA,EAExE,YACkB,cACA,oBACA,mCAChB;AAHgB,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,oCAAA;AAAA,EAAA;AAAA,EAGX,YAAY,EAAE,QAAQ,UAA+B;AACvD,QAAA,OAAO,YAAY,OAAO,MAAM;AAC5B,aAAA;AAAA,IAAA;AAEJ,QAAA,KAAK,aAAa,oBAAoBA,OAAI,IAAA,UAAU,QAAQ,OAAO,MAAM,OAAO,IAAI,MAAM,MAAM;AAC5F,aAAA;AAAA,IAAA;AAER,UAAM,CAAC,IAAI,IAAI,KAAK,mBAAmB,QAAQ,MAAM;AACrD,WAAO,EAAE,KAAK;AAAA,EAAA;AAAA,EAGR,YAAY,EAAE,QAAQ,YAA4C;AACxE,UAAM,OAAO,KAAK,kCAAkC,6BAA6B,OAAO,MAAM,SAAS,IAAI;AAC3G,QAAI,SAAS,QAAW;AAChB,aAAA;AAAA,IAAA;AAER,WAAO,EAAE,KAAK;AAAA,EAAA;AAAA,EAGR,aAAa,EAAE,QAAQ,YAA6C;AAC1E,UAAM,OAAO,KAAK,kCAAkC,6BAA6B,OAAO,MAAM,SAAS,IAAI;AAC3G,QAAI,SAAS,QAAW;AAChB,aAAA;AAAA,IAAA;AAED,WAAA;AAAA,MACN,MAAM,IAAIC,QAAAA,YAAY,IAAIC,QAAAA,eAAe,IAAI,CAAC;AAAA,IAC/C;AAAA,EAAA;AAEF;;"}
|
|
@@ -13,7 +13,7 @@ class UpdateEntityInputFieldVisitor {
|
|
|
13
13
|
if (this.authorizator.getFieldPermissions(Acl.Operation.update, entity.name, column.name) === "no") {
|
|
14
14
|
return void 0;
|
|
15
15
|
}
|
|
16
|
-
const type = this.columnTypeResolver.getType(column);
|
|
16
|
+
const [type] = this.columnTypeResolver.getType(column);
|
|
17
17
|
return { type };
|
|
18
18
|
}
|
|
19
19
|
visitHasOne({ entity, relation }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateEntityInputFieldVisitor.js","sources":["../../../../../../packages/engine-content-api/src/schema/mutations/UpdateEntityInputFieldVisitor.ts"],"sourcesContent":["import { GraphQLInputFieldConfig, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { UpdateEntityRelationInputProvider } from './UpdateEntityRelationInputProvider'\nimport { Authorizator } from '../../acl'\n\nexport class UpdateEntityInputFieldVisitor implements\n\tModel.ColumnVisitor<GraphQLInputFieldConfig | undefined>,\n\tModel.RelationByGenericTypeVisitor<GraphQLInputFieldConfig | undefined> {\n\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly updateEntityRelationInputProvider: UpdateEntityRelationInputProvider,\n\t) {}\n\n\tpublic visitColumn({ entity, column }: Model.ColumnContext) {\n\t\tif (entity.primary === column.name) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (this.authorizator.getFieldPermissions(Acl.Operation.update, entity.name, column.name) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\tconst type = this.columnTypeResolver.getType(column)\n\t\treturn { type }\n\t}\n\n\tpublic visitHasOne({ entity, relation }: Model.AnyHasOneRelationContext) {\n\t\tconst type = this.updateEntityRelationInputProvider.getUpdateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn { type }\n\t}\n\n\tpublic visitHasMany({ entity, relation }: Model.AnyHasManyRelationContext) {\n\t\tconst type = this.updateEntityRelationInputProvider.getUpdateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLList(new GraphQLNonNull(type)),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAMO,MAAM,8BAE4D;AAAA,EAExE,YACkB,cACA,oBACA,mCAChB;AAHgB,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,oCAAA;AAAA,EAAA;AAAA,EAGX,YAAY,EAAE,QAAQ,UAA+B;AACvD,QAAA,OAAO,YAAY,OAAO,MAAM;AAC5B,aAAA;AAAA,IAAA;AAEJ,QAAA,KAAK,aAAa,oBAAoB,IAAI,UAAU,QAAQ,OAAO,MAAM,OAAO,IAAI,MAAM,MAAM;AAC5F,aAAA;AAAA,IAAA;AAER,UAAM,
|
|
1
|
+
{"version":3,"file":"UpdateEntityInputFieldVisitor.js","sources":["../../../../../../packages/engine-content-api/src/schema/mutations/UpdateEntityInputFieldVisitor.ts"],"sourcesContent":["import { GraphQLInputFieldConfig, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { UpdateEntityRelationInputProvider } from './UpdateEntityRelationInputProvider'\nimport { Authorizator } from '../../acl'\n\nexport class UpdateEntityInputFieldVisitor implements\n\tModel.ColumnVisitor<GraphQLInputFieldConfig | undefined>,\n\tModel.RelationByGenericTypeVisitor<GraphQLInputFieldConfig | undefined> {\n\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly updateEntityRelationInputProvider: UpdateEntityRelationInputProvider,\n\t) {}\n\n\tpublic visitColumn({ entity, column }: Model.ColumnContext) {\n\t\tif (entity.primary === column.name) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (this.authorizator.getFieldPermissions(Acl.Operation.update, entity.name, column.name) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\tconst [type] = this.columnTypeResolver.getType(column)\n\t\treturn { type }\n\t}\n\n\tpublic visitHasOne({ entity, relation }: Model.AnyHasOneRelationContext) {\n\t\tconst type = this.updateEntityRelationInputProvider.getUpdateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn { type }\n\t}\n\n\tpublic visitHasMany({ entity, relation }: Model.AnyHasManyRelationContext) {\n\t\tconst type = this.updateEntityRelationInputProvider.getUpdateEntityRelationInput(entity.name, relation.name)\n\t\tif (type === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLList(new GraphQLNonNull(type)),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAMO,MAAM,8BAE4D;AAAA,EAExE,YACkB,cACA,oBACA,mCAChB;AAHgB,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,oCAAA;AAAA,EAAA;AAAA,EAGX,YAAY,EAAE,QAAQ,UAA+B;AACvD,QAAA,OAAO,YAAY,OAAO,MAAM;AAC5B,aAAA;AAAA,IAAA;AAEJ,QAAA,KAAK,aAAa,oBAAoB,IAAI,UAAU,QAAQ,OAAO,MAAM,OAAO,IAAI,MAAM,MAAM;AAC5F,aAAA;AAAA,IAAA;AAER,UAAM,CAAC,IAAI,IAAI,KAAK,mBAAmB,QAAQ,MAAM;AACrD,WAAO,EAAE,KAAK;AAAA,EAAA;AAAA,EAGR,YAAY,EAAE,QAAQ,YAA4C;AACxE,UAAM,OAAO,KAAK,kCAAkC,6BAA6B,OAAO,MAAM,SAAS,IAAI;AAC3G,QAAI,SAAS,QAAW;AAChB,aAAA;AAAA,IAAA;AAER,WAAO,EAAE,KAAK;AAAA,EAAA;AAAA,EAGR,aAAa,EAAE,QAAQ,YAA6C;AAC1E,UAAM,OAAO,KAAK,kCAAkC,6BAA6B,OAAO,MAAM,SAAS,IAAI;AAC3G,QAAI,SAAS,QAAW;AAChB,aAAA;AAAA,IAAA;AAED,WAAA;AAAA,MACN,MAAM,IAAI,YAAY,IAAI,eAAe,IAAI,CAAC;AAAA,IAC/C;AAAA,EAAA;AAEF;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const crypto = require("node:crypto");
|
|
4
|
+
const viewComputedId = (inputs) => {
|
|
5
|
+
let uuidBytes;
|
|
6
|
+
uuidBytes = crypto.createHash("md5").update(inputs.join("\0")).digest();
|
|
7
|
+
uuidBytes[6] = uuidBytes[6] & 15 | 128;
|
|
8
|
+
uuidBytes[8] = uuidBytes[8] & 63 | 128;
|
|
9
|
+
return formatUUID(uuidBytes);
|
|
10
|
+
};
|
|
11
|
+
const formatUUID = (buf) => {
|
|
12
|
+
const hex = buf.toString("hex");
|
|
13
|
+
return hex.substring(0, 8) + "-" + hex.substring(8, 12) + "-" + hex.substring(12, 16) + "-" + hex.substring(16, 20) + "-" + hex.substring(20);
|
|
14
|
+
};
|
|
15
|
+
exports.viewComputedId = viewComputedId;
|
|
16
|
+
//# sourceMappingURL=viewComputedId.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewComputedId.cjs","sources":["../../../../../packages/engine-content-api/src/utils/viewComputedId.ts"],"sourcesContent":["import crypto from 'node:crypto'\n\nexport const viewComputedId = (inputs: (string)[]): string => {\n\tlet uuidBytes: Buffer\n\tuuidBytes = crypto.createHash('md5').update(inputs.join('\\x00')).digest()\n\n\t// Set the version (v8) in the high nibble of byte 6.\n\tuuidBytes[6] = (uuidBytes[6] & 0x0f) | 0x80 // 0x80 = 1000 0000 (version 8)\n\n\t// Set the variant (RFC 4122) in byte 8.\n\tuuidBytes[8] = (uuidBytes[8] & 0x3f) | 0x80\n\n\treturn formatUUID(uuidBytes)\n}\n\nconst formatUUID = (buf: Buffer): string => {\n\tconst hex = buf.toString('hex')\n\treturn hex.substring(0, 8)\n\t\t+ '-' + hex.substring(8, 12)\n\t\t+ '-' + hex.substring(12, 16)\n\t\t+ '-' + hex.substring(16, 20)\n\t\t+ '-' + hex.substring(20)\n}\n"],"names":[],"mappings":";;;AAEa,MAAA,iBAAiB,CAAC,WAA+B;AACzD,MAAA;AACQ,cAAA,OAAO,WAAW,KAAK,EAAE,OAAO,OAAO,KAAK,IAAM,CAAC,EAAE,OAAO;AAGxE,YAAU,CAAC,IAAK,UAAU,CAAC,IAAI,KAAQ;AAGvC,YAAU,CAAC,IAAK,UAAU,CAAC,IAAI,KAAQ;AAEvC,SAAO,WAAW,SAAS;AAC5B;AAEA,MAAM,aAAa,CAAC,QAAwB;AACrC,QAAA,MAAM,IAAI,SAAS,KAAK;AACvB,SAAA,IAAI,UAAU,GAAG,CAAC,IACtB,MAAM,IAAI,UAAU,GAAG,EAAE,IACzB,MAAM,IAAI,UAAU,IAAI,EAAE,IAC1B,MAAM,IAAI,UAAU,IAAI,EAAE,IAC1B,MAAM,IAAI,UAAU,EAAE;AAC1B;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import crypto__default from "node:crypto";
|
|
2
|
+
const viewComputedId = (inputs) => {
|
|
3
|
+
let uuidBytes;
|
|
4
|
+
uuidBytes = crypto__default.createHash("md5").update(inputs.join("\0")).digest();
|
|
5
|
+
uuidBytes[6] = uuidBytes[6] & 15 | 128;
|
|
6
|
+
uuidBytes[8] = uuidBytes[8] & 63 | 128;
|
|
7
|
+
return formatUUID(uuidBytes);
|
|
8
|
+
};
|
|
9
|
+
const formatUUID = (buf) => {
|
|
10
|
+
const hex = buf.toString("hex");
|
|
11
|
+
return hex.substring(0, 8) + "-" + hex.substring(8, 12) + "-" + hex.substring(12, 16) + "-" + hex.substring(16, 20) + "-" + hex.substring(20);
|
|
12
|
+
};
|
|
13
|
+
export {
|
|
14
|
+
viewComputedId
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=viewComputedId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewComputedId.js","sources":["../../../../../packages/engine-content-api/src/utils/viewComputedId.ts"],"sourcesContent":["import crypto from 'node:crypto'\n\nexport const viewComputedId = (inputs: (string)[]): string => {\n\tlet uuidBytes: Buffer\n\tuuidBytes = crypto.createHash('md5').update(inputs.join('\\x00')).digest()\n\n\t// Set the version (v8) in the high nibble of byte 6.\n\tuuidBytes[6] = (uuidBytes[6] & 0x0f) | 0x80 // 0x80 = 1000 0000 (version 8)\n\n\t// Set the variant (RFC 4122) in byte 8.\n\tuuidBytes[8] = (uuidBytes[8] & 0x3f) | 0x80\n\n\treturn formatUUID(uuidBytes)\n}\n\nconst formatUUID = (buf: Buffer): string => {\n\tconst hex = buf.toString('hex')\n\treturn hex.substring(0, 8)\n\t\t+ '-' + hex.substring(8, 12)\n\t\t+ '-' + hex.substring(12, 16)\n\t\t+ '-' + hex.substring(16, 20)\n\t\t+ '-' + hex.substring(20)\n}\n"],"names":["crypto"],"mappings":";AAEa,MAAA,iBAAiB,CAAC,WAA+B;AACzD,MAAA;AACQ,cAAAA,gBAAO,WAAW,KAAK,EAAE,OAAO,OAAO,KAAK,IAAM,CAAC,EAAE,OAAO;AAGxE,YAAU,CAAC,IAAK,UAAU,CAAC,IAAI,KAAQ;AAGvC,YAAU,CAAC,IAAK,UAAU,CAAC,IAAI,KAAQ;AAEvC,SAAO,WAAW,SAAS;AAC5B;AAEA,MAAM,aAAa,CAAC,QAAwB;AACrC,QAAA,MAAM,IAAI,SAAS,KAAK;AACvB,SAAA,IAAI,UAAU,GAAG,CAAC,IACtB,MAAM,IAAI,UAAU,GAAG,EAAE,IACzB,MAAM,IAAI,UAAU,IAAI,EAAE,IAC1B,MAAM,IAAI,UAAU,IAAI,EAAE,IAC1B,MAAM,IAAI,UAAU,EAAE;AAC1B;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../tests/cases/integration/graphQlRequests/validation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAmB,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAGhF,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;IACrB,EAAE,EAAE,KAAK,CAAC,WAAW,CAAA;IACrB,IAAI,EAAE,KAAK,CAAC,eAAe,CAAA;IAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,EAAE,CAAA;CAC3C;AA0BD,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../tests/cases/integration/graphQlRequests/validation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAmB,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAGhF,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;IACrB,EAAE,EAAE,KAAK,CAAC,WAAW,CAAA;IACrB,IAAI,EAAE,KAAK,CAAC,eAAe,CAAA;IAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,EAAE,CAAA;CAC3C;AA0BD,eAAO,MAAM,UAAU,GAAU,MAAM,UAAU,kBAwBhD,CAAA;AAED,UAAU,UAAU;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;IACrB,IAAI,EAAE,KAAK,CAAC,eAAe,CAAA;IAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,EAAE,CAAA;CAC3C;AAED,eAAO,MAAM,UAAU,GAAU,MAAM,UAAU,kBAwBhD,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,KAAG,MAQ5F,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../tests/src/tags.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../tests/src/tags.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,GAAG,GAAI,SAAS,oBAAoB,EAAE,GAAG,QAAQ,MAAM,EAAE,WAG7D,CAAA;AACT,eAAO,MAAM,GAAG,YAVsB,oBAAoB,aAAa,MAAM,EAAE,WAUzC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../tests/src/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAU,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAQlE,MAAM,WAAW,QAAQ;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,GAAG,EAAE,CAAA;IAClB,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;CACrB;AAED,MAAM,WAAW,IAAI;IACpB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC,MAAM,CAAA;IAC9B,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAA;IAC7B,SAAS,CAAC,EAAE,GAAG,CAAC,YAAY,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACpC,QAAQ,EAAE,QAAQ,EAAE,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACd;AAaD,eAAO,MAAM,qBAAqB,EAAE,QAAQ,EAW3C,CAAA;AAED,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../tests/src/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAU,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAQlE,MAAM,WAAW,QAAQ;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,GAAG,EAAE,CAAA;IAClB,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;CACrB;AAED,MAAM,WAAW,IAAI;IACpB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC,MAAM,CAAA;IAC9B,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAA;IAC7B,SAAS,CAAC,EAAE,GAAG,CAAC,YAAY,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACpC,QAAQ,EAAE,QAAQ,EAAE,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACd;AAaD,eAAO,MAAM,qBAAqB,EAAE,QAAQ,EAW3C,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,UAAU,QAAQ,EAAE,KAAG,QAAQ,EAW7D,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,UAAU,QAAQ,EAAE,KAAG,QAAQ,EAWhE,CAAA;AAED,eAAO,MAAM,OAAO,GAAU,MAAM,IAAI,kBAgDvC,CAAA"}
|