@contember/engine-system-api 2.1.0-beta.2 → 2.2.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/CLAUDE.md +16 -2
- package/dist/development/src/SystemContainer.cjs.map +1 -1
- package/dist/development/src/SystemContainer.js.map +1 -1
- package/dist/development/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -1
- package/dist/development/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -1
- package/dist/development/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -1
- package/dist/development/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -1
- package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -1
- package/dist/development/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -1
- package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -1
- package/dist/development/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -1
- package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -1
- package/dist/development/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -1
- package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -1
- package/dist/development/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -1
- package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -1
- package/dist/development/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -1
- package/dist/development/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -1
- package/dist/development/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -1
- package/dist/development/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -1
- package/dist/development/src/migrations/2024-06-28-153001-schema-init.js.map +1 -1
- package/dist/development/src/migrations/2025-03-14-110000-fix-missing-index.cjs.map +1 -1
- package/dist/development/src/migrations/2025-03-14-110000-fix-missing-index.js.map +1 -1
- package/dist/development/src/migrations/2026-06-01-120000-event-truncate.cjs +13 -0
- package/dist/development/src/migrations/2026-06-01-120000-event-truncate.cjs.map +1 -0
- package/dist/development/src/migrations/2026-06-01-120000-event-truncate.js +14 -0
- package/dist/development/src/migrations/2026-06-01-120000-event-truncate.js.map +1 -0
- package/dist/development/src/migrations/runner.cjs +3 -1
- package/dist/development/src/migrations/runner.cjs.map +1 -1
- package/dist/development/src/migrations/runner.js +3 -1
- package/dist/development/src/migrations/runner.js.map +1 -1
- package/dist/development/src/migrations/snapshot-factory.cjs.map +1 -1
- package/dist/development/src/migrations/snapshot-factory.js.map +1 -1
- package/dist/development/src/migrations/snapshot.cjs +5 -4
- package/dist/development/src/migrations/snapshot.cjs.map +1 -1
- package/dist/development/src/migrations/snapshot.js +5 -4
- package/dist/development/src/migrations/snapshot.js.map +1 -1
- package/dist/development/src/model/ProjectInitializer.cjs.map +1 -1
- package/dist/development/src/model/ProjectInitializer.js.map +1 -1
- package/dist/development/src/model/ProjectTruncateExecutor.cjs +3 -3
- package/dist/development/src/model/ProjectTruncateExecutor.cjs.map +1 -1
- package/dist/development/src/model/ProjectTruncateExecutor.js +3 -3
- package/dist/development/src/model/ProjectTruncateExecutor.js.map +1 -1
- package/dist/development/src/model/authorization/PermissionsFactory.cjs.map +1 -1
- package/dist/development/src/model/authorization/PermissionsFactory.js.map +1 -1
- package/dist/development/src/model/authorization/StagePermissionsFactory.cjs.map +1 -1
- package/dist/development/src/model/authorization/StagePermissionsFactory.js.map +1 -1
- package/dist/development/src/model/authorization/StageScope.cjs.map +1 -1
- package/dist/development/src/model/authorization/StageScope.js.map +1 -1
- package/dist/development/src/model/commands/CommandBus.cjs.map +1 -1
- package/dist/development/src/model/commands/CommandBus.js.map +1 -1
- package/dist/development/src/model/commands/events/TruncateEventsCommand.cjs +25 -2
- package/dist/development/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -1
- package/dist/development/src/model/commands/events/TruncateEventsCommand.js +26 -3
- package/dist/development/src/model/commands/events/TruncateEventsCommand.js.map +1 -1
- package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -1
- package/dist/development/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -1
- package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -1
- package/dist/development/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
- package/dist/development/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -1
- package/dist/development/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
- package/dist/development/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -1
- package/dist/development/src/model/commands/schema/SaveSchemaCommand.js.map +1 -1
- package/dist/development/src/model/commands/stages/CreateStageCommand.cjs.map +1 -1
- package/dist/development/src/model/commands/stages/CreateStageCommand.js.map +1 -1
- package/dist/development/src/model/database/DatabaseContext.cjs.map +1 -1
- package/dist/development/src/model/database/DatabaseContext.js.map +1 -1
- package/dist/development/src/model/events/EventResponseBuilder.cjs +6 -1
- package/dist/development/src/model/events/EventResponseBuilder.cjs.map +1 -1
- package/dist/development/src/model/events/EventResponseBuilder.js +6 -1
- package/dist/development/src/model/events/EventResponseBuilder.js.map +1 -1
- package/dist/development/src/model/events/EventResponseHelper.cjs.map +1 -1
- package/dist/development/src/model/events/EventResponseHelper.js.map +1 -1
- package/dist/development/src/model/events/identityUtils.cjs.map +1 -1
- package/dist/development/src/model/events/identityUtils.js.map +1 -1
- package/dist/development/src/model/events/types.cjs +17 -0
- package/dist/development/src/model/events/types.cjs.map +1 -1
- package/dist/development/src/model/events/types.js +17 -0
- package/dist/development/src/model/events/types.js.map +1 -1
- package/dist/development/src/model/helpers/stageHelpers.cjs.map +1 -1
- package/dist/development/src/model/helpers/stageHelpers.js.map +1 -1
- package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -1
- package/dist/development/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -1
- package/dist/development/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -1
- package/dist/development/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -1
- package/dist/development/src/model/migrations/MigrationAlterer.cjs.map +1 -1
- package/dist/development/src/model/migrations/MigrationAlterer.js.map +1 -1
- package/dist/development/src/model/migrations/ProjectMigrator.cjs +94 -5
- package/dist/development/src/model/migrations/ProjectMigrator.cjs.map +1 -1
- package/dist/development/src/model/migrations/ProjectMigrator.js +96 -7
- package/dist/development/src/model/migrations/ProjectMigrator.js.map +1 -1
- package/dist/development/src/model/migrations/SchemaProvider.cjs.map +1 -1
- package/dist/development/src/model/migrations/SchemaProvider.js.map +1 -1
- package/dist/development/src/model/queries/events/EventQueryHelpers.cjs +16 -8
- package/dist/development/src/model/queries/events/EventQueryHelpers.cjs.map +1 -1
- package/dist/development/src/model/queries/events/EventQueryHelpers.js +17 -9
- package/dist/development/src/model/queries/events/EventQueryHelpers.js.map +1 -1
- package/dist/development/src/model/queries/events/EventsQuery.cjs.map +1 -1
- package/dist/development/src/model/queries/events/EventsQuery.js.map +1 -1
- package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -1
- package/dist/development/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
- package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -1
- package/dist/development/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
- package/dist/development/src/model/queries/migrations/ExecutedMigrationsQueryHelper.cjs.map +1 -1
- package/dist/development/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js.map +1 -1
- package/dist/development/src/model/queries/schema/SchemaQuery.cjs.map +1 -1
- package/dist/development/src/model/queries/schema/SchemaQuery.js.map +1 -1
- package/dist/development/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
- package/dist/development/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
- package/dist/development/src/model/queries/stages/StageQueryFactory.cjs.map +1 -1
- package/dist/development/src/model/queries/stages/StageQueryFactory.js.map +1 -1
- package/dist/development/src/model/queries/stages/StagesQuery.cjs.map +1 -1
- package/dist/development/src/model/queries/stages/StagesQuery.js.map +1 -1
- package/dist/development/src/model/stages/StageCreator.cjs.map +1 -1
- package/dist/development/src/model/stages/StageCreator.js.map +1 -1
- package/dist/development/src/resolvers/ResolverFactory.cjs +4 -1
- package/dist/development/src/resolvers/ResolverFactory.cjs.map +1 -1
- package/dist/development/src/resolvers/ResolverFactory.js +4 -1
- package/dist/development/src/resolvers/ResolverFactory.js.map +1 -1
- package/dist/development/src/resolvers/SystemResolverContext.cjs.map +1 -1
- package/dist/development/src/resolvers/SystemResolverContext.js.map +1 -1
- package/dist/development/src/resolvers/mutation/MigrateMutationResolver.cjs +49 -1
- package/dist/development/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/MigrateMutationResolver.js +49 -1
- package/dist/development/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/TruncateMutationResolver.cjs +1 -1
- package/dist/development/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/TruncateMutationResolver.js +1 -1
- package/dist/development/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/query/EventsQueryResolver.js.map +1 -1
- package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
- package/dist/development/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/query/SchemaQueryResolver.js.map +1 -1
- package/dist/development/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/query/StagesQueryResolver.js.map +1 -1
- package/dist/development/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
- package/dist/development/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
- package/dist/development/src/resolvers/types/OldValuesHelpers.js.map +1 -1
- package/dist/development/src/schema/dev.graphql.cjs +1 -1
- package/dist/development/src/schema/dev.graphql.cjs.map +1 -1
- package/dist/development/src/schema/dev.graphql.js +1 -1
- package/dist/development/src/schema/dev.graphql.js.map +1 -1
- package/dist/development/src/schema/system.graphql.cjs +39 -3
- package/dist/development/src/schema/system.graphql.cjs.map +1 -1
- package/dist/development/src/schema/system.graphql.js +39 -3
- package/dist/development/src/schema/system.graphql.js.map +1 -1
- package/dist/development/src/schema/types.cjs +2 -0
- package/dist/development/src/schema/types.cjs.map +1 -1
- package/dist/development/src/schema/types.js +2 -0
- package/dist/development/src/schema/types.js.map +1 -1
- package/dist/development/src/utils/batchQuery.cjs.map +1 -1
- package/dist/development/src/utils/batchQuery.js.map +1 -1
- package/dist/production/src/SystemContainer.cjs.map +1 -1
- package/dist/production/src/SystemContainer.js.map +1 -1
- package/dist/production/src/migrations/2020-03-27-130000-project-migrations.cjs.map +1 -1
- package/dist/production/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -1
- package/dist/production/src/migrations/2020-05-06-150000-composed-primary.cjs.map +1 -1
- package/dist/production/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -1
- package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.cjs.map +1 -1
- package/dist/production/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -1
- package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.cjs.map +1 -1
- package/dist/production/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -1
- package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.cjs.map +1 -1
- package/dist/production/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -1
- package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.cjs.map +1 -1
- package/dist/production/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -1
- package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.cjs.map +1 -1
- package/dist/production/src/migrations/2023-09-11-174000-fix-on-delete.js.map +1 -1
- package/dist/production/src/migrations/2023-10-19-173000-fix-unique.cjs.map +1 -1
- package/dist/production/src/migrations/2023-10-19-173000-fix-unique.js.map +1 -1
- package/dist/production/src/migrations/2024-06-28-153001-schema-init.cjs.map +1 -1
- package/dist/production/src/migrations/2024-06-28-153001-schema-init.js.map +1 -1
- package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.cjs.map +1 -1
- package/dist/production/src/migrations/2025-03-14-110000-fix-missing-index.js.map +1 -1
- package/dist/production/src/migrations/2026-06-01-120000-event-truncate.cjs +13 -0
- package/dist/production/src/migrations/2026-06-01-120000-event-truncate.cjs.map +1 -0
- package/dist/production/src/migrations/2026-06-01-120000-event-truncate.js +14 -0
- package/dist/production/src/migrations/2026-06-01-120000-event-truncate.js.map +1 -0
- package/dist/production/src/migrations/runner.cjs +3 -1
- package/dist/production/src/migrations/runner.cjs.map +1 -1
- package/dist/production/src/migrations/runner.js +3 -1
- package/dist/production/src/migrations/runner.js.map +1 -1
- package/dist/production/src/migrations/snapshot-factory.cjs.map +1 -1
- package/dist/production/src/migrations/snapshot-factory.js.map +1 -1
- package/dist/production/src/migrations/snapshot.cjs +5 -4
- package/dist/production/src/migrations/snapshot.cjs.map +1 -1
- package/dist/production/src/migrations/snapshot.js +5 -4
- package/dist/production/src/migrations/snapshot.js.map +1 -1
- package/dist/production/src/model/ProjectInitializer.cjs.map +1 -1
- package/dist/production/src/model/ProjectInitializer.js.map +1 -1
- package/dist/production/src/model/ProjectTruncateExecutor.cjs +3 -3
- package/dist/production/src/model/ProjectTruncateExecutor.cjs.map +1 -1
- package/dist/production/src/model/ProjectTruncateExecutor.js +3 -3
- package/dist/production/src/model/ProjectTruncateExecutor.js.map +1 -1
- package/dist/production/src/model/authorization/PermissionsFactory.cjs.map +1 -1
- package/dist/production/src/model/authorization/PermissionsFactory.js.map +1 -1
- package/dist/production/src/model/authorization/StagePermissionsFactory.cjs.map +1 -1
- package/dist/production/src/model/authorization/StagePermissionsFactory.js.map +1 -1
- package/dist/production/src/model/authorization/StageScope.cjs.map +1 -1
- package/dist/production/src/model/authorization/StageScope.js.map +1 -1
- package/dist/production/src/model/commands/CommandBus.cjs.map +1 -1
- package/dist/production/src/model/commands/CommandBus.js.map +1 -1
- package/dist/production/src/model/commands/events/TruncateEventsCommand.cjs +25 -2
- package/dist/production/src/model/commands/events/TruncateEventsCommand.cjs.map +1 -1
- package/dist/production/src/model/commands/events/TruncateEventsCommand.js +26 -3
- package/dist/production/src/model/commands/events/TruncateEventsCommand.js.map +1 -1
- package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.cjs.map +1 -1
- package/dist/production/src/model/commands/migrations/DeleteMigrationCommand.js.map +1 -1
- package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.cjs.map +1 -1
- package/dist/production/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
- package/dist/production/src/model/commands/migrations/SaveMigrationCommand.cjs.map +1 -1
- package/dist/production/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
- package/dist/production/src/model/commands/schema/SaveSchemaCommand.cjs.map +1 -1
- package/dist/production/src/model/commands/schema/SaveSchemaCommand.js.map +1 -1
- package/dist/production/src/model/commands/stages/CreateStageCommand.cjs.map +1 -1
- package/dist/production/src/model/commands/stages/CreateStageCommand.js.map +1 -1
- package/dist/production/src/model/database/DatabaseContext.cjs.map +1 -1
- package/dist/production/src/model/database/DatabaseContext.js.map +1 -1
- package/dist/production/src/model/events/EventResponseBuilder.cjs +6 -1
- package/dist/production/src/model/events/EventResponseBuilder.cjs.map +1 -1
- package/dist/production/src/model/events/EventResponseBuilder.js +6 -1
- package/dist/production/src/model/events/EventResponseBuilder.js.map +1 -1
- package/dist/production/src/model/events/EventResponseHelper.cjs.map +1 -1
- package/dist/production/src/model/events/EventResponseHelper.js.map +1 -1
- package/dist/production/src/model/events/identityUtils.cjs.map +1 -1
- package/dist/production/src/model/events/identityUtils.js.map +1 -1
- package/dist/production/src/model/events/types.cjs +17 -0
- package/dist/production/src/model/events/types.cjs.map +1 -1
- package/dist/production/src/model/events/types.js +17 -0
- package/dist/production/src/model/events/types.js.map +1 -1
- package/dist/production/src/model/helpers/stageHelpers.cjs.map +1 -1
- package/dist/production/src/model/helpers/stageHelpers.js.map +1 -1
- package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.cjs.map +1 -1
- package/dist/production/src/model/metadata/SchemaDatabaseMetadataResolverStore.js.map +1 -1
- package/dist/production/src/model/migrations/ExecutedMigrationsResolver.cjs.map +1 -1
- package/dist/production/src/model/migrations/ExecutedMigrationsResolver.js.map +1 -1
- package/dist/production/src/model/migrations/MigrationAlterer.cjs.map +1 -1
- package/dist/production/src/model/migrations/MigrationAlterer.js.map +1 -1
- package/dist/production/src/model/migrations/ProjectMigrator.cjs +94 -5
- package/dist/production/src/model/migrations/ProjectMigrator.cjs.map +1 -1
- package/dist/production/src/model/migrations/ProjectMigrator.js +96 -7
- package/dist/production/src/model/migrations/ProjectMigrator.js.map +1 -1
- package/dist/production/src/model/migrations/SchemaProvider.cjs.map +1 -1
- package/dist/production/src/model/migrations/SchemaProvider.js.map +1 -1
- package/dist/production/src/model/queries/events/EventQueryHelpers.cjs +16 -8
- package/dist/production/src/model/queries/events/EventQueryHelpers.cjs.map +1 -1
- package/dist/production/src/model/queries/events/EventQueryHelpers.js +17 -9
- package/dist/production/src/model/queries/events/EventQueryHelpers.js.map +1 -1
- package/dist/production/src/model/queries/events/EventsQuery.cjs.map +1 -1
- package/dist/production/src/model/queries/events/EventsQuery.js.map +1 -1
- package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.cjs.map +1 -1
- package/dist/production/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
- package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.cjs.map +1 -1
- package/dist/production/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
- package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.cjs.map +1 -1
- package/dist/production/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js.map +1 -1
- package/dist/production/src/model/queries/schema/SchemaQuery.cjs.map +1 -1
- package/dist/production/src/model/queries/schema/SchemaQuery.js.map +1 -1
- package/dist/production/src/model/queries/stages/StageBySlugQuery.cjs.map +1 -1
- package/dist/production/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
- package/dist/production/src/model/queries/stages/StageQueryFactory.cjs.map +1 -1
- package/dist/production/src/model/queries/stages/StageQueryFactory.js.map +1 -1
- package/dist/production/src/model/queries/stages/StagesQuery.cjs.map +1 -1
- package/dist/production/src/model/queries/stages/StagesQuery.js.map +1 -1
- package/dist/production/src/model/stages/StageCreator.cjs.map +1 -1
- package/dist/production/src/model/stages/StageCreator.js.map +1 -1
- package/dist/production/src/resolvers/ResolverFactory.cjs +4 -1
- package/dist/production/src/resolvers/ResolverFactory.cjs.map +1 -1
- package/dist/production/src/resolvers/ResolverFactory.js +4 -1
- package/dist/production/src/resolvers/ResolverFactory.js.map +1 -1
- package/dist/production/src/resolvers/SystemResolverContext.cjs.map +1 -1
- package/dist/production/src/resolvers/SystemResolverContext.js.map +1 -1
- package/dist/production/src/resolvers/mutation/MigrateMutationResolver.cjs +49 -1
- package/dist/production/src/resolvers/mutation/MigrateMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/MigrateMutationResolver.js +49 -1
- package/dist/production/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/TruncateMutationResolver.cjs +1 -1
- package/dist/production/src/resolvers/mutation/TruncateMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/TruncateMutationResolver.js +1 -1
- package/dist/production/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/query/EventsQueryResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/query/EventsQueryResolver.js.map +1 -1
- package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
- package/dist/production/src/resolvers/query/SchemaQueryResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/query/SchemaQueryResolver.js.map +1 -1
- package/dist/production/src/resolvers/query/StagesQueryResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/query/StagesQueryResolver.js.map +1 -1
- package/dist/production/src/resolvers/types/EventOldValuesResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
- package/dist/production/src/resolvers/types/OldValuesHelpers.cjs.map +1 -1
- package/dist/production/src/resolvers/types/OldValuesHelpers.js.map +1 -1
- package/dist/production/src/schema/dev.graphql.cjs +1 -1
- package/dist/production/src/schema/dev.graphql.cjs.map +1 -1
- package/dist/production/src/schema/dev.graphql.js +1 -1
- package/dist/production/src/schema/dev.graphql.js.map +1 -1
- package/dist/production/src/schema/system.graphql.cjs +39 -3
- package/dist/production/src/schema/system.graphql.cjs.map +1 -1
- package/dist/production/src/schema/system.graphql.js +39 -3
- package/dist/production/src/schema/system.graphql.js.map +1 -1
- package/dist/production/src/schema/types.cjs +2 -0
- package/dist/production/src/schema/types.cjs.map +1 -1
- package/dist/production/src/schema/types.js +2 -0
- package/dist/production/src/schema/types.js.map +1 -1
- package/dist/production/src/utils/batchQuery.cjs.map +1 -1
- package/dist/production/src/utils/batchQuery.js.map +1 -1
- package/dist/tests/cases/unit/projectMigratorSchemaState.test.d.ts +2 -0
- package/dist/tests/cases/unit/projectMigratorSchemaState.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/truncateEventsCommand.test.d.ts +2 -0
- package/dist/tests/cases/unit/truncateEventsCommand.test.d.ts.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/SystemContainer.d.ts +6 -6
- package/dist/types/SystemContainer.d.ts.map +1 -1
- package/dist/types/index.d.ts +7 -7
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/migrations/2020-03-27-130000-project-migrations.d.ts +1 -1
- package/dist/types/migrations/2020-03-27-130000-project-migrations.d.ts.map +1 -1
- package/dist/types/migrations/2020-05-06-150000-composed-primary.d.ts +1 -1
- package/dist/types/migrations/2020-05-06-150000-composed-primary.d.ts.map +1 -1
- package/dist/types/migrations/2020-06-01-103000-event-trigger-perf.d.ts +1 -1
- package/dist/types/migrations/2020-06-01-103000-event-trigger-perf.d.ts.map +1 -1
- package/dist/types/migrations/2021-05-07-155800-event-log-rework.d.ts +1 -1
- package/dist/types/migrations/2021-05-07-155800-event-log-rework.d.ts.map +1 -1
- package/dist/types/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts +1 -1
- package/dist/types/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts.map +1 -1
- package/dist/types/migrations/2022-10-03-110000-table-on-delete.d.ts +1 -1
- package/dist/types/migrations/2022-10-03-110000-table-on-delete.d.ts.map +1 -1
- package/dist/types/migrations/2023-09-11-174000-fix-on-delete.d.ts +1 -1
- package/dist/types/migrations/2023-09-11-174000-fix-on-delete.d.ts.map +1 -1
- package/dist/types/migrations/2023-10-19-173000-fix-unique.d.ts +1 -1
- package/dist/types/migrations/2023-10-19-173000-fix-unique.d.ts.map +1 -1
- package/dist/types/migrations/2024-06-28-153001-schema-init.d.ts +1 -1
- package/dist/types/migrations/2024-06-28-153001-schema-init.d.ts.map +1 -1
- package/dist/types/migrations/2025-03-14-110000-fix-missing-index.d.ts +1 -1
- package/dist/types/migrations/2025-03-14-110000-fix-missing-index.d.ts.map +1 -1
- package/dist/types/migrations/2026-06-01-120000-event-truncate.d.ts +3 -0
- package/dist/types/migrations/2026-06-01-120000-event-truncate.d.ts.map +1 -0
- package/dist/types/migrations/index.d.ts +2 -2
- package/dist/types/migrations/index.d.ts.map +1 -1
- package/dist/types/migrations/runner.d.ts +2 -2
- package/dist/types/migrations/runner.d.ts.map +1 -1
- package/dist/types/migrations/snapshot-factory.d.ts +1 -1
- package/dist/types/migrations/snapshot-factory.d.ts.map +1 -1
- package/dist/types/migrations/snapshot.d.ts +1 -1
- package/dist/types/migrations/snapshot.d.ts.map +1 -1
- package/dist/types/migrations/types.d.ts +2 -2
- package/dist/types/migrations/types.d.ts.map +1 -1
- package/dist/types/model/ProjectInitializer.d.ts +4 -4
- package/dist/types/model/ProjectInitializer.d.ts.map +1 -1
- package/dist/types/model/ProjectTruncateExecutor.d.ts +3 -3
- package/dist/types/model/ProjectTruncateExecutor.d.ts.map +1 -1
- package/dist/types/model/authorization/StagePermissionsFactory.d.ts +1 -1
- package/dist/types/model/authorization/StagePermissionsFactory.d.ts.map +1 -1
- package/dist/types/model/authorization/StageScope.d.ts +2 -2
- package/dist/types/model/authorization/StageScope.d.ts.map +1 -1
- package/dist/types/model/authorization/index.d.ts +3 -3
- package/dist/types/model/authorization/index.d.ts.map +1 -1
- package/dist/types/model/commands/Command.d.ts +2 -2
- package/dist/types/model/commands/Command.d.ts.map +1 -1
- package/dist/types/model/commands/CommandBus.d.ts +2 -2
- package/dist/types/model/commands/CommandBus.d.ts.map +1 -1
- package/dist/types/model/commands/events/TruncateEventsCommand.d.ts +12 -3
- package/dist/types/model/commands/events/TruncateEventsCommand.d.ts.map +1 -1
- package/dist/types/model/commands/events/index.d.ts +1 -1
- package/dist/types/model/commands/events/index.d.ts.map +1 -1
- package/dist/types/model/commands/index.d.ts +5 -5
- package/dist/types/model/commands/index.d.ts.map +1 -1
- package/dist/types/model/commands/migrations/DeleteMigrationCommand.d.ts +1 -1
- package/dist/types/model/commands/migrations/DeleteMigrationCommand.d.ts.map +1 -1
- package/dist/types/model/commands/migrations/ModifyMigrationCommand.d.ts +1 -1
- package/dist/types/model/commands/migrations/ModifyMigrationCommand.d.ts.map +1 -1
- package/dist/types/model/commands/migrations/SaveMigrationCommand.d.ts +2 -2
- package/dist/types/model/commands/migrations/SaveMigrationCommand.d.ts.map +1 -1
- package/dist/types/model/commands/migrations/index.d.ts +2 -2
- package/dist/types/model/commands/migrations/index.d.ts.map +1 -1
- package/dist/types/model/commands/schema/SaveSchemaCommand.d.ts +2 -2
- package/dist/types/model/commands/schema/SaveSchemaCommand.d.ts.map +1 -1
- package/dist/types/model/commands/stages/CreateStageCommand.d.ts +2 -2
- package/dist/types/model/commands/stages/CreateStageCommand.d.ts.map +1 -1
- package/dist/types/model/commands/stages/TruncateStagesCommand.d.ts +1 -1
- package/dist/types/model/commands/stages/TruncateStagesCommand.d.ts.map +1 -1
- package/dist/types/model/commands/stages/index.d.ts +2 -2
- package/dist/types/model/commands/stages/index.d.ts.map +1 -1
- package/dist/types/model/database/DatabaseContext.d.ts +2 -2
- package/dist/types/model/database/DatabaseContext.d.ts.map +1 -1
- package/dist/types/model/database/index.d.ts +1 -1
- package/dist/types/model/database/index.d.ts.map +1 -1
- package/dist/types/model/dependencies/content/ContentQueryExecutor.d.ts +2 -2
- package/dist/types/model/dependencies/content/ContentQueryExecutor.d.ts.map +1 -1
- package/dist/types/model/dependencies/index.d.ts +2 -2
- package/dist/types/model/dependencies/index.d.ts.map +1 -1
- package/dist/types/model/dependencies/tenant/index.d.ts +1 -1
- package/dist/types/model/dependencies/tenant/index.d.ts.map +1 -1
- package/dist/types/model/dtos/index.d.ts +2 -2
- package/dist/types/model/dtos/index.d.ts.map +1 -1
- package/dist/types/model/events/EventResponseBuilder.d.ts +4 -4
- package/dist/types/model/events/EventResponseBuilder.d.ts.map +1 -1
- package/dist/types/model/events/EventResponseHelper.d.ts +1 -1
- package/dist/types/model/events/EventResponseHelper.d.ts.map +1 -1
- package/dist/types/model/events/identityUtils.d.ts +1 -1
- package/dist/types/model/events/identityUtils.d.ts.map +1 -1
- package/dist/types/model/events/index.d.ts +2 -2
- package/dist/types/model/events/index.d.ts.map +1 -1
- package/dist/types/model/events/types.d.ts +12 -2
- package/dist/types/model/events/types.d.ts.map +1 -1
- package/dist/types/model/helpers/index.d.ts +2 -2
- package/dist/types/model/helpers/index.d.ts.map +1 -1
- package/dist/types/model/helpers/stageHelpers.d.ts +1 -1
- package/dist/types/model/helpers/stageHelpers.d.ts.map +1 -1
- package/dist/types/model/index.d.ts +13 -13
- package/dist/types/model/index.d.ts.map +1 -1
- package/dist/types/model/metadata/SchemaDatabaseMetadataResolverStore.d.ts +1 -1
- package/dist/types/model/metadata/SchemaDatabaseMetadataResolverStore.d.ts.map +1 -1
- package/dist/types/model/metadata/index.d.ts +1 -1
- package/dist/types/model/metadata/index.d.ts.map +1 -1
- package/dist/types/model/migrations/ExecutedMigrationsResolver.d.ts +2 -2
- package/dist/types/model/migrations/ExecutedMigrationsResolver.d.ts.map +1 -1
- package/dist/types/model/migrations/MigrationAlterer.d.ts +3 -3
- package/dist/types/model/migrations/MigrationAlterer.d.ts.map +1 -1
- package/dist/types/model/migrations/MigrationInput.d.ts +6 -0
- package/dist/types/model/migrations/MigrationInput.d.ts.map +1 -1
- package/dist/types/model/migrations/ProjectMigrator.d.ts +28 -10
- package/dist/types/model/migrations/ProjectMigrator.d.ts.map +1 -1
- package/dist/types/model/migrations/SchemaProvider.d.ts +2 -2
- package/dist/types/model/migrations/SchemaProvider.d.ts.map +1 -1
- package/dist/types/model/migrations/index.d.ts +4 -4
- package/dist/types/model/migrations/index.d.ts.map +1 -1
- package/dist/types/model/queries/events/EventQueryHelpers.d.ts +4 -4
- package/dist/types/model/queries/events/EventQueryHelpers.d.ts.map +1 -1
- package/dist/types/model/queries/events/EventsQuery.d.ts +2 -2
- package/dist/types/model/queries/events/EventsQuery.d.ts.map +1 -1
- package/dist/types/model/queries/events/index.d.ts +3 -3
- package/dist/types/model/queries/events/index.d.ts.map +1 -1
- package/dist/types/model/queries/index.d.ts +4 -4
- package/dist/types/model/queries/index.d.ts.map +1 -1
- package/dist/types/model/queries/migrations/ExecutedMigrationByVersionQuery.d.ts +1 -1
- package/dist/types/model/queries/migrations/ExecutedMigrationByVersionQuery.d.ts.map +1 -1
- package/dist/types/model/queries/migrations/ExecutedMigrationsQuery.d.ts +1 -1
- package/dist/types/model/queries/migrations/ExecutedMigrationsQuery.d.ts.map +1 -1
- package/dist/types/model/queries/migrations/ExecutedMigrationsQueryHelper.d.ts +1 -1
- package/dist/types/model/queries/migrations/ExecutedMigrationsQueryHelper.d.ts.map +1 -1
- package/dist/types/model/queries/migrations/index.d.ts +3 -3
- package/dist/types/model/queries/migrations/index.d.ts.map +1 -1
- package/dist/types/model/queries/schema/SchemaQuery.d.ts +1 -1
- package/dist/types/model/queries/schema/SchemaQuery.d.ts.map +1 -1
- package/dist/types/model/queries/schema/index.d.ts +1 -1
- package/dist/types/model/queries/schema/index.d.ts.map +1 -1
- package/dist/types/model/queries/stages/StageBySlugQuery.d.ts +1 -1
- package/dist/types/model/queries/stages/StageBySlugQuery.d.ts.map +1 -1
- package/dist/types/model/queries/stages/StageQueryFactory.d.ts +1 -1
- package/dist/types/model/queries/stages/StageQueryFactory.d.ts.map +1 -1
- package/dist/types/model/queries/stages/StagesQuery.d.ts +1 -1
- package/dist/types/model/queries/stages/StagesQuery.d.ts.map +1 -1
- package/dist/types/model/queries/stages/index.d.ts +3 -3
- package/dist/types/model/queries/stages/index.d.ts.map +1 -1
- package/dist/types/model/stages/StageCreator.d.ts +2 -2
- package/dist/types/model/stages/StageCreator.d.ts.map +1 -1
- package/dist/types/model/stages/index.d.ts +1 -1
- package/dist/types/model/stages/index.d.ts.map +1 -1
- package/dist/types/resolvers/Resolver.d.ts +1 -1
- package/dist/types/resolvers/Resolver.d.ts.map +1 -1
- package/dist/types/resolvers/ResolverFactory.d.ts +5 -5
- package/dist/types/resolvers/ResolverFactory.d.ts.map +1 -1
- package/dist/types/resolvers/SystemResolverContext.d.ts +4 -4
- package/dist/types/resolvers/SystemResolverContext.d.ts.map +1 -1
- package/dist/types/resolvers/index.d.ts +5 -5
- package/dist/types/resolvers/index.d.ts.map +1 -1
- package/dist/types/resolvers/mutation/MigrateMutationResolver.d.ts +6 -4
- package/dist/types/resolvers/mutation/MigrateMutationResolver.d.ts.map +1 -1
- package/dist/types/resolvers/mutation/MigrationAlterMutationResolver.d.ts +4 -4
- package/dist/types/resolvers/mutation/MigrationAlterMutationResolver.d.ts.map +1 -1
- package/dist/types/resolvers/mutation/TruncateMutationResolver.d.ts +4 -4
- package/dist/types/resolvers/mutation/TruncateMutationResolver.d.ts.map +1 -1
- package/dist/types/resolvers/mutation/index.d.ts +3 -3
- package/dist/types/resolvers/mutation/index.d.ts.map +1 -1
- package/dist/types/resolvers/query/EventsQueryResolver.d.ts +4 -4
- package/dist/types/resolvers/query/EventsQueryResolver.d.ts.map +1 -1
- package/dist/types/resolvers/query/ExecutedMigrationsQueryResolver.d.ts +3 -3
- package/dist/types/resolvers/query/ExecutedMigrationsQueryResolver.d.ts.map +1 -1
- package/dist/types/resolvers/query/SchemaQueryResolver.d.ts +2 -2
- package/dist/types/resolvers/query/SchemaQueryResolver.d.ts.map +1 -1
- package/dist/types/resolvers/query/StagesQueryResolver.d.ts +3 -3
- package/dist/types/resolvers/query/StagesQueryResolver.d.ts.map +1 -1
- package/dist/types/resolvers/query/index.d.ts +3 -3
- package/dist/types/resolvers/query/index.d.ts.map +1 -1
- package/dist/types/resolvers/types/EventOldValuesResolver.d.ts +2 -2
- package/dist/types/resolvers/types/EventOldValuesResolver.d.ts.map +1 -1
- package/dist/types/resolvers/types/OldValuesHelpers.d.ts +2 -2
- package/dist/types/resolvers/types/OldValuesHelpers.d.ts.map +1 -1
- package/dist/types/resolvers/types/index.d.ts +1 -1
- package/dist/types/resolvers/types/index.d.ts.map +1 -1
- package/dist/types/schema/index.d.ts +2 -2
- package/dist/types/schema/index.d.ts.map +1 -1
- package/dist/types/schema/system.graphql.d.ts.map +1 -1
- package/dist/types/schema/types.d.ts +80 -54
- package/dist/types/schema/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/utils/index.d.ts +7 -7
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/providers.d.ts +1 -1
- package/dist/types/utils/providers.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/SystemContainer.ts +6 -6
- package/src/bin/runMigrations.ts +2 -2
- package/src/index.ts +7 -7
- package/src/migrations/2020-03-27-130000-project-migrations.ts +1 -1
- package/src/migrations/2020-05-06-150000-composed-primary.ts +2 -2
- package/src/migrations/2020-06-01-103000-event-trigger-perf.ts +2 -2
- package/src/migrations/2021-05-07-155800-event-log-rework.ts +2 -2
- package/src/migrations/2021-05-19-1232000-event-log-fix-constraint.ts +2 -2
- package/src/migrations/2022-10-03-110000-table-on-delete.ts +1 -1
- package/src/migrations/2023-09-11-174000-fix-on-delete.ts +1 -1
- package/src/migrations/2023-10-19-173000-fix-unique.ts +1 -1
- package/src/migrations/2024-06-28-153001-schema-init.ts +1 -1
- package/src/migrations/2025-03-14-110000-fix-missing-index.ts +1 -1
- package/src/migrations/2026-06-01-120000-event-truncate.ts +18 -0
- package/src/migrations/index.ts +2 -2
- package/src/migrations/runner.ts +31 -29
- package/src/migrations/snapshot-factory.ts +1 -1
- package/src/migrations/snapshot-template-start.txt +1 -1
- package/src/migrations/snapshot.ts +6 -5
- package/src/migrations/types.ts +2 -2
- package/src/model/ProjectInitializer.ts +4 -4
- package/src/model/ProjectTruncateExecutor.ts +8 -8
- package/src/model/authorization/PermissionsFactory.ts +1 -1
- package/src/model/authorization/StagePermissionsFactory.ts +2 -2
- package/src/model/authorization/StageScope.ts +3 -3
- package/src/model/authorization/index.ts +3 -3
- package/src/model/commands/Command.ts +2 -2
- package/src/model/commands/CommandBus.ts +2 -2
- package/src/model/commands/events/TruncateEventsCommand.ts +45 -5
- package/src/model/commands/events/index.ts +1 -1
- package/src/model/commands/index.ts +5 -5
- package/src/model/commands/migrations/DeleteMigrationCommand.ts +1 -1
- package/src/model/commands/migrations/ModifyMigrationCommand.ts +2 -2
- package/src/model/commands/migrations/SaveMigrationCommand.ts +2 -2
- package/src/model/commands/migrations/index.ts +2 -2
- package/src/model/commands/schema/SaveSchemaCommand.ts +2 -2
- package/src/model/commands/stages/CreateStageCommand.ts +3 -3
- package/src/model/commands/stages/TruncateStagesCommand.ts +1 -1
- package/src/model/commands/stages/index.ts +2 -2
- package/src/model/database/DatabaseContext.ts +2 -2
- package/src/model/database/index.ts +1 -1
- package/src/model/dependencies/content/ContentQueryExecutor.ts +2 -2
- package/src/model/dependencies/index.ts +2 -2
- package/src/model/dependencies/tenant/index.ts +1 -1
- package/src/model/dtos/index.ts +2 -2
- package/src/model/events/EventResponseBuilder.ts +12 -7
- package/src/model/events/EventResponseHelper.ts +1 -1
- package/src/model/events/identityUtils.ts +2 -2
- package/src/model/events/index.ts +2 -2
- package/src/model/events/types.ts +15 -1
- package/src/model/helpers/index.ts +2 -2
- package/src/model/helpers/stageHelpers.ts +1 -1
- package/src/model/index.ts +13 -13
- package/src/model/metadata/SchemaDatabaseMetadataResolverStore.ts +1 -1
- package/src/model/metadata/index.ts +1 -1
- package/src/model/migrations/ExecutedMigrationsResolver.ts +3 -3
- package/src/model/migrations/MigrationAlterer.ts +6 -6
- package/src/model/migrations/MigrationInput.ts +7 -0
- package/src/model/migrations/ProjectMigrator.ts +133 -17
- package/src/model/migrations/SchemaProvider.ts +3 -3
- package/src/model/migrations/index.ts +4 -4
- package/src/model/queries/events/EventQueryHelpers.ts +21 -13
- package/src/model/queries/events/EventsQuery.ts +3 -3
- package/src/model/queries/events/index.ts +3 -3
- package/src/model/queries/index.ts +4 -4
- package/src/model/queries/migrations/ExecutedMigrationByVersionQuery.ts +2 -2
- package/src/model/queries/migrations/ExecutedMigrationsQuery.ts +2 -2
- package/src/model/queries/migrations/ExecutedMigrationsQueryHelper.ts +1 -1
- package/src/model/queries/migrations/index.ts +3 -3
- package/src/model/queries/schema/SchemaQuery.ts +1 -1
- package/src/model/queries/schema/index.ts +1 -1
- package/src/model/queries/stages/StageBySlugQuery.ts +2 -2
- package/src/model/queries/stages/StageQueryFactory.ts +1 -1
- package/src/model/queries/stages/StagesQuery.ts +2 -2
- package/src/model/queries/stages/index.ts +3 -3
- package/src/model/stages/StageCreator.ts +4 -4
- package/src/model/stages/index.ts +1 -1
- package/src/resolvers/Resolver.ts +1 -1
- package/src/resolvers/ResolverFactory.ts +9 -6
- package/src/resolvers/SystemResolverContext.ts +6 -6
- package/src/resolvers/index.ts +5 -5
- package/src/resolvers/mutation/MigrateMutationResolver.ts +64 -7
- package/src/resolvers/mutation/MigrationAlterMutationResolver.ts +4 -4
- package/src/resolvers/mutation/TruncateMutationResolver.ts +5 -5
- package/src/resolvers/mutation/index.ts +3 -3
- package/src/resolvers/query/EventsQueryResolver.ts +4 -4
- package/src/resolvers/query/ExecutedMigrationsQueryResolver.ts +4 -4
- package/src/resolvers/query/SchemaQueryResolver.ts +3 -3
- package/src/resolvers/query/StagesQueryResolver.ts +4 -4
- package/src/resolvers/query/index.ts +3 -3
- package/src/resolvers/types/EventOldValuesResolver.ts +3 -3
- package/src/resolvers/types/OldValuesHelpers.ts +3 -3
- package/src/resolvers/types/index.ts +1 -1
- package/src/schema/dev.graphql.ts +1 -1
- package/src/schema/index.ts +4 -2
- package/src/schema/system.graphql.ts +39 -3
- package/src/schema/types.ts +108 -38
- package/src/utils/batchQuery.ts +1 -1
- package/src/utils/index.ts +7 -7
- package/src/utils/providers.ts +1 -1
- package/tests/cases/migrations/2020-05-06-150000-composed-primary.test.ts +1 -1
- package/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.ts +1 -1
- package/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.ts +1 -1
- package/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.ts +1 -1
- package/tests/cases/migrations/2023-10-19-173000-fix-unique.test.ts +1 -1
- package/tests/cases/migrations/2025-03-14-110000-fix-missing-index.test.ts +1 -1
- package/tests/cases/unit/eventsQuery.test.ts +3 -3
- package/tests/cases/unit/projectMigratorSchemaState.test.ts +48 -0
- package/tests/cases/unit/truncateEventsCommand.test.ts +54 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolverFactory.js","sources":["../../../../../packages/engine-system-api/src/resolvers/ResolverFactory.ts"],"sourcesContent":["import { EventsQueryResolver, ExecutedMigrationsQueryResolver, StagesQueryResolver } from './query'\nimport { Event, EventType, Resolvers } from '../schema'\nimport { assertNever } from '../utils'\nimport { MigrateMutationResolver, MigrationAlterMutationResolver, TruncateMutationResolver } from './mutation'\nimport { createJsonLikeType, DateTimeType, JSONType } from '@contember/graphql-utils'\nimport { EventOldValuesResolver } from './types'\nimport { GraphQLError, GraphQLScalarType, Kind } from 'graphql'\nimport { SchemaQueryResolver } from './query/SchemaQueryResolver'\n\nexport class ResolverFactory {\n\tpublic constructor(\n\t\tprivate readonly stagesQueryResolver: StagesQueryResolver,\n\t\tprivate readonly executedMigrationsQueryResolver: ExecutedMigrationsQueryResolver,\n\t\tprivate readonly migrateMutationResolver: MigrateMutationResolver,\n\t\tprivate readonly truncateMutationResolver: TruncateMutationResolver,\n\t\tprivate readonly migrationAlterMutationResolver: MigrationAlterMutationResolver,\n\t\tprivate readonly eventsQueryResolver: EventsQueryResolver,\n\t\tprivate readonly eventOldValuesResolver: EventOldValuesResolver,\n\t\tprivate readonly schemaQueryResolver: SchemaQueryResolver,\n\t) {}\n\n\tcreate(debugMode: boolean): Resolvers {\n\t\tconst resolvers: Resolvers & Required<Pick<Resolvers, 'Mutation'>> = {\n\t\t\tDateTime: DateTimeType,\n\t\t\tJson: JSONType,\n\t\t\tPrimaryKey: PrimaryKeyType,\n\t\t\tSchema: SchemaType,\n\t\t\tEvent: {\n\t\t\t\t__resolveType: (obj: Event) => {\n\t\t\t\t\tswitch (obj.type) {\n\t\t\t\t\t\tcase EventType.Create:\n\t\t\t\t\t\t\treturn 'CreateEvent'\n\t\t\t\t\t\tcase EventType.Update:\n\t\t\t\t\t\t\treturn 'UpdateEvent'\n\t\t\t\t\t\tcase EventType.Delete:\n\t\t\t\t\t\t\treturn 'DeleteEvent'\n\t\t\t\t\t\tcase null:\n\t\t\t\t\t\tcase undefined:\n\t\t\t\t\t\t\treturn null\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn assertNever(obj.type)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t\tQuery: {\n\t\t\t\tstages: this.stagesQueryResolver.stages.bind(this.stagesQueryResolver),\n\t\t\t\texecutedMigrations: this.executedMigrationsQueryResolver.executedMigrations.bind(this.executedMigrationsQueryResolver),\n\t\t\t\tevents: this.eventsQueryResolver.events.bind(this.eventsQueryResolver),\n\t\t\t\tschema: this.schemaQueryResolver.schema.bind(this.schemaQueryResolver),\n\t\t\t},\n\t\t\tMutation: {\n\t\t\t\tmigrate: this.migrateMutationResolver.migrate.bind(this.migrateMutationResolver),\n\t\t\t},\n\t\t\tDeleteEvent: {\n\t\t\t\toldValues: this.eventOldValuesResolver.oldValues.bind(this.eventOldValuesResolver),\n\t\t\t},\n\t\t\tUpdateEvent: {\n\t\t\t\toldValues: this.eventOldValuesResolver.oldValues.bind(this.eventOldValuesResolver),\n\t\t\t},\n\t\t}\n\t\tif (debugMode) {\n\t\t\tresolvers.Mutation.truncate = this.truncateMutationResolver.truncate.bind(this.truncateMutationResolver)\n\t\t\tresolvers.Mutation.migrationDelete = this.migrationAlterMutationResolver.migrationDelete.bind(this.migrationAlterMutationResolver)\n\t\t\tresolvers.Mutation.migrationModify = this.migrationAlterMutationResolver.migrationModify.bind(this.migrationAlterMutationResolver)\n\t\t\tresolvers.Mutation.forceMigrate = this.migrateMutationResolver.migrateForce.bind(this.migrateMutationResolver)\n\t\t}\n\t\treturn resolvers\n\t}\n}\n\nconst parseValue = (value: any) => {\n\tif ((typeof value === 'string' && value !== '') || typeof value === 'number' && Number.isFinite(value) && Math.floor(value) === value) {\n\t\treturn value\n\t}\n\tthrow new GraphQLError('PrimaryKey cannot represent value: ' + JSON.stringify(value))\n}\n\nconst SchemaType = createJsonLikeType('Schema', 'Content schema custom scalar type')\n\nexport const PrimaryKeyType = new GraphQLScalarType({\n\tname: 'PrimaryKey',\n\tdescription: 'PrimaryKey custom scalar type. Can be Int or String',\n\tserialize: parseValue,\n\tparseValue: parseValue,\n\tparseLiteral(ast) {\n\t\tif (ast.kind === Kind.STRING) {\n\t\t\treturn ast.value\n\t\t}\n\t\tif (ast.kind === Kind.INT) {\n\t\t\treturn Number.parseInt(ast.value, 10)\n\t\t}\n\t\treturn null\n\t},\n})\n"],"names":[],"mappings":";;;;;;AASO,MAAM,gBAAgB;AAAA,EACrB,YACW,qBACA,iCACA,yBACA,0BACA,gCACA,qBACA,wBACA,qBAChB;AARgB,SAAA,sBAAA;AACA,SAAA,kCAAA;AACA,SAAA,0BAAA;AACA,SAAA,2BAAA;AACA,SAAA,iCAAA;AACA,SAAA,sBAAA;AACA,SAAA,yBAAA;AACA,SAAA,sBAAA;AAAA,EACf;AAAA,EAEH,OAAO,WAA+B;AACrC,UAAM,YAA+D;AAAA,MACpE,UAAU;AAAA,MACV,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,OAAO;AAAA,QACN,eAAe,CAAC,QAAe;AAC9B,kBAAQ,IAAI,MAAA;AAAA,YACX,KAAK,UAAU;AACd,qBAAO;AAAA,YACR,KAAK,UAAU;AACd,qBAAO;AAAA,YACR,KAAK,UAAU;AACd,qBAAO;AAAA,YACR,KAAK;AAAA,YACL,KAAK;AACJ,qBAAO;AAAA,YACR;AACC,qBAAO,YAAY,IAAI,IAAI;AAAA,UAAA;AAAA,QAE9B;AAAA,MAAA;AAAA,MAED,OAAO;AAAA,QACN,QAAQ,KAAK,oBAAoB,OAAO,KAAK,KAAK,mBAAmB;AAAA,QACrE,oBAAoB,KAAK,gCAAgC,mBAAmB,KAAK,KAAK,+BAA+B;AAAA,QACrH,QAAQ,KAAK,oBAAoB,OAAO,KAAK,KAAK,mBAAmB;AAAA,QACrE,QAAQ,KAAK,oBAAoB,OAAO,KAAK,KAAK,mBAAmB;AAAA,MAAA;AAAA,MAEtE,UAAU;AAAA,QACT,SAAS,KAAK,wBAAwB,QAAQ,KAAK,KAAK,uBAAuB;AAAA,MAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"ResolverFactory.js","sources":["../../../../../packages/engine-system-api/src/resolvers/ResolverFactory.ts"],"sourcesContent":["import { EventsQueryResolver, ExecutedMigrationsQueryResolver, StagesQueryResolver } from './query/index.js'\nimport { Event, EventType, Resolvers } from '../schema/index.js'\nimport { assertNever } from '../utils/index.js'\nimport { MigrateMutationResolver, MigrationAlterMutationResolver, TruncateMutationResolver } from './mutation/index.js'\nimport { createJsonLikeType, DateTimeType, JSONType } from '@contember/graphql-utils'\nimport { EventOldValuesResolver } from './types/index.js'\nimport { GraphQLError, GraphQLScalarType, Kind } from 'graphql'\nimport { SchemaQueryResolver } from './query/SchemaQueryResolver.js'\n\nexport class ResolverFactory {\n\tpublic constructor(\n\t\tprivate readonly stagesQueryResolver: StagesQueryResolver,\n\t\tprivate readonly executedMigrationsQueryResolver: ExecutedMigrationsQueryResolver,\n\t\tprivate readonly migrateMutationResolver: MigrateMutationResolver,\n\t\tprivate readonly truncateMutationResolver: TruncateMutationResolver,\n\t\tprivate readonly migrationAlterMutationResolver: MigrationAlterMutationResolver,\n\t\tprivate readonly eventsQueryResolver: EventsQueryResolver,\n\t\tprivate readonly eventOldValuesResolver: EventOldValuesResolver,\n\t\tprivate readonly schemaQueryResolver: SchemaQueryResolver,\n\t) {}\n\n\tcreate(debugMode: boolean): Resolvers {\n\t\tconst resolvers: Resolvers & Required<Pick<Resolvers, 'Mutation'>> = {\n\t\t\tDateTime: DateTimeType,\n\t\t\tJson: JSONType,\n\t\t\tPrimaryKey: PrimaryKeyType,\n\t\t\tSchema: SchemaType,\n\t\t\tEvent: {\n\t\t\t\t__resolveType: (obj: Event) => {\n\t\t\t\t\tswitch (obj.type) {\n\t\t\t\t\t\tcase EventType.Create:\n\t\t\t\t\t\t\treturn 'CreateEvent'\n\t\t\t\t\t\tcase EventType.Update:\n\t\t\t\t\t\t\treturn 'UpdateEvent'\n\t\t\t\t\t\tcase EventType.Delete:\n\t\t\t\t\t\t\treturn 'DeleteEvent'\n\t\t\t\t\t\tcase EventType.Truncate:\n\t\t\t\t\t\t\treturn 'TruncateEvent'\n\t\t\t\t\t\tcase null:\n\t\t\t\t\t\tcase undefined:\n\t\t\t\t\t\t\treturn null\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn assertNever(obj.type)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t\tQuery: {\n\t\t\t\tstages: this.stagesQueryResolver.stages.bind(this.stagesQueryResolver),\n\t\t\t\texecutedMigrations: this.executedMigrationsQueryResolver.executedMigrations.bind(this.executedMigrationsQueryResolver),\n\t\t\t\tevents: this.eventsQueryResolver.events.bind(this.eventsQueryResolver),\n\t\t\t\tschema: this.schemaQueryResolver.schema.bind(this.schemaQueryResolver),\n\t\t\t},\n\t\t\tMutation: {\n\t\t\t\tmigrate: this.migrateMutationResolver.migrate.bind(this.migrateMutationResolver),\n\t\t\t\tmigrateFromSnapshot: this.migrateMutationResolver.migrateFromSnapshot.bind(this.migrateMutationResolver),\n\t\t\t},\n\t\t\tDeleteEvent: {\n\t\t\t\toldValues: this.eventOldValuesResolver.oldValues.bind(this.eventOldValuesResolver),\n\t\t\t},\n\t\t\tUpdateEvent: {\n\t\t\t\toldValues: this.eventOldValuesResolver.oldValues.bind(this.eventOldValuesResolver),\n\t\t\t},\n\t\t}\n\t\tif (debugMode) {\n\t\t\tresolvers.Mutation.truncate = this.truncateMutationResolver.truncate.bind(this.truncateMutationResolver)\n\t\t\tresolvers.Mutation.migrationDelete = this.migrationAlterMutationResolver.migrationDelete.bind(this.migrationAlterMutationResolver)\n\t\t\tresolvers.Mutation.migrationModify = this.migrationAlterMutationResolver.migrationModify.bind(this.migrationAlterMutationResolver)\n\t\t\tresolvers.Mutation.forceMigrate = this.migrateMutationResolver.migrateForce.bind(this.migrateMutationResolver)\n\t\t}\n\t\treturn resolvers\n\t}\n}\n\nconst parseValue = (value: any) => {\n\tif ((typeof value === 'string' && value !== '') || typeof value === 'number' && Number.isFinite(value) && Math.floor(value) === value) {\n\t\treturn value\n\t}\n\tthrow new GraphQLError('PrimaryKey cannot represent value: ' + JSON.stringify(value))\n}\n\nconst SchemaType = createJsonLikeType('Schema', 'Content schema custom scalar type')\n\nexport const PrimaryKeyType = new GraphQLScalarType({\n\tname: 'PrimaryKey',\n\tdescription: 'PrimaryKey custom scalar type. Can be Int or String',\n\tserialize: parseValue,\n\tparseValue: parseValue,\n\tparseLiteral(ast) {\n\t\tif (ast.kind === Kind.STRING) {\n\t\t\treturn ast.value\n\t\t}\n\t\tif (ast.kind === Kind.INT) {\n\t\t\treturn Number.parseInt(ast.value, 10)\n\t\t}\n\t\treturn null\n\t},\n})\n"],"names":[],"mappings":";;;;;;AASO,MAAM,gBAAgB;AAAA,EACrB,YACW,qBACA,iCACA,yBACA,0BACA,gCACA,qBACA,wBACA,qBAChB;AARgB,SAAA,sBAAA;AACA,SAAA,kCAAA;AACA,SAAA,0BAAA;AACA,SAAA,2BAAA;AACA,SAAA,iCAAA;AACA,SAAA,sBAAA;AACA,SAAA,yBAAA;AACA,SAAA,sBAAA;AAAA,EACf;AAAA,EAEH,OAAO,WAA+B;AACrC,UAAM,YAA+D;AAAA,MACpE,UAAU;AAAA,MACV,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,OAAO;AAAA,QACN,eAAe,CAAC,QAAe;AAC9B,kBAAQ,IAAI,MAAA;AAAA,YACX,KAAK,UAAU;AACd,qBAAO;AAAA,YACR,KAAK,UAAU;AACd,qBAAO;AAAA,YACR,KAAK,UAAU;AACd,qBAAO;AAAA,YACR,KAAK,UAAU;AACd,qBAAO;AAAA,YACR,KAAK;AAAA,YACL,KAAK;AACJ,qBAAO;AAAA,YACR;AACC,qBAAO,YAAY,IAAI,IAAI;AAAA,UAAA;AAAA,QAE9B;AAAA,MAAA;AAAA,MAED,OAAO;AAAA,QACN,QAAQ,KAAK,oBAAoB,OAAO,KAAK,KAAK,mBAAmB;AAAA,QACrE,oBAAoB,KAAK,gCAAgC,mBAAmB,KAAK,KAAK,+BAA+B;AAAA,QACrH,QAAQ,KAAK,oBAAoB,OAAO,KAAK,KAAK,mBAAmB;AAAA,QACrE,QAAQ,KAAK,oBAAoB,OAAO,KAAK,KAAK,mBAAmB;AAAA,MAAA;AAAA,MAEtE,UAAU;AAAA,QACT,SAAS,KAAK,wBAAwB,QAAQ,KAAK,KAAK,uBAAuB;AAAA,QAC/E,qBAAqB,KAAK,wBAAwB,oBAAoB,KAAK,KAAK,uBAAuB;AAAA,MAAA;AAAA,MAExG,aAAa;AAAA,QACZ,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAAA;AAAA,MAElF,aAAa;AAAA,QACZ,WAAW,KAAK,uBAAuB,UAAU,KAAK,KAAK,sBAAsB;AAAA,MAAA;AAAA,IAClF;AAED,QAAI,WAAW;AACd,gBAAU,SAAS,WAAW,KAAK,yBAAyB,SAAS,KAAK,KAAK,wBAAwB;AACvG,gBAAU,SAAS,kBAAkB,KAAK,+BAA+B,gBAAgB,KAAK,KAAK,8BAA8B;AACjI,gBAAU,SAAS,kBAAkB,KAAK,+BAA+B,gBAAgB,KAAK,KAAK,8BAA8B;AACjI,gBAAU,SAAS,eAAe,KAAK,wBAAwB,aAAa,KAAK,KAAK,uBAAuB;AAAA,IAC9G;AACA,WAAO;AAAA,EACR;AACD;AAEA,MAAM,aAAa,CAAC,UAAe;AAClC,MAAK,OAAO,UAAU,YAAY,UAAU,MAAO,OAAO,UAAU,YAAY,OAAO,SAAS,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,OAAO;AACtI,WAAO;AAAA,EACR;AACA,QAAM,IAAI,aAAa,wCAAwC,KAAK,UAAU,KAAK,CAAC;AACrF;AAEA,MAAM,aAAa,mBAAmB,UAAU,mCAAmC;AAE5E,MAAM,iBAAiB,IAAI,kBAAkB;AAAA,EACnD,MAAM;AAAA,EACN,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AAAA,EACA,aAAa,KAAK;AACjB,QAAI,IAAI,SAAS,KAAK,QAAQ;AAC7B,aAAO,IAAI;AAAA,IACZ;AACA,QAAI,IAAI,SAAS,KAAK,KAAK;AAC1B,aAAO,OAAO,SAAS,IAAI,OAAO,EAAE;AAAA,IACrC;AACA,WAAO;AAAA,EACR;AACD,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemResolverContext.cjs","sources":["../../../../../packages/engine-system-api/src/resolvers/SystemResolverContext.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\nimport { ForbiddenError } from '@contember/graphql-utils'\nimport { DatabaseContext, Identity } from '../model'\nimport { ProjectConfig } from '../types'\nimport { StagePermissionsFactory } from '../model/authorization/StagePermissionsFactory'\nimport { StageScope } from '../model/authorization/StageScope'\nimport { ItemLoader } from '../utils/batchQuery'\nimport { SchemaGetter } from '../model/SchemaGetter'\n\nexport class SystemResolverContextFactory {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator<Identity>,\n\t) {}\n\n\tpublic async create(\n\t\t{ getSchema, identity, project, db }: Pick<SystemResolverContext, 'getSchema' | 'db' | 'identity' | 'project'>,\n\t): Promise<SystemResolverContext> {\n\t\tconst stagePermissionsFactory = new StagePermissionsFactory(getSchema)\n\t\tconst loaders = new Map<LoaderFactory<any, any>, ItemLoader<any, any>>()\n\t\treturn {\n\t\t\tproject,\n\t\t\tidentity,\n\t\t\tgetSchema,\n\t\t\tauthorizator: this.authorizator,\n\t\t\tdb,\n\t\t\trequireAccess: async (action, stage, message?) => {\n\t\t\t\tif (!(await this.authorizator.isAllowed(identity, new StageScope(stage, stagePermissionsFactory), action))) {\n\t\t\t\t\tthrow new ForbiddenError(message || 'Forbidden')\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLoader: loaderFactory => {\n\t\t\t\tconst loader = loaders.get(loaderFactory)\n\t\t\t\tif (loader) {\n\t\t\t\t\treturn loader\n\t\t\t\t}\n\t\t\t\tconst newLoader = loaderFactory(db)\n\t\t\t\tloaders.set(loaderFactory, newLoader)\n\t\t\t\treturn newLoader\n\t\t\t},\n\t\t}\n\t}\n}\n\nexport type LoaderFactory<Args, Item> = (db: DatabaseContext) => ItemLoader<Args, Item>\n\nexport interface SystemResolverContext {\n\treadonly project: ProjectConfig\n\treadonly getSchema: SchemaGetter\n\treadonly identity: Identity\n\treadonly db: DatabaseContext\n\treadonly authorizator: Authorizator<Identity>\n\treadonly requireAccess: (action: Authorizator.Action, stage: string, message?: string) => Promise<void>\n\treadonly getLoader: <Args, Item>(loaderFactory: LoaderFactory<Args, Item>) => ItemLoader<Args, Item>\n}\n"],"names":["StagePermissionsFactory","StageScope","ForbiddenError"],"mappings":";;;;;AASO,MAAM,6BAA6B;AAAA,EACzC,YACkB,cAChB;AADgB,SAAA,eAAA;AAAA,EACf;AAAA,EAEH,MAAa,OACZ,EAAE,WAAW,UAAU,SAAS,MACC;AACjC,UAAM,0BAA0B,IAAIA,wBAAAA,wBAAwB,SAAS;AACrE,UAAM,8BAAc,IAAA;AACpB,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,MACnB;AAAA,MACA,eAAe,OAAO,QAAQ,OAAO,YAAa;AACjD,YAAI,CAAE,MAAM,KAAK,aAAa,UAAU,UAAU,IAAIC,WAAAA,WAAW,OAAO,uBAAuB,GAAG,MAAM,GAAI;AAC3G,gBAAM,IAAIC,aAAAA,eAAe,WAAW,WAAW;AAAA,QAChD;AAAA,MACD;AAAA,MACA,WAAW,CAAA,kBAAiB;AAC3B,cAAM,SAAS,QAAQ,IAAI,aAAa;AACxC,YAAI,QAAQ;AACX,iBAAO;AAAA,QACR;AACA,cAAM,YAAY,cAAc,EAAE;AAClC,gBAAQ,IAAI,eAAe,SAAS;AACpC,eAAO;AAAA,MACR;AAAA,IAAA;AAAA,EAEF;AACD;;"}
|
|
1
|
+
{"version":3,"file":"SystemResolverContext.cjs","sources":["../../../../../packages/engine-system-api/src/resolvers/SystemResolverContext.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\nimport { ForbiddenError } from '@contember/graphql-utils'\nimport { DatabaseContext, Identity } from '../model/index.js'\nimport { ProjectConfig } from '../types.js'\nimport { StagePermissionsFactory } from '../model/authorization/StagePermissionsFactory.js'\nimport { StageScope } from '../model/authorization/StageScope.js'\nimport { ItemLoader } from '../utils/batchQuery.js'\nimport { SchemaGetter } from '../model/SchemaGetter.js'\n\nexport class SystemResolverContextFactory {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator<Identity>,\n\t) {}\n\n\tpublic async create(\n\t\t{ getSchema, identity, project, db }: Pick<SystemResolverContext, 'getSchema' | 'db' | 'identity' | 'project'>,\n\t): Promise<SystemResolverContext> {\n\t\tconst stagePermissionsFactory = new StagePermissionsFactory(getSchema)\n\t\tconst loaders = new Map<LoaderFactory<any, any>, ItemLoader<any, any>>()\n\t\treturn {\n\t\t\tproject,\n\t\t\tidentity,\n\t\t\tgetSchema,\n\t\t\tauthorizator: this.authorizator,\n\t\t\tdb,\n\t\t\trequireAccess: async (action, stage, message?) => {\n\t\t\t\tif (!(await this.authorizator.isAllowed(identity, new StageScope(stage, stagePermissionsFactory), action))) {\n\t\t\t\t\tthrow new ForbiddenError(message || 'Forbidden')\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLoader: loaderFactory => {\n\t\t\t\tconst loader = loaders.get(loaderFactory)\n\t\t\t\tif (loader) {\n\t\t\t\t\treturn loader\n\t\t\t\t}\n\t\t\t\tconst newLoader = loaderFactory(db)\n\t\t\t\tloaders.set(loaderFactory, newLoader)\n\t\t\t\treturn newLoader\n\t\t\t},\n\t\t}\n\t}\n}\n\nexport type LoaderFactory<Args, Item> = (db: DatabaseContext) => ItemLoader<Args, Item>\n\nexport interface SystemResolverContext {\n\treadonly project: ProjectConfig\n\treadonly getSchema: SchemaGetter\n\treadonly identity: Identity\n\treadonly db: DatabaseContext\n\treadonly authorizator: Authorizator<Identity>\n\treadonly requireAccess: (action: Authorizator.Action, stage: string, message?: string) => Promise<void>\n\treadonly getLoader: <Args, Item>(loaderFactory: LoaderFactory<Args, Item>) => ItemLoader<Args, Item>\n}\n"],"names":["StagePermissionsFactory","StageScope","ForbiddenError"],"mappings":";;;;;AASO,MAAM,6BAA6B;AAAA,EACzC,YACkB,cAChB;AADgB,SAAA,eAAA;AAAA,EACf;AAAA,EAEH,MAAa,OACZ,EAAE,WAAW,UAAU,SAAS,MACC;AACjC,UAAM,0BAA0B,IAAIA,wBAAAA,wBAAwB,SAAS;AACrE,UAAM,8BAAc,IAAA;AACpB,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,MACnB;AAAA,MACA,eAAe,OAAO,QAAQ,OAAO,YAAa;AACjD,YAAI,CAAE,MAAM,KAAK,aAAa,UAAU,UAAU,IAAIC,WAAAA,WAAW,OAAO,uBAAuB,GAAG,MAAM,GAAI;AAC3G,gBAAM,IAAIC,aAAAA,eAAe,WAAW,WAAW;AAAA,QAChD;AAAA,MACD;AAAA,MACA,WAAW,CAAA,kBAAiB;AAC3B,cAAM,SAAS,QAAQ,IAAI,aAAa;AACxC,YAAI,QAAQ;AACX,iBAAO;AAAA,QACR;AACA,cAAM,YAAY,cAAc,EAAE;AAClC,gBAAQ,IAAI,eAAe,SAAS;AACpC,eAAO;AAAA,MACR;AAAA,IAAA;AAAA,EAEF;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemResolverContext.js","sources":["../../../../../packages/engine-system-api/src/resolvers/SystemResolverContext.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\nimport { ForbiddenError } from '@contember/graphql-utils'\nimport { DatabaseContext, Identity } from '../model'\nimport { ProjectConfig } from '../types'\nimport { StagePermissionsFactory } from '../model/authorization/StagePermissionsFactory'\nimport { StageScope } from '../model/authorization/StageScope'\nimport { ItemLoader } from '../utils/batchQuery'\nimport { SchemaGetter } from '../model/SchemaGetter'\n\nexport class SystemResolverContextFactory {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator<Identity>,\n\t) {}\n\n\tpublic async create(\n\t\t{ getSchema, identity, project, db }: Pick<SystemResolverContext, 'getSchema' | 'db' | 'identity' | 'project'>,\n\t): Promise<SystemResolverContext> {\n\t\tconst stagePermissionsFactory = new StagePermissionsFactory(getSchema)\n\t\tconst loaders = new Map<LoaderFactory<any, any>, ItemLoader<any, any>>()\n\t\treturn {\n\t\t\tproject,\n\t\t\tidentity,\n\t\t\tgetSchema,\n\t\t\tauthorizator: this.authorizator,\n\t\t\tdb,\n\t\t\trequireAccess: async (action, stage, message?) => {\n\t\t\t\tif (!(await this.authorizator.isAllowed(identity, new StageScope(stage, stagePermissionsFactory), action))) {\n\t\t\t\t\tthrow new ForbiddenError(message || 'Forbidden')\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLoader: loaderFactory => {\n\t\t\t\tconst loader = loaders.get(loaderFactory)\n\t\t\t\tif (loader) {\n\t\t\t\t\treturn loader\n\t\t\t\t}\n\t\t\t\tconst newLoader = loaderFactory(db)\n\t\t\t\tloaders.set(loaderFactory, newLoader)\n\t\t\t\treturn newLoader\n\t\t\t},\n\t\t}\n\t}\n}\n\nexport type LoaderFactory<Args, Item> = (db: DatabaseContext) => ItemLoader<Args, Item>\n\nexport interface SystemResolverContext {\n\treadonly project: ProjectConfig\n\treadonly getSchema: SchemaGetter\n\treadonly identity: Identity\n\treadonly db: DatabaseContext\n\treadonly authorizator: Authorizator<Identity>\n\treadonly requireAccess: (action: Authorizator.Action, stage: string, message?: string) => Promise<void>\n\treadonly getLoader: <Args, Item>(loaderFactory: LoaderFactory<Args, Item>) => ItemLoader<Args, Item>\n}\n"],"names":[],"mappings":";;;AASO,MAAM,6BAA6B;AAAA,EACzC,YACkB,cAChB;AADgB,SAAA,eAAA;AAAA,EACf;AAAA,EAEH,MAAa,OACZ,EAAE,WAAW,UAAU,SAAS,MACC;AACjC,UAAM,0BAA0B,IAAI,wBAAwB,SAAS;AACrE,UAAM,8BAAc,IAAA;AACpB,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,MACnB;AAAA,MACA,eAAe,OAAO,QAAQ,OAAO,YAAa;AACjD,YAAI,CAAE,MAAM,KAAK,aAAa,UAAU,UAAU,IAAI,WAAW,OAAO,uBAAuB,GAAG,MAAM,GAAI;AAC3G,gBAAM,IAAI,eAAe,WAAW,WAAW;AAAA,QAChD;AAAA,MACD;AAAA,MACA,WAAW,CAAA,kBAAiB;AAC3B,cAAM,SAAS,QAAQ,IAAI,aAAa;AACxC,YAAI,QAAQ;AACX,iBAAO;AAAA,QACR;AACA,cAAM,YAAY,cAAc,EAAE;AAClC,gBAAQ,IAAI,eAAe,SAAS;AACpC,eAAO;AAAA,MACR;AAAA,IAAA;AAAA,EAEF;AACD;"}
|
|
1
|
+
{"version":3,"file":"SystemResolverContext.js","sources":["../../../../../packages/engine-system-api/src/resolvers/SystemResolverContext.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\nimport { ForbiddenError } from '@contember/graphql-utils'\nimport { DatabaseContext, Identity } from '../model/index.js'\nimport { ProjectConfig } from '../types.js'\nimport { StagePermissionsFactory } from '../model/authorization/StagePermissionsFactory.js'\nimport { StageScope } from '../model/authorization/StageScope.js'\nimport { ItemLoader } from '../utils/batchQuery.js'\nimport { SchemaGetter } from '../model/SchemaGetter.js'\n\nexport class SystemResolverContextFactory {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator<Identity>,\n\t) {}\n\n\tpublic async create(\n\t\t{ getSchema, identity, project, db }: Pick<SystemResolverContext, 'getSchema' | 'db' | 'identity' | 'project'>,\n\t): Promise<SystemResolverContext> {\n\t\tconst stagePermissionsFactory = new StagePermissionsFactory(getSchema)\n\t\tconst loaders = new Map<LoaderFactory<any, any>, ItemLoader<any, any>>()\n\t\treturn {\n\t\t\tproject,\n\t\t\tidentity,\n\t\t\tgetSchema,\n\t\t\tauthorizator: this.authorizator,\n\t\t\tdb,\n\t\t\trequireAccess: async (action, stage, message?) => {\n\t\t\t\tif (!(await this.authorizator.isAllowed(identity, new StageScope(stage, stagePermissionsFactory), action))) {\n\t\t\t\t\tthrow new ForbiddenError(message || 'Forbidden')\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLoader: loaderFactory => {\n\t\t\t\tconst loader = loaders.get(loaderFactory)\n\t\t\t\tif (loader) {\n\t\t\t\t\treturn loader\n\t\t\t\t}\n\t\t\t\tconst newLoader = loaderFactory(db)\n\t\t\t\tloaders.set(loaderFactory, newLoader)\n\t\t\t\treturn newLoader\n\t\t\t},\n\t\t}\n\t}\n}\n\nexport type LoaderFactory<Args, Item> = (db: DatabaseContext) => ItemLoader<Args, Item>\n\nexport interface SystemResolverContext {\n\treadonly project: ProjectConfig\n\treadonly getSchema: SchemaGetter\n\treadonly identity: Identity\n\treadonly db: DatabaseContext\n\treadonly authorizator: Authorizator<Identity>\n\treadonly requireAccess: (action: Authorizator.Action, stage: string, message?: string) => Promise<void>\n\treadonly getLoader: <Args, Item>(loaderFactory: LoaderFactory<Args, Item>) => ItemLoader<Args, Item>\n}\n"],"names":[],"mappings":";;;AASO,MAAM,6BAA6B;AAAA,EACzC,YACkB,cAChB;AADgB,SAAA,eAAA;AAAA,EACf;AAAA,EAEH,MAAa,OACZ,EAAE,WAAW,UAAU,SAAS,MACC;AACjC,UAAM,0BAA0B,IAAI,wBAAwB,SAAS;AACrE,UAAM,8BAAc,IAAA;AACpB,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,MACnB;AAAA,MACA,eAAe,OAAO,QAAQ,OAAO,YAAa;AACjD,YAAI,CAAE,MAAM,KAAK,aAAa,UAAU,UAAU,IAAI,WAAW,OAAO,uBAAuB,GAAG,MAAM,GAAI;AAC3G,gBAAM,IAAI,eAAe,WAAW,WAAW;AAAA,QAChD;AAAA,MACD;AAAA,MACA,WAAW,CAAA,kBAAiB;AAC3B,cAAM,SAAS,QAAQ,IAAI,aAAa;AACxC,YAAI,QAAQ;AACX,iBAAO;AAAA,QACR;AACA,cAAM,YAAY,cAAc,EAAE;AAClC,gBAAQ,IAAI,eAAe,SAAS;AACpC,eAAO;AAAA,MACR;AAAA,IAAA;AAAA,EAEF;AACD;"}
|
|
@@ -24,6 +24,7 @@ class MigrateMutationResolver {
|
|
|
24
24
|
}
|
|
25
25
|
async migrate(parent, args, context, info, force = false) {
|
|
26
26
|
const migrations = this.parseMigrationInput(args);
|
|
27
|
+
const schemaState = args.schemaState ?? void 0;
|
|
27
28
|
return context.db.locked(pg_lock_id, (db) => db.transaction(async (trx) => {
|
|
28
29
|
const stages = await trx.queryHandler.fetch(new StagesQuery.StagesQuery());
|
|
29
30
|
for (const stage of stages) {
|
|
@@ -36,6 +37,7 @@ class MigrateMutationResolver {
|
|
|
36
37
|
identity: context.identity,
|
|
37
38
|
stages,
|
|
38
39
|
migrationsToExecute: migrations,
|
|
40
|
+
schemaState,
|
|
39
41
|
options: {
|
|
40
42
|
ignoreOrder: force,
|
|
41
43
|
skipExecuted: true
|
|
@@ -64,8 +66,54 @@ class MigrateMutationResolver {
|
|
|
64
66
|
};
|
|
65
67
|
}));
|
|
66
68
|
}
|
|
69
|
+
async migrateFromSnapshot(parent, args, context, info) {
|
|
70
|
+
const covers = this.parseMigrations(args.snapshot.covers);
|
|
71
|
+
const schemaState = args.schemaState ?? void 0;
|
|
72
|
+
return context.db.locked(pg_lock_id, (db) => db.transaction(async (trx) => {
|
|
73
|
+
const stages = await trx.queryHandler.fetch(new StagesQuery.StagesQuery());
|
|
74
|
+
for (const stage of stages) {
|
|
75
|
+
await context.requireAccess(AuthorizationActions.AuthorizationActions.PROJECT_MIGRATE, stage.slug);
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
await this.projectMigrator.migrateFromSnapshot({
|
|
79
|
+
db: trx,
|
|
80
|
+
project: context.project,
|
|
81
|
+
stages,
|
|
82
|
+
snapshot: {
|
|
83
|
+
formatVersion: args.snapshot.formatVersion,
|
|
84
|
+
modifications: args.snapshot.modifications
|
|
85
|
+
},
|
|
86
|
+
covers,
|
|
87
|
+
schemaState
|
|
88
|
+
});
|
|
89
|
+
} catch (e) {
|
|
90
|
+
if (e instanceof ProjectMigrator.MigrationError) {
|
|
91
|
+
await trx.client.connection.rollback();
|
|
92
|
+
const error = {
|
|
93
|
+
code: e.code,
|
|
94
|
+
migration: e.version,
|
|
95
|
+
developerMessage: e.message
|
|
96
|
+
};
|
|
97
|
+
return {
|
|
98
|
+
ok: false,
|
|
99
|
+
errors: [error],
|
|
100
|
+
error
|
|
101
|
+
};
|
|
102
|
+
} else {
|
|
103
|
+
throw e;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
ok: true,
|
|
108
|
+
errors: []
|
|
109
|
+
};
|
|
110
|
+
}));
|
|
111
|
+
}
|
|
67
112
|
parseMigrationInput(args) {
|
|
68
|
-
return args.migrations
|
|
113
|
+
return this.parseMigrations(args.migrations);
|
|
114
|
+
}
|
|
115
|
+
parseMigrations(migrations) {
|
|
116
|
+
return migrations.map((it) => {
|
|
69
117
|
if (!it.type) {
|
|
70
118
|
if (!it.modifications || !it.formatVersion) {
|
|
71
119
|
throw new graphqlUtils.UserInputError("invalid migration format");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrateMutationResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { MutationResolver } from '../Resolver'\nimport { MigrateResponse, MigrationType, MutationMigrateArgs } from '../../schema'\nimport { Migration } from '@contember/schema-migrations'\nimport { AuthorizationActions, MigrationError, ProjectMigrator, StagesQuery } from '../../model'\nimport { MigrationInput } from '../../model/migrations/MigrationInput'\nimport { UserInputError } from '@contember/graphql-utils'\nimport { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport { assertNever } from '../../utils'\n\nconst pg_lock_id = 1597474138739147\n\nexport class MigrateMutationResolver implements MutationResolver<'migrate'> {\n\tconstructor(private readonly projectMigrator: ProjectMigrator) {}\n\n\tasync migrateForce(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrateResponse> {\n\t\treturn this.migrate(parent, args, context, info, true)\n\t}\n\n\tasync migrate(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t\tforce = false,\n\t): Promise<MigrateResponse> {\n\t\tconst migrations = this.parseMigrationInput(args)\n\n\t\treturn context.db.locked(pg_lock_id, db =>\n\t\t\tdb.transaction(async trx => {\n\t\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\t\tfor (const stage of stages) {\n\t\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tawait this.projectMigrator.migrate({\n\t\t\t\t\t\tdb: trx,\n\t\t\t\t\t\tproject: context.project,\n\t\t\t\t\t\tidentity: context.identity,\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tmigrationsToExecute: migrations,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tignoreOrder: force,\n\t\t\t\t\t\t\tskipExecuted: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\t\tconst error = {\n\t\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tok: false,\n\t\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow e\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tok: true,\n\t\t\t\t\terrors: [],\n\t\t\t\t}\n\t\t\t}))\n\t}\n\n\tprivate parseMigrationInput(args: MutationMigrateArgs): MigrationInput[] {\n\t\treturn args.migrations.map((it): MigrationInput => {\n\t\t\tif (!it.type) {\n\t\t\t\tif (!it.modifications || !it.formatVersion) {\n\t\t\t\t\tthrow new UserInputError('invalid migration format')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tformatVersion: it.formatVersion,\n\t\t\t\t\tmodifications: it.modifications as Migration.Modification[],\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tskippedErrors: (it.skippedErrors as SchemaValidatorSkippedErrors[]) ?? undefined,\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Schema) {\n\t\t\t\tif (!it.schemaMigration) {\n\t\t\t\t\tthrow new UserInputError('schemaMigration must be defined for SCHEMA type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\t...(it.schemaMigration as Omit<Migration, 'name' | 'version'>),\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Content) {\n\t\t\t\tif (!it.contentMigration) {\n\t\t\t\t\tthrow new UserInputError('contentMigration must be defined for CONTENT type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'content',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tqueries: it.contentMigration.map(it => ({\n\t\t\t\t\t\tquery: it.query,\n\t\t\t\t\t\tstage: it.stage ?? undefined,\n\t\t\t\t\t\tvariables: it.variables ?? undefined,\n\t\t\t\t\t})),\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn assertNever(it.type)\n\t\t})\n\t}\n}\n"],"names":["StagesQuery","AuthorizationActions","MigrationError","UserInputError","MigrationType","it","assertNever"],"mappings":";;;;;;;;;;;;;;;;AAWA,MAAM,aAAa;AAEZ,MAAM,wBAA+D;AAAA,EAC3E,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAM,aACL,QACA,MACA,SACA,MAC2B;AAC3B,WAAO,KAAK,QAAQ,QAAQ,MAAM,SAAS,MAAM,IAAI;AAAA,EACtD;AAAA,EAEA,MAAM,QACL,QACA,MACA,SACA,MACA,QAAQ,OACmB;AAC3B,UAAM,aAAa,KAAK,oBAAoB,IAAI;
|
|
1
|
+
{"version":3,"file":"MigrateMutationResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { MutationResolver } from '../Resolver.js'\nimport { MigrateResponse, MigrationType, MutationMigrateArgs, MutationMigrateFromSnapshotArgs } from '../../schema/index.js'\nimport { Migration } from '@contember/schema-migrations'\nimport { AuthorizationActions, MigrationError, ProjectMigrator, StagesQuery } from '../../model/index.js'\nimport { MigrationInput } from '../../model/migrations/MigrationInput.js'\nimport { UserInputError } from '@contember/graphql-utils'\nimport { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport { assertNever } from '../../utils/index.js'\n\nconst pg_lock_id = 1597474138739147\n\nexport class MigrateMutationResolver implements MutationResolver<'migrate'> {\n\tconstructor(private readonly projectMigrator: ProjectMigrator) {}\n\n\tasync migrateForce(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrateResponse> {\n\t\treturn this.migrate(parent, args, context, info, true)\n\t}\n\n\tasync migrate(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t\tforce = false,\n\t): Promise<MigrateResponse> {\n\t\tconst migrations = this.parseMigrationInput(args)\n\t\tconst schemaState = args.schemaState ?? undefined\n\n\t\treturn context.db.locked(pg_lock_id, db =>\n\t\t\tdb.transaction(async trx => {\n\t\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\t\tfor (const stage of stages) {\n\t\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tawait this.projectMigrator.migrate({\n\t\t\t\t\t\tdb: trx,\n\t\t\t\t\t\tproject: context.project,\n\t\t\t\t\t\tidentity: context.identity,\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tmigrationsToExecute: migrations,\n\t\t\t\t\t\tschemaState,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tignoreOrder: force,\n\t\t\t\t\t\t\tskipExecuted: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\t\tconst error = {\n\t\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tok: false,\n\t\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow e\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tok: true,\n\t\t\t\t\terrors: [],\n\t\t\t\t}\n\t\t\t}))\n\t}\n\n\tasync migrateFromSnapshot(\n\t\tparent: any,\n\t\targs: MutationMigrateFromSnapshotArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrateResponse> {\n\t\tconst covers = this.parseMigrations(args.snapshot.covers)\n\t\tconst schemaState = args.schemaState ?? undefined\n\n\t\treturn context.db.locked(pg_lock_id, db =>\n\t\t\tdb.transaction(async trx => {\n\t\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\t\tfor (const stage of stages) {\n\t\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tawait this.projectMigrator.migrateFromSnapshot({\n\t\t\t\t\t\tdb: trx,\n\t\t\t\t\t\tproject: context.project,\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tsnapshot: {\n\t\t\t\t\t\t\tformatVersion: args.snapshot.formatVersion,\n\t\t\t\t\t\t\tmodifications: args.snapshot.modifications as Migration.Modification[],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcovers,\n\t\t\t\t\t\tschemaState,\n\t\t\t\t\t})\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\t\tconst error = {\n\t\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tok: false,\n\t\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow e\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tok: true,\n\t\t\t\t\terrors: [],\n\t\t\t\t}\n\t\t\t}))\n\t}\n\n\tprivate parseMigrationInput(args: MutationMigrateArgs): MigrationInput[] {\n\t\treturn this.parseMigrations(args.migrations)\n\t}\n\n\tprivate parseMigrations(migrations: MutationMigrateArgs['migrations']): MigrationInput[] {\n\t\treturn migrations.map((it): MigrationInput => {\n\t\t\tif (!it.type) {\n\t\t\t\tif (!it.modifications || !it.formatVersion) {\n\t\t\t\t\tthrow new UserInputError('invalid migration format')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tformatVersion: it.formatVersion,\n\t\t\t\t\tmodifications: it.modifications as Migration.Modification[],\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tskippedErrors: (it.skippedErrors as SchemaValidatorSkippedErrors[]) ?? undefined,\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Schema) {\n\t\t\t\tif (!it.schemaMigration) {\n\t\t\t\t\tthrow new UserInputError('schemaMigration must be defined for SCHEMA type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\t...(it.schemaMigration as Omit<Migration, 'name' | 'version'>),\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Content) {\n\t\t\t\tif (!it.contentMigration) {\n\t\t\t\t\tthrow new UserInputError('contentMigration must be defined for CONTENT type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'content',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tqueries: it.contentMigration.map(it => ({\n\t\t\t\t\t\tquery: it.query,\n\t\t\t\t\t\tstage: it.stage ?? undefined,\n\t\t\t\t\t\tvariables: it.variables ?? undefined,\n\t\t\t\t\t})),\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn assertNever(it.type)\n\t\t})\n\t}\n}\n"],"names":["StagesQuery","AuthorizationActions","MigrationError","UserInputError","MigrationType","it","assertNever"],"mappings":";;;;;;;;;;;;;;;;AAWA,MAAM,aAAa;AAEZ,MAAM,wBAA+D;AAAA,EAC3E,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAM,aACL,QACA,MACA,SACA,MAC2B;AAC3B,WAAO,KAAK,QAAQ,QAAQ,MAAM,SAAS,MAAM,IAAI;AAAA,EACtD;AAAA,EAEA,MAAM,QACL,QACA,MACA,SACA,MACA,QAAQ,OACmB;AAC3B,UAAM,aAAa,KAAK,oBAAoB,IAAI;AAChD,UAAM,cAAc,KAAK,eAAe;AAExC,WAAO,QAAQ,GAAG,OAAO,YAAY,QACpC,GAAG,YAAY,OAAM,QAAO;AAC3B,YAAM,SAAS,MAAM,IAAI,aAAa,MAAM,IAAIA,YAAAA,aAAa;AAC7D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,QAAQ,cAAcC,qBAAAA,qBAAqB,iBAAiB,MAAM,IAAI;AAAA,MAC7E;AACA,UAAI;AACH,cAAM,KAAK,gBAAgB,QAAQ;AAAA,UAClC,IAAI;AAAA,UACJ,SAAS,QAAQ;AAAA,UACjB,UAAU,QAAQ;AAAA,UAClB;AAAA,UACA,qBAAqB;AAAA,UACrB;AAAA,UACA,SAAS;AAAA,YACR,aAAa;AAAA,YACb,cAAc;AAAA,UAAA;AAAA,QACf,CACA;AAAA,MACF,SAAS,GAAG;AACX,YAAI,aAAaC,gBAAAA,gBAAgB;AAChC,gBAAM,IAAI,OAAO,WAAW,SAAA;AAC5B,gBAAM,QAAQ;AAAA,YACb,MAAM,EAAE;AAAA,YACR,WAAW,EAAE;AAAA,YACb,kBAAkB,EAAE;AAAA,UAAA;AAErB,iBAAO;AAAA,YACN,IAAI;AAAA,YACJ,QAAQ,CAAC,KAAK;AAAA,YACd;AAAA,UAAA;AAAA,QAEF,OAAO;AACN,gBAAM;AAAA,QACP;AAAA,MACD;AACA,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ,CAAA;AAAA,MAAC;AAAA,IAEX,CAAC,CAAC;AAAA,EACJ;AAAA,EAEA,MAAM,oBACL,QACA,MACA,SACA,MAC2B;AAC3B,UAAM,SAAS,KAAK,gBAAgB,KAAK,SAAS,MAAM;AACxD,UAAM,cAAc,KAAK,eAAe;AAExC,WAAO,QAAQ,GAAG,OAAO,YAAY,QACpC,GAAG,YAAY,OAAM,QAAO;AAC3B,YAAM,SAAS,MAAM,IAAI,aAAa,MAAM,IAAIF,YAAAA,aAAa;AAC7D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,QAAQ,cAAcC,qBAAAA,qBAAqB,iBAAiB,MAAM,IAAI;AAAA,MAC7E;AACA,UAAI;AACH,cAAM,KAAK,gBAAgB,oBAAoB;AAAA,UAC9C,IAAI;AAAA,UACJ,SAAS,QAAQ;AAAA,UACjB;AAAA,UACA,UAAU;AAAA,YACT,eAAe,KAAK,SAAS;AAAA,YAC7B,eAAe,KAAK,SAAS;AAAA,UAAA;AAAA,UAE9B;AAAA,UACA;AAAA,QAAA,CACA;AAAA,MACF,SAAS,GAAG;AACX,YAAI,aAAaC,gBAAAA,gBAAgB;AAChC,gBAAM,IAAI,OAAO,WAAW,SAAA;AAC5B,gBAAM,QAAQ;AAAA,YACb,MAAM,EAAE;AAAA,YACR,WAAW,EAAE;AAAA,YACb,kBAAkB,EAAE;AAAA,UAAA;AAErB,iBAAO;AAAA,YACN,IAAI;AAAA,YACJ,QAAQ,CAAC,KAAK;AAAA,YACd;AAAA,UAAA;AAAA,QAEF,OAAO;AACN,gBAAM;AAAA,QACP;AAAA,MACD;AACA,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ,CAAA;AAAA,MAAC;AAAA,IAEX,CAAC,CAAC;AAAA,EACJ;AAAA,EAEQ,oBAAoB,MAA6C;AACxE,WAAO,KAAK,gBAAgB,KAAK,UAAU;AAAA,EAC5C;AAAA,EAEQ,gBAAgB,YAAiE;AACxF,WAAO,WAAW,IAAI,CAAC,OAAuB;AAC7C,UAAI,CAAC,GAAG,MAAM;AACb,YAAI,CAAC,GAAG,iBAAiB,CAAC,GAAG,eAAe;AAC3C,gBAAM,IAAIC,aAAAA,eAAe,0BAA0B;AAAA,QACpD;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,eAAe,GAAG;AAAA,UAClB,eAAe,GAAG;AAAA,UAClB,SAAS,GAAG;AAAA,UACZ,MAAM,GAAG;AAAA,UACT,eAAgB,GAAG,iBAAoD;AAAA,QAAA;AAAA,MAEzE;AACA,UAAI,GAAG,SAASC,MAAAA,cAAc,QAAQ;AACrC,YAAI,CAAC,GAAG,iBAAiB;AACxB,gBAAM,IAAID,aAAAA,eAAe,iDAAiD;AAAA,QAC3E;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,GAAI,GAAG;AAAA,QAAA;AAAA,MAET;AACA,UAAI,GAAG,SAASC,MAAAA,cAAc,SAAS;AACtC,YAAI,CAAC,GAAG,kBAAkB;AACzB,gBAAM,IAAID,aAAAA,eAAe,mDAAmD;AAAA,QAC7E;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,SAAS,GAAG,iBAAiB,IAAI,CAAAE,SAAO;AAAA,YACvC,OAAOA,IAAG;AAAA,YACV,OAAOA,IAAG,SAAS;AAAA,YACnB,WAAWA,IAAG,aAAa;AAAA,UAAA,EAC1B;AAAA,QAAA;AAAA,MAEJ;AACA,aAAOC,YAAAA,YAAY,GAAG,IAAI;AAAA,IAC3B,CAAC;AAAA,EACF;AACD;;"}
|
|
@@ -22,6 +22,7 @@ class MigrateMutationResolver {
|
|
|
22
22
|
}
|
|
23
23
|
async migrate(parent, args, context, info, force = false) {
|
|
24
24
|
const migrations = this.parseMigrationInput(args);
|
|
25
|
+
const schemaState = args.schemaState ?? void 0;
|
|
25
26
|
return context.db.locked(pg_lock_id, (db) => db.transaction(async (trx) => {
|
|
26
27
|
const stages = await trx.queryHandler.fetch(new StagesQuery());
|
|
27
28
|
for (const stage of stages) {
|
|
@@ -34,6 +35,7 @@ class MigrateMutationResolver {
|
|
|
34
35
|
identity: context.identity,
|
|
35
36
|
stages,
|
|
36
37
|
migrationsToExecute: migrations,
|
|
38
|
+
schemaState,
|
|
37
39
|
options: {
|
|
38
40
|
ignoreOrder: force,
|
|
39
41
|
skipExecuted: true
|
|
@@ -62,8 +64,54 @@ class MigrateMutationResolver {
|
|
|
62
64
|
};
|
|
63
65
|
}));
|
|
64
66
|
}
|
|
67
|
+
async migrateFromSnapshot(parent, args, context, info) {
|
|
68
|
+
const covers = this.parseMigrations(args.snapshot.covers);
|
|
69
|
+
const schemaState = args.schemaState ?? void 0;
|
|
70
|
+
return context.db.locked(pg_lock_id, (db) => db.transaction(async (trx) => {
|
|
71
|
+
const stages = await trx.queryHandler.fetch(new StagesQuery());
|
|
72
|
+
for (const stage of stages) {
|
|
73
|
+
await context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug);
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
await this.projectMigrator.migrateFromSnapshot({
|
|
77
|
+
db: trx,
|
|
78
|
+
project: context.project,
|
|
79
|
+
stages,
|
|
80
|
+
snapshot: {
|
|
81
|
+
formatVersion: args.snapshot.formatVersion,
|
|
82
|
+
modifications: args.snapshot.modifications
|
|
83
|
+
},
|
|
84
|
+
covers,
|
|
85
|
+
schemaState
|
|
86
|
+
});
|
|
87
|
+
} catch (e) {
|
|
88
|
+
if (e instanceof MigrationError) {
|
|
89
|
+
await trx.client.connection.rollback();
|
|
90
|
+
const error = {
|
|
91
|
+
code: e.code,
|
|
92
|
+
migration: e.version,
|
|
93
|
+
developerMessage: e.message
|
|
94
|
+
};
|
|
95
|
+
return {
|
|
96
|
+
ok: false,
|
|
97
|
+
errors: [error],
|
|
98
|
+
error
|
|
99
|
+
};
|
|
100
|
+
} else {
|
|
101
|
+
throw e;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
ok: true,
|
|
106
|
+
errors: []
|
|
107
|
+
};
|
|
108
|
+
}));
|
|
109
|
+
}
|
|
65
110
|
parseMigrationInput(args) {
|
|
66
|
-
return args.migrations
|
|
111
|
+
return this.parseMigrations(args.migrations);
|
|
112
|
+
}
|
|
113
|
+
parseMigrations(migrations) {
|
|
114
|
+
return migrations.map((it) => {
|
|
67
115
|
if (!it.type) {
|
|
68
116
|
if (!it.modifications || !it.formatVersion) {
|
|
69
117
|
throw new UserInputError("invalid migration format");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrateMutationResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { MutationResolver } from '../Resolver'\nimport { MigrateResponse, MigrationType, MutationMigrateArgs } from '../../schema'\nimport { Migration } from '@contember/schema-migrations'\nimport { AuthorizationActions, MigrationError, ProjectMigrator, StagesQuery } from '../../model'\nimport { MigrationInput } from '../../model/migrations/MigrationInput'\nimport { UserInputError } from '@contember/graphql-utils'\nimport { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport { assertNever } from '../../utils'\n\nconst pg_lock_id = 1597474138739147\n\nexport class MigrateMutationResolver implements MutationResolver<'migrate'> {\n\tconstructor(private readonly projectMigrator: ProjectMigrator) {}\n\n\tasync migrateForce(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrateResponse> {\n\t\treturn this.migrate(parent, args, context, info, true)\n\t}\n\n\tasync migrate(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t\tforce = false,\n\t): Promise<MigrateResponse> {\n\t\tconst migrations = this.parseMigrationInput(args)\n\n\t\treturn context.db.locked(pg_lock_id, db =>\n\t\t\tdb.transaction(async trx => {\n\t\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\t\tfor (const stage of stages) {\n\t\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tawait this.projectMigrator.migrate({\n\t\t\t\t\t\tdb: trx,\n\t\t\t\t\t\tproject: context.project,\n\t\t\t\t\t\tidentity: context.identity,\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tmigrationsToExecute: migrations,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tignoreOrder: force,\n\t\t\t\t\t\t\tskipExecuted: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\t\tconst error = {\n\t\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tok: false,\n\t\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow e\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tok: true,\n\t\t\t\t\terrors: [],\n\t\t\t\t}\n\t\t\t}))\n\t}\n\n\tprivate parseMigrationInput(args: MutationMigrateArgs): MigrationInput[] {\n\t\treturn args.migrations.map((it): MigrationInput => {\n\t\t\tif (!it.type) {\n\t\t\t\tif (!it.modifications || !it.formatVersion) {\n\t\t\t\t\tthrow new UserInputError('invalid migration format')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tformatVersion: it.formatVersion,\n\t\t\t\t\tmodifications: it.modifications as Migration.Modification[],\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tskippedErrors: (it.skippedErrors as SchemaValidatorSkippedErrors[]) ?? undefined,\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Schema) {\n\t\t\t\tif (!it.schemaMigration) {\n\t\t\t\t\tthrow new UserInputError('schemaMigration must be defined for SCHEMA type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\t...(it.schemaMigration as Omit<Migration, 'name' | 'version'>),\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Content) {\n\t\t\t\tif (!it.contentMigration) {\n\t\t\t\t\tthrow new UserInputError('contentMigration must be defined for CONTENT type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'content',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tqueries: it.contentMigration.map(it => ({\n\t\t\t\t\t\tquery: it.query,\n\t\t\t\t\t\tstage: it.stage ?? undefined,\n\t\t\t\t\t\tvariables: it.variables ?? undefined,\n\t\t\t\t\t})),\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn assertNever(it.type)\n\t\t})\n\t}\n}\n"],"names":["it"],"mappings":";;;;;;;;;;;;;;AAWA,MAAM,aAAa;AAEZ,MAAM,wBAA+D;AAAA,EAC3E,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAM,aACL,QACA,MACA,SACA,MAC2B;AAC3B,WAAO,KAAK,QAAQ,QAAQ,MAAM,SAAS,MAAM,IAAI;AAAA,EACtD;AAAA,EAEA,MAAM,QACL,QACA,MACA,SACA,MACA,QAAQ,OACmB;AAC3B,UAAM,aAAa,KAAK,oBAAoB,IAAI;
|
|
1
|
+
{"version":3,"file":"MigrateMutationResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { MutationResolver } from '../Resolver.js'\nimport { MigrateResponse, MigrationType, MutationMigrateArgs, MutationMigrateFromSnapshotArgs } from '../../schema/index.js'\nimport { Migration } from '@contember/schema-migrations'\nimport { AuthorizationActions, MigrationError, ProjectMigrator, StagesQuery } from '../../model/index.js'\nimport { MigrationInput } from '../../model/migrations/MigrationInput.js'\nimport { UserInputError } from '@contember/graphql-utils'\nimport { SchemaValidatorSkippedErrors } from '@contember/schema-utils'\nimport { assertNever } from '../../utils/index.js'\n\nconst pg_lock_id = 1597474138739147\n\nexport class MigrateMutationResolver implements MutationResolver<'migrate'> {\n\tconstructor(private readonly projectMigrator: ProjectMigrator) {}\n\n\tasync migrateForce(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrateResponse> {\n\t\treturn this.migrate(parent, args, context, info, true)\n\t}\n\n\tasync migrate(\n\t\tparent: any,\n\t\targs: MutationMigrateArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t\tforce = false,\n\t): Promise<MigrateResponse> {\n\t\tconst migrations = this.parseMigrationInput(args)\n\t\tconst schemaState = args.schemaState ?? undefined\n\n\t\treturn context.db.locked(pg_lock_id, db =>\n\t\t\tdb.transaction(async trx => {\n\t\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\t\tfor (const stage of stages) {\n\t\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tawait this.projectMigrator.migrate({\n\t\t\t\t\t\tdb: trx,\n\t\t\t\t\t\tproject: context.project,\n\t\t\t\t\t\tidentity: context.identity,\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tmigrationsToExecute: migrations,\n\t\t\t\t\t\tschemaState,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tignoreOrder: force,\n\t\t\t\t\t\t\tskipExecuted: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\t\tconst error = {\n\t\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tok: false,\n\t\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow e\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tok: true,\n\t\t\t\t\terrors: [],\n\t\t\t\t}\n\t\t\t}))\n\t}\n\n\tasync migrateFromSnapshot(\n\t\tparent: any,\n\t\targs: MutationMigrateFromSnapshotArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrateResponse> {\n\t\tconst covers = this.parseMigrations(args.snapshot.covers)\n\t\tconst schemaState = args.schemaState ?? undefined\n\n\t\treturn context.db.locked(pg_lock_id, db =>\n\t\t\tdb.transaction(async trx => {\n\t\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\t\tfor (const stage of stages) {\n\t\t\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_MIGRATE, stage.slug)\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tawait this.projectMigrator.migrateFromSnapshot({\n\t\t\t\t\t\tdb: trx,\n\t\t\t\t\t\tproject: context.project,\n\t\t\t\t\t\tstages,\n\t\t\t\t\t\tsnapshot: {\n\t\t\t\t\t\t\tformatVersion: args.snapshot.formatVersion,\n\t\t\t\t\t\t\tmodifications: args.snapshot.modifications as Migration.Modification[],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcovers,\n\t\t\t\t\t\tschemaState,\n\t\t\t\t\t})\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof MigrationError) {\n\t\t\t\t\t\tawait trx.client.connection.rollback()\n\t\t\t\t\t\tconst error = {\n\t\t\t\t\t\t\tcode: e.code,\n\t\t\t\t\t\t\tmigration: e.version,\n\t\t\t\t\t\t\tdeveloperMessage: e.message,\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tok: false,\n\t\t\t\t\t\t\terrors: [error],\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow e\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tok: true,\n\t\t\t\t\terrors: [],\n\t\t\t\t}\n\t\t\t}))\n\t}\n\n\tprivate parseMigrationInput(args: MutationMigrateArgs): MigrationInput[] {\n\t\treturn this.parseMigrations(args.migrations)\n\t}\n\n\tprivate parseMigrations(migrations: MutationMigrateArgs['migrations']): MigrationInput[] {\n\t\treturn migrations.map((it): MigrationInput => {\n\t\t\tif (!it.type) {\n\t\t\t\tif (!it.modifications || !it.formatVersion) {\n\t\t\t\t\tthrow new UserInputError('invalid migration format')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tformatVersion: it.formatVersion,\n\t\t\t\t\tmodifications: it.modifications as Migration.Modification[],\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tskippedErrors: (it.skippedErrors as SchemaValidatorSkippedErrors[]) ?? undefined,\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Schema) {\n\t\t\t\tif (!it.schemaMigration) {\n\t\t\t\t\tthrow new UserInputError('schemaMigration must be defined for SCHEMA type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\t...(it.schemaMigration as Omit<Migration, 'name' | 'version'>),\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (it.type === MigrationType.Content) {\n\t\t\t\tif (!it.contentMigration) {\n\t\t\t\t\tthrow new UserInputError('contentMigration must be defined for CONTENT type')\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'content',\n\t\t\t\t\tname: it.name,\n\t\t\t\t\tversion: it.version,\n\t\t\t\t\tqueries: it.contentMigration.map(it => ({\n\t\t\t\t\t\tquery: it.query,\n\t\t\t\t\t\tstage: it.stage ?? undefined,\n\t\t\t\t\t\tvariables: it.variables ?? undefined,\n\t\t\t\t\t})),\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn assertNever(it.type)\n\t\t})\n\t}\n}\n"],"names":["it"],"mappings":";;;;;;;;;;;;;;AAWA,MAAM,aAAa;AAEZ,MAAM,wBAA+D;AAAA,EAC3E,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAM,aACL,QACA,MACA,SACA,MAC2B;AAC3B,WAAO,KAAK,QAAQ,QAAQ,MAAM,SAAS,MAAM,IAAI;AAAA,EACtD;AAAA,EAEA,MAAM,QACL,QACA,MACA,SACA,MACA,QAAQ,OACmB;AAC3B,UAAM,aAAa,KAAK,oBAAoB,IAAI;AAChD,UAAM,cAAc,KAAK,eAAe;AAExC,WAAO,QAAQ,GAAG,OAAO,YAAY,QACpC,GAAG,YAAY,OAAM,QAAO;AAC3B,YAAM,SAAS,MAAM,IAAI,aAAa,MAAM,IAAI,aAAa;AAC7D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,QAAQ,cAAc,qBAAqB,iBAAiB,MAAM,IAAI;AAAA,MAC7E;AACA,UAAI;AACH,cAAM,KAAK,gBAAgB,QAAQ;AAAA,UAClC,IAAI;AAAA,UACJ,SAAS,QAAQ;AAAA,UACjB,UAAU,QAAQ;AAAA,UAClB;AAAA,UACA,qBAAqB;AAAA,UACrB;AAAA,UACA,SAAS;AAAA,YACR,aAAa;AAAA,YACb,cAAc;AAAA,UAAA;AAAA,QACf,CACA;AAAA,MACF,SAAS,GAAG;AACX,YAAI,aAAa,gBAAgB;AAChC,gBAAM,IAAI,OAAO,WAAW,SAAA;AAC5B,gBAAM,QAAQ;AAAA,YACb,MAAM,EAAE;AAAA,YACR,WAAW,EAAE;AAAA,YACb,kBAAkB,EAAE;AAAA,UAAA;AAErB,iBAAO;AAAA,YACN,IAAI;AAAA,YACJ,QAAQ,CAAC,KAAK;AAAA,YACd;AAAA,UAAA;AAAA,QAEF,OAAO;AACN,gBAAM;AAAA,QACP;AAAA,MACD;AACA,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ,CAAA;AAAA,MAAC;AAAA,IAEX,CAAC,CAAC;AAAA,EACJ;AAAA,EAEA,MAAM,oBACL,QACA,MACA,SACA,MAC2B;AAC3B,UAAM,SAAS,KAAK,gBAAgB,KAAK,SAAS,MAAM;AACxD,UAAM,cAAc,KAAK,eAAe;AAExC,WAAO,QAAQ,GAAG,OAAO,YAAY,QACpC,GAAG,YAAY,OAAM,QAAO;AAC3B,YAAM,SAAS,MAAM,IAAI,aAAa,MAAM,IAAI,aAAa;AAC7D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,QAAQ,cAAc,qBAAqB,iBAAiB,MAAM,IAAI;AAAA,MAC7E;AACA,UAAI;AACH,cAAM,KAAK,gBAAgB,oBAAoB;AAAA,UAC9C,IAAI;AAAA,UACJ,SAAS,QAAQ;AAAA,UACjB;AAAA,UACA,UAAU;AAAA,YACT,eAAe,KAAK,SAAS;AAAA,YAC7B,eAAe,KAAK,SAAS;AAAA,UAAA;AAAA,UAE9B;AAAA,UACA;AAAA,QAAA,CACA;AAAA,MACF,SAAS,GAAG;AACX,YAAI,aAAa,gBAAgB;AAChC,gBAAM,IAAI,OAAO,WAAW,SAAA;AAC5B,gBAAM,QAAQ;AAAA,YACb,MAAM,EAAE;AAAA,YACR,WAAW,EAAE;AAAA,YACb,kBAAkB,EAAE;AAAA,UAAA;AAErB,iBAAO;AAAA,YACN,IAAI;AAAA,YACJ,QAAQ,CAAC,KAAK;AAAA,YACd;AAAA,UAAA;AAAA,QAEF,OAAO;AACN,gBAAM;AAAA,QACP;AAAA,MACD;AACA,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,QAAQ,CAAA;AAAA,MAAC;AAAA,IAEX,CAAC,CAAC;AAAA,EACJ;AAAA,EAEQ,oBAAoB,MAA6C;AACxE,WAAO,KAAK,gBAAgB,KAAK,UAAU;AAAA,EAC5C;AAAA,EAEQ,gBAAgB,YAAiE;AACxF,WAAO,WAAW,IAAI,CAAC,OAAuB;AAC7C,UAAI,CAAC,GAAG,MAAM;AACb,YAAI,CAAC,GAAG,iBAAiB,CAAC,GAAG,eAAe;AAC3C,gBAAM,IAAI,eAAe,0BAA0B;AAAA,QACpD;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,eAAe,GAAG;AAAA,UAClB,eAAe,GAAG;AAAA,UAClB,SAAS,GAAG;AAAA,UACZ,MAAM,GAAG;AAAA,UACT,eAAgB,GAAG,iBAAoD;AAAA,QAAA;AAAA,MAEzE;AACA,UAAI,GAAG,SAAS,cAAc,QAAQ;AACrC,YAAI,CAAC,GAAG,iBAAiB;AACxB,gBAAM,IAAI,eAAe,iDAAiD;AAAA,QAC3E;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,GAAI,GAAG;AAAA,QAAA;AAAA,MAET;AACA,UAAI,GAAG,SAAS,cAAc,SAAS;AACtC,YAAI,CAAC,GAAG,kBAAkB;AACzB,gBAAM,IAAI,eAAe,mDAAmD;AAAA,QAC7E;AACA,eAAO;AAAA,UACN,MAAM;AAAA,UACN,MAAM,GAAG;AAAA,UACT,SAAS,GAAG;AAAA,UACZ,SAAS,GAAG,iBAAiB,IAAI,CAAAA,SAAO;AAAA,YACvC,OAAOA,IAAG;AAAA,YACV,OAAOA,IAAG,SAAS;AAAA,YACnB,WAAWA,IAAG,aAAa;AAAA,UAAA,EAC1B;AAAA,QAAA;AAAA,MAEJ;AACA,aAAO,YAAY,GAAG,IAAI;AAAA,IAC3B,CAAC;AAAA,EACF;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrationAlterMutationResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrationAlterMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { MutationResolver } from '../Resolver'\nimport {\n\tMigrationDeleteErrorCode,\n\tMigrationDeleteResponse,\n\tMigrationModifyErrorCode,\n\tMigrationModifyResponse,\n\tMutationMigrationDeleteArgs,\n\tMutationMigrationModifyArgs,\n} from '../../schema'\nimport { DeleteMigrationErrorCode, MigrationAlterer, UpdateMigrationErrorCode } from '../../model'\nimport { Migration } from '@contember/schema-migrations'\n\nexport class MigrationAlterMutationResolver implements MutationResolver<'migrationModify'>, MutationResolver<'migrationDelete'> {\n\tconstructor(private readonly migrationAlterer: MigrationAlterer) {}\n\n\tasync migrationModify(\n\t\tparent: any,\n\t\targs: MutationMigrationModifyArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationModifyResponse> {\n\t\tconst result = await this.migrationAlterer.modifyMigration(\n\t\t\tcontext.db,\n\t\t\targs.migration,\n\t\t\targs.modification as Partial<Migration>,\n\t\t)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[UpdateMigrationErrorCode.notFound]: MigrationModifyErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n\n\tasync migrationDelete(\n\t\tparent: any,\n\t\targs: MutationMigrationDeleteArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationDeleteResponse> {\n\t\tconst result = await this.migrationAlterer.deleteMigration(context.db, args.migration)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[DeleteMigrationErrorCode.notFound]: MigrationDeleteErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n}\n"],"names":["UpdateMigrationErrorCode","MigrationModifyErrorCode","DeleteMigrationErrorCode","MigrationDeleteErrorCode"],"mappings":";;;;;;;;;;;;;AAcO,MAAM,+BAAmH;AAAA,EAC/H,YAA6B,kBAAoC;AAApC,SAAA,mBAAA;AAAA,EAAqC;AAAA,EAElE,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB;AAAA,MAC1C,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAEN,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAACA,iBAAAA,yBAAyB,QAAQ,GAAGC,+BAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AAAA,EAEA,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB,gBAAgB,QAAQ,IAAI,KAAK,SAAS;AACrF,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAACC,iBAAAA,yBAAyB,QAAQ,GAAGC,+BAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AACD;;"}
|
|
1
|
+
{"version":3,"file":"MigrationAlterMutationResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrationAlterMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { MutationResolver } from '../Resolver.js'\nimport {\n\tMigrationDeleteErrorCode,\n\tMigrationDeleteResponse,\n\tMigrationModifyErrorCode,\n\tMigrationModifyResponse,\n\tMutationMigrationDeleteArgs,\n\tMutationMigrationModifyArgs,\n} from '../../schema/index.js'\nimport { DeleteMigrationErrorCode, MigrationAlterer, UpdateMigrationErrorCode } from '../../model/index.js'\nimport { Migration } from '@contember/schema-migrations'\n\nexport class MigrationAlterMutationResolver implements MutationResolver<'migrationModify'>, MutationResolver<'migrationDelete'> {\n\tconstructor(private readonly migrationAlterer: MigrationAlterer) {}\n\n\tasync migrationModify(\n\t\tparent: any,\n\t\targs: MutationMigrationModifyArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationModifyResponse> {\n\t\tconst result = await this.migrationAlterer.modifyMigration(\n\t\t\tcontext.db,\n\t\t\targs.migration,\n\t\t\targs.modification as Partial<Migration>,\n\t\t)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[UpdateMigrationErrorCode.notFound]: MigrationModifyErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n\n\tasync migrationDelete(\n\t\tparent: any,\n\t\targs: MutationMigrationDeleteArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationDeleteResponse> {\n\t\tconst result = await this.migrationAlterer.deleteMigration(context.db, args.migration)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[DeleteMigrationErrorCode.notFound]: MigrationDeleteErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n}\n"],"names":["UpdateMigrationErrorCode","MigrationModifyErrorCode","DeleteMigrationErrorCode","MigrationDeleteErrorCode"],"mappings":";;;;;;;;;;;;;AAcO,MAAM,+BAAmH;AAAA,EAC/H,YAA6B,kBAAoC;AAApC,SAAA,mBAAA;AAAA,EAAqC;AAAA,EAElE,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB;AAAA,MAC1C,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAEN,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAACA,iBAAAA,yBAAyB,QAAQ,GAAGC,+BAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AAAA,EAEA,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB,gBAAgB,QAAQ,IAAI,KAAK,SAAS;AACrF,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAACC,iBAAAA,yBAAyB,QAAQ,GAAGC,+BAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrationAlterMutationResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrationAlterMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { MutationResolver } from '../Resolver'\nimport {\n\tMigrationDeleteErrorCode,\n\tMigrationDeleteResponse,\n\tMigrationModifyErrorCode,\n\tMigrationModifyResponse,\n\tMutationMigrationDeleteArgs,\n\tMutationMigrationModifyArgs,\n} from '../../schema'\nimport { DeleteMigrationErrorCode, MigrationAlterer, UpdateMigrationErrorCode } from '../../model'\nimport { Migration } from '@contember/schema-migrations'\n\nexport class MigrationAlterMutationResolver implements MutationResolver<'migrationModify'>, MutationResolver<'migrationDelete'> {\n\tconstructor(private readonly migrationAlterer: MigrationAlterer) {}\n\n\tasync migrationModify(\n\t\tparent: any,\n\t\targs: MutationMigrationModifyArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationModifyResponse> {\n\t\tconst result = await this.migrationAlterer.modifyMigration(\n\t\t\tcontext.db,\n\t\t\targs.migration,\n\t\t\targs.modification as Partial<Migration>,\n\t\t)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[UpdateMigrationErrorCode.notFound]: MigrationModifyErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n\n\tasync migrationDelete(\n\t\tparent: any,\n\t\targs: MutationMigrationDeleteArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationDeleteResponse> {\n\t\tconst result = await this.migrationAlterer.deleteMigration(context.db, args.migration)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[DeleteMigrationErrorCode.notFound]: MigrationDeleteErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAcO,MAAM,+BAAmH;AAAA,EAC/H,YAA6B,kBAAoC;AAApC,SAAA,mBAAA;AAAA,EAAqC;AAAA,EAElE,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB;AAAA,MAC1C,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAEN,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAAC,yBAAyB,QAAQ,GAAG,yBAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AAAA,EAEA,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB,gBAAgB,QAAQ,IAAI,KAAK,SAAS;AACrF,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAAC,yBAAyB,QAAQ,GAAG,yBAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AACD;"}
|
|
1
|
+
{"version":3,"file":"MigrationAlterMutationResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/MigrationAlterMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { MutationResolver } from '../Resolver.js'\nimport {\n\tMigrationDeleteErrorCode,\n\tMigrationDeleteResponse,\n\tMigrationModifyErrorCode,\n\tMigrationModifyResponse,\n\tMutationMigrationDeleteArgs,\n\tMutationMigrationModifyArgs,\n} from '../../schema/index.js'\nimport { DeleteMigrationErrorCode, MigrationAlterer, UpdateMigrationErrorCode } from '../../model/index.js'\nimport { Migration } from '@contember/schema-migrations'\n\nexport class MigrationAlterMutationResolver implements MutationResolver<'migrationModify'>, MutationResolver<'migrationDelete'> {\n\tconstructor(private readonly migrationAlterer: MigrationAlterer) {}\n\n\tasync migrationModify(\n\t\tparent: any,\n\t\targs: MutationMigrationModifyArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationModifyResponse> {\n\t\tconst result = await this.migrationAlterer.modifyMigration(\n\t\t\tcontext.db,\n\t\t\targs.migration,\n\t\t\targs.modification as Partial<Migration>,\n\t\t)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[UpdateMigrationErrorCode.notFound]: MigrationModifyErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n\n\tasync migrationDelete(\n\t\tparent: any,\n\t\targs: MutationMigrationDeleteArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<MigrationDeleteResponse> {\n\t\tconst result = await this.migrationAlterer.deleteMigration(context.db, args.migration)\n\t\tif (result.ok) {\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t}\n\t\t}\n\t\tconst code = {\n\t\t\t[DeleteMigrationErrorCode.notFound]: MigrationDeleteErrorCode.NotFound,\n\t\t}[result.error]\n\t\treturn { ok: false, error: { code, developerMessage: result.errorMessage } }\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAcO,MAAM,+BAAmH;AAAA,EAC/H,YAA6B,kBAAoC;AAApC,SAAA,mBAAA;AAAA,EAAqC;AAAA,EAElE,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB;AAAA,MAC1C,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAEN,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAAC,yBAAyB,QAAQ,GAAG,yBAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AAAA,EAEA,MAAM,gBACL,QACA,MACA,SACA,MACmC;AACnC,UAAM,SAAS,MAAM,KAAK,iBAAiB,gBAAgB,QAAQ,IAAI,KAAK,SAAS;AACrF,QAAI,OAAO,IAAI;AACd,aAAO;AAAA,QACN,IAAI;AAAA,MAAA;AAAA,IAEN;AACA,UAAM,OAAO;AAAA,MACZ,CAAC,yBAAyB,QAAQ,GAAG,yBAAyB;AAAA,IAAA,EAC7D,OAAO,KAAK;AACd,WAAO,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,kBAAkB,OAAO,eAAa;AAAA,EAC1E;AACD;"}
|
|
@@ -5,7 +5,7 @@ class TruncateMutationResolver {
|
|
|
5
5
|
this.projectTruncateExecutor = projectTruncateExecutor;
|
|
6
6
|
}
|
|
7
7
|
async truncate(parent, args, context, info) {
|
|
8
|
-
await this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema());
|
|
8
|
+
await this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema(), context.identity.id);
|
|
9
9
|
return {
|
|
10
10
|
ok: true
|
|
11
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TruncateMutationResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/TruncateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { MutationResolver } from '../Resolver'\nimport { TruncateResponse } from '../../schema'\nimport { ProjectTruncateExecutor } from '../../model'\n\nexport class TruncateMutationResolver implements MutationResolver<'truncate'> {\n\tconstructor(private readonly projectTruncateExecutor: ProjectTruncateExecutor) {}\n\tasync truncate(\n\t\tparent: any,\n\t\targs: any,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<TruncateResponse> {\n\t\tawait this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema())\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAMO,MAAM,yBAAiE;AAAA,EAC7E,YAA6B,yBAAkD;AAAlD,SAAA,0BAAA;AAAA,EAAmD;AAAA,EAChF,MAAM,SACL,QACA,MACA,SACA,MAC4B;AAC5B,UAAM,KAAK,wBAAwB,gBAAgB,QAAQ,IAAI,QAAQ,SAAS,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"TruncateMutationResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/TruncateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { MutationResolver } from '../Resolver.js'\nimport { TruncateResponse } from '../../schema/index.js'\nimport { ProjectTruncateExecutor } from '../../model/index.js'\n\nexport class TruncateMutationResolver implements MutationResolver<'truncate'> {\n\tconstructor(private readonly projectTruncateExecutor: ProjectTruncateExecutor) {}\n\tasync truncate(\n\t\tparent: any,\n\t\targs: any,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<TruncateResponse> {\n\t\tawait this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema(), context.identity.id)\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAMO,MAAM,yBAAiE;AAAA,EAC7E,YAA6B,yBAAkD;AAAlD,SAAA,0BAAA;AAAA,EAAmD;AAAA,EAChF,MAAM,SACL,QACA,MACA,SACA,MAC4B;AAC5B,UAAM,KAAK,wBAAwB,gBAAgB,QAAQ,IAAI,QAAQ,SAAS,MAAM,QAAQ,UAAA,GAAa,QAAQ,SAAS,EAAE;AAC9H,WAAO;AAAA,MACN,IAAI;AAAA,IAAA;AAAA,EAEN;AACD;;"}
|
|
@@ -3,7 +3,7 @@ class TruncateMutationResolver {
|
|
|
3
3
|
this.projectTruncateExecutor = projectTruncateExecutor;
|
|
4
4
|
}
|
|
5
5
|
async truncate(parent, args, context, info) {
|
|
6
|
-
await this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema());
|
|
6
|
+
await this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema(), context.identity.id);
|
|
7
7
|
return {
|
|
8
8
|
ok: true
|
|
9
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TruncateMutationResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/TruncateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { MutationResolver } from '../Resolver'\nimport { TruncateResponse } from '../../schema'\nimport { ProjectTruncateExecutor } from '../../model'\n\nexport class TruncateMutationResolver implements MutationResolver<'truncate'> {\n\tconstructor(private readonly projectTruncateExecutor: ProjectTruncateExecutor) {}\n\tasync truncate(\n\t\tparent: any,\n\t\targs: any,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<TruncateResponse> {\n\t\tawait this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema())\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"AAMO,MAAM,yBAAiE;AAAA,EAC7E,YAA6B,yBAAkD;AAAlD,SAAA,0BAAA;AAAA,EAAmD;AAAA,EAChF,MAAM,SACL,QACA,MACA,SACA,MAC4B;AAC5B,UAAM,KAAK,wBAAwB,gBAAgB,QAAQ,IAAI,QAAQ,SAAS,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"TruncateMutationResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/mutation/TruncateMutationResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { MutationResolver } from '../Resolver.js'\nimport { TruncateResponse } from '../../schema/index.js'\nimport { ProjectTruncateExecutor } from '../../model/index.js'\n\nexport class TruncateMutationResolver implements MutationResolver<'truncate'> {\n\tconstructor(private readonly projectTruncateExecutor: ProjectTruncateExecutor) {}\n\tasync truncate(\n\t\tparent: any,\n\t\targs: any,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<TruncateResponse> {\n\t\tawait this.projectTruncateExecutor.truncateProject(context.db, context.project, await context.getSchema(), context.identity.id)\n\t\treturn {\n\t\t\tok: true,\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"AAMO,MAAM,yBAAiE;AAAA,EAC7E,YAA6B,yBAAkD;AAAlD,SAAA,0BAAA;AAAA,EAAmD;AAAA,EAChF,MAAM,SACL,QACA,MACA,SACA,MAC4B;AAC5B,UAAM,KAAK,wBAAwB,gBAAgB,QAAQ,IAAI,QAAQ,SAAS,MAAM,QAAQ,UAAA,GAAa,QAAQ,SAAS,EAAE;AAC9H,WAAO;AAAA,MACN,IAAI;AAAA,IAAA;AAAA,EAEN;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventsQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/EventsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { EventsOrder, QueryEventsArgs, ResolversTypes } from '../../schema'\nimport { AuthorizationActions, EventResponseBuilder, EventsQuery, StageBySlugQuery } from '../../model'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class EventsQueryResolver implements QueryResolver<'events'> {\n\tconstructor(\n\t\tprivate readonly eventResponseBuilder: EventResponseBuilder,\n\t) {\n\t}\n\n\tasync events(\n\t\tparent: any,\n\t\t{ args }: QueryEventsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ResolversTypes['Event'][]> {\n\t\treturn context.db.transaction(async db => {\n\t\t\tconst stageSlug = args?.stage ?? context.project.stages[0].slug\n\t\t\tconst stage = await db.queryHandler.fetch(new StageBySlugQuery(stageSlug))\n\t\t\tif (!stage) {\n\t\t\t\tthrow new UserInputError(`Stage ${stageSlug} not found`)\n\t\t\t}\n\t\t\tawait context.requireAccess(\n\t\t\t\tAuthorizationActions.PROJECT_HISTORY_ANY,\n\t\t\t\tstage.slug,\n\t\t\t\t'You are not allowed to view a history.',\n\t\t\t)\n\n\t\t\tconst history = await db.queryHandler.fetch(\n\t\t\t\tnew EventsQuery(\n\t\t\t\t\targs?.filter ?? {},\n\t\t\t\t\targs?.order ?? EventsOrder.AppliedAtDesc,\n\t\t\t\t\targs?.offset ?? 0,\n\t\t\t\t\tMath.min(args?.limit ?? 1000, 10000),\n\t\t\t\t),\n\t\t\t)\n\n\t\t\treturn await this.eventResponseBuilder.buildResponse(history)\n\t\t})\n\t}\n}\n"],"names":["StageBySlugQuery","UserInputError","AuthorizationActions","EventsQuery","EventsOrder"],"mappings":";;;;;;;;;;;;;;;AAOO,MAAM,oBAAuD;AAAA,EACnE,YACkB,sBAChB;AADgB,SAAA,uBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,OACL,QACA,EAAE,KAAA,GACF,SACA,MACqC;AACrC,WAAO,QAAQ,GAAG,YAAY,OAAM,OAAM;AACzC,YAAM,YAAY,MAAM,SAAS,QAAQ,QAAQ,OAAO,CAAC,EAAE;AAC3D,YAAM,QAAQ,MAAM,GAAG,aAAa,MAAM,IAAIA,iBAAAA,iBAAiB,SAAS,CAAC;AACzE,UAAI,CAAC,OAAO;AACX,cAAM,IAAIC,aAAAA,eAAe,SAAS,SAAS,YAAY;AAAA,MACxD;AACA,YAAM,QAAQ;AAAA,QACbC,qBAAAA,qBAAqB;AAAA,QACrB,MAAM;AAAA,QACN;AAAA,MAAA;AAGD,YAAM,UAAU,MAAM,GAAG,aAAa;AAAA,QACrC,IAAIC,YAAAA;AAAAA,UACH,MAAM,UAAU,CAAA;AAAA,UAChB,MAAM,SAASC,MAAAA,YAAY;AAAA,UAC3B,MAAM,UAAU;AAAA,UAChB,KAAK,IAAI,MAAM,SAAS,KAAM,GAAK;AAAA,QAAA;AAAA,MACpC;AAGD,aAAO,MAAM,KAAK,qBAAqB,cAAc,OAAO;AAAA,IAC7D,CAAC;AAAA,EACF;AACD;;"}
|
|
1
|
+
{"version":3,"file":"EventsQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/EventsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { EventsOrder, QueryEventsArgs, ResolversTypes } from '../../schema/index.js'\nimport { AuthorizationActions, EventResponseBuilder, EventsQuery, StageBySlugQuery } from '../../model/index.js'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class EventsQueryResolver implements QueryResolver<'events'> {\n\tconstructor(\n\t\tprivate readonly eventResponseBuilder: EventResponseBuilder,\n\t) {\n\t}\n\n\tasync events(\n\t\tparent: any,\n\t\t{ args }: QueryEventsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ResolversTypes['Event'][]> {\n\t\treturn context.db.transaction(async db => {\n\t\t\tconst stageSlug = args?.stage ?? context.project.stages[0].slug\n\t\t\tconst stage = await db.queryHandler.fetch(new StageBySlugQuery(stageSlug))\n\t\t\tif (!stage) {\n\t\t\t\tthrow new UserInputError(`Stage ${stageSlug} not found`)\n\t\t\t}\n\t\t\tawait context.requireAccess(\n\t\t\t\tAuthorizationActions.PROJECT_HISTORY_ANY,\n\t\t\t\tstage.slug,\n\t\t\t\t'You are not allowed to view a history.',\n\t\t\t)\n\n\t\t\tconst history = await db.queryHandler.fetch(\n\t\t\t\tnew EventsQuery(\n\t\t\t\t\targs?.filter ?? {},\n\t\t\t\t\targs?.order ?? EventsOrder.AppliedAtDesc,\n\t\t\t\t\targs?.offset ?? 0,\n\t\t\t\t\tMath.min(args?.limit ?? 1000, 10000),\n\t\t\t\t),\n\t\t\t)\n\n\t\t\treturn await this.eventResponseBuilder.buildResponse(history)\n\t\t})\n\t}\n}\n"],"names":["StageBySlugQuery","UserInputError","AuthorizationActions","EventsQuery","EventsOrder"],"mappings":";;;;;;;;;;;;;;;AAOO,MAAM,oBAAuD;AAAA,EACnE,YACkB,sBAChB;AADgB,SAAA,uBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,OACL,QACA,EAAE,KAAA,GACF,SACA,MACqC;AACrC,WAAO,QAAQ,GAAG,YAAY,OAAM,OAAM;AACzC,YAAM,YAAY,MAAM,SAAS,QAAQ,QAAQ,OAAO,CAAC,EAAE;AAC3D,YAAM,QAAQ,MAAM,GAAG,aAAa,MAAM,IAAIA,iBAAAA,iBAAiB,SAAS,CAAC;AACzE,UAAI,CAAC,OAAO;AACX,cAAM,IAAIC,aAAAA,eAAe,SAAS,SAAS,YAAY;AAAA,MACxD;AACA,YAAM,QAAQ;AAAA,QACbC,qBAAAA,qBAAqB;AAAA,QACrB,MAAM;AAAA,QACN;AAAA,MAAA;AAGD,YAAM,UAAU,MAAM,GAAG,aAAa;AAAA,QACrC,IAAIC,YAAAA;AAAAA,UACH,MAAM,UAAU,CAAA;AAAA,UAChB,MAAM,SAASC,MAAAA,YAAY;AAAA,UAC3B,MAAM,UAAU;AAAA,UAChB,KAAK,IAAI,MAAM,SAAS,KAAM,GAAK;AAAA,QAAA;AAAA,MACpC;AAGD,aAAO,MAAM,KAAK,qBAAqB,cAAc,OAAO;AAAA,IAC7D,CAAC;AAAA,EACF;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventsQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/EventsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { EventsOrder, QueryEventsArgs, ResolversTypes } from '../../schema'\nimport { AuthorizationActions, EventResponseBuilder, EventsQuery, StageBySlugQuery } from '../../model'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class EventsQueryResolver implements QueryResolver<'events'> {\n\tconstructor(\n\t\tprivate readonly eventResponseBuilder: EventResponseBuilder,\n\t) {\n\t}\n\n\tasync events(\n\t\tparent: any,\n\t\t{ args }: QueryEventsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ResolversTypes['Event'][]> {\n\t\treturn context.db.transaction(async db => {\n\t\t\tconst stageSlug = args?.stage ?? context.project.stages[0].slug\n\t\t\tconst stage = await db.queryHandler.fetch(new StageBySlugQuery(stageSlug))\n\t\t\tif (!stage) {\n\t\t\t\tthrow new UserInputError(`Stage ${stageSlug} not found`)\n\t\t\t}\n\t\t\tawait context.requireAccess(\n\t\t\t\tAuthorizationActions.PROJECT_HISTORY_ANY,\n\t\t\t\tstage.slug,\n\t\t\t\t'You are not allowed to view a history.',\n\t\t\t)\n\n\t\t\tconst history = await db.queryHandler.fetch(\n\t\t\t\tnew EventsQuery(\n\t\t\t\t\targs?.filter ?? {},\n\t\t\t\t\targs?.order ?? EventsOrder.AppliedAtDesc,\n\t\t\t\t\targs?.offset ?? 0,\n\t\t\t\t\tMath.min(args?.limit ?? 1000, 10000),\n\t\t\t\t),\n\t\t\t)\n\n\t\t\treturn await this.eventResponseBuilder.buildResponse(history)\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAOO,MAAM,oBAAuD;AAAA,EACnE,YACkB,sBAChB;AADgB,SAAA,uBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,OACL,QACA,EAAE,KAAA,GACF,SACA,MACqC;AACrC,WAAO,QAAQ,GAAG,YAAY,OAAM,OAAM;AACzC,YAAM,YAAY,MAAM,SAAS,QAAQ,QAAQ,OAAO,CAAC,EAAE;AAC3D,YAAM,QAAQ,MAAM,GAAG,aAAa,MAAM,IAAI,iBAAiB,SAAS,CAAC;AACzE,UAAI,CAAC,OAAO;AACX,cAAM,IAAI,eAAe,SAAS,SAAS,YAAY;AAAA,MACxD;AACA,YAAM,QAAQ;AAAA,QACb,qBAAqB;AAAA,QACrB,MAAM;AAAA,QACN;AAAA,MAAA;AAGD,YAAM,UAAU,MAAM,GAAG,aAAa;AAAA,QACrC,IAAI;AAAA,UACH,MAAM,UAAU,CAAA;AAAA,UAChB,MAAM,SAAS,YAAY;AAAA,UAC3B,MAAM,UAAU;AAAA,UAChB,KAAK,IAAI,MAAM,SAAS,KAAM,GAAK;AAAA,QAAA;AAAA,MACpC;AAGD,aAAO,MAAM,KAAK,qBAAqB,cAAc,OAAO;AAAA,IAC7D,CAAC;AAAA,EACF;AACD;"}
|
|
1
|
+
{"version":3,"file":"EventsQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/EventsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { EventsOrder, QueryEventsArgs, ResolversTypes } from '../../schema/index.js'\nimport { AuthorizationActions, EventResponseBuilder, EventsQuery, StageBySlugQuery } from '../../model/index.js'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class EventsQueryResolver implements QueryResolver<'events'> {\n\tconstructor(\n\t\tprivate readonly eventResponseBuilder: EventResponseBuilder,\n\t) {\n\t}\n\n\tasync events(\n\t\tparent: any,\n\t\t{ args }: QueryEventsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ResolversTypes['Event'][]> {\n\t\treturn context.db.transaction(async db => {\n\t\t\tconst stageSlug = args?.stage ?? context.project.stages[0].slug\n\t\t\tconst stage = await db.queryHandler.fetch(new StageBySlugQuery(stageSlug))\n\t\t\tif (!stage) {\n\t\t\t\tthrow new UserInputError(`Stage ${stageSlug} not found`)\n\t\t\t}\n\t\t\tawait context.requireAccess(\n\t\t\t\tAuthorizationActions.PROJECT_HISTORY_ANY,\n\t\t\t\tstage.slug,\n\t\t\t\t'You are not allowed to view a history.',\n\t\t\t)\n\n\t\t\tconst history = await db.queryHandler.fetch(\n\t\t\t\tnew EventsQuery(\n\t\t\t\t\targs?.filter ?? {},\n\t\t\t\t\targs?.order ?? EventsOrder.AppliedAtDesc,\n\t\t\t\t\targs?.offset ?? 0,\n\t\t\t\t\tMath.min(args?.limit ?? 1000, 10000),\n\t\t\t\t),\n\t\t\t)\n\n\t\t\treturn await this.eventResponseBuilder.buildResponse(history)\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAOO,MAAM,oBAAuD;AAAA,EACnE,YACkB,sBAChB;AADgB,SAAA,uBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,OACL,QACA,EAAE,KAAA,GACF,SACA,MACqC;AACrC,WAAO,QAAQ,GAAG,YAAY,OAAM,OAAM;AACzC,YAAM,YAAY,MAAM,SAAS,QAAQ,QAAQ,OAAO,CAAC,EAAE;AAC3D,YAAM,QAAQ,MAAM,GAAG,aAAa,MAAM,IAAI,iBAAiB,SAAS,CAAC;AACzE,UAAI,CAAC,OAAO;AACX,cAAM,IAAI,eAAe,SAAS,SAAS,YAAY;AAAA,MACxD;AACA,YAAM,QAAQ;AAAA,QACb,qBAAqB;AAAA,QACrB,MAAM;AAAA,QACN;AAAA,MAAA;AAGD,YAAM,UAAU,MAAM,GAAG,aAAa;AAAA,QACrC,IAAI;AAAA,UACH,MAAM,UAAU,CAAA;AAAA,UAChB,MAAM,SAAS,YAAY;AAAA,UAC3B,MAAM,UAAU;AAAA,UAChB,KAAK,IAAI,MAAM,SAAS,KAAM,GAAK;AAAA,QAAA;AAAA,MACpC;AAGD,aAAO,MAAM,KAAK,qBAAqB,cAAc,OAAO;AAAA,IAC7D,CAAC;AAAA,EACF;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutedMigrationsQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/ExecutedMigrationsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { ExecutedMigration, QueryExecutedMigrationsArgs } from '../../schema'\nimport { AuthorizationActions, ExecutedMigrationByVersionQuery, ExecutedMigrationsQuery, StagesQuery } from '../../model'\n\nexport class ExecutedMigrationsQueryResolver implements QueryResolver<'executedMigrations'> {\n\tasync executedMigrations(\n\t\tparent: any,\n\t\targs: QueryExecutedMigrationsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ExecutedMigration[]> {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_LIST_MIGRATIONS, stage.slug)\n\t\t}\n\n\t\tif (args.version) {\n\t\t\tconst migration = await context.db.queryHandler.fetch(new ExecutedMigrationByVersionQuery(args.version))\n\t\t\treturn migration ? [migration] : []\n\t\t}\n\t\treturn await context.db.queryHandler.fetch(new ExecutedMigrationsQuery())\n\t}\n}\n"],"names":["StagesQuery","AuthorizationActions","ExecutedMigrationByVersionQuery","ExecutedMigrationsQuery"],"mappings":";;;;;;;;;;;;;;AAMO,MAAM,gCAA+E;AAAA,EAC3F,MAAM,mBACL,QACA,MACA,SACA,MAC+B;AAC/B,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIA,YAAAA,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAcC,qBAAAA,qBAAqB,yBAAyB,MAAM,IAAI;AAAA,IACrF;AAEA,QAAI,KAAK,SAAS;AACjB,YAAM,YAAY,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIC,gCAAAA,gCAAgC,KAAK,OAAO,CAAC;AACvG,aAAO,YAAY,CAAC,SAAS,IAAI,CAAA;AAAA,IAClC;AACA,WAAO,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIC,wBAAAA,yBAAyB;AAAA,EACzE;AACD;;"}
|
|
1
|
+
{"version":3,"file":"ExecutedMigrationsQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/ExecutedMigrationsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { ExecutedMigration, QueryExecutedMigrationsArgs } from '../../schema/index.js'\nimport { AuthorizationActions, ExecutedMigrationByVersionQuery, ExecutedMigrationsQuery, StagesQuery } from '../../model/index.js'\n\nexport class ExecutedMigrationsQueryResolver implements QueryResolver<'executedMigrations'> {\n\tasync executedMigrations(\n\t\tparent: any,\n\t\targs: QueryExecutedMigrationsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ExecutedMigration[]> {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_LIST_MIGRATIONS, stage.slug)\n\t\t}\n\n\t\tif (args.version) {\n\t\t\tconst migration = await context.db.queryHandler.fetch(new ExecutedMigrationByVersionQuery(args.version))\n\t\t\treturn migration ? [migration] : []\n\t\t}\n\t\treturn await context.db.queryHandler.fetch(new ExecutedMigrationsQuery())\n\t}\n}\n"],"names":["StagesQuery","AuthorizationActions","ExecutedMigrationByVersionQuery","ExecutedMigrationsQuery"],"mappings":";;;;;;;;;;;;;;AAMO,MAAM,gCAA+E;AAAA,EAC3F,MAAM,mBACL,QACA,MACA,SACA,MAC+B;AAC/B,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIA,YAAAA,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAcC,qBAAAA,qBAAqB,yBAAyB,MAAM,IAAI;AAAA,IACrF;AAEA,QAAI,KAAK,SAAS;AACjB,YAAM,YAAY,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIC,gCAAAA,gCAAgC,KAAK,OAAO,CAAC;AACvG,aAAO,YAAY,CAAC,SAAS,IAAI,CAAA;AAAA,IAClC;AACA,WAAO,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIC,wBAAAA,yBAAyB;AAAA,EACzE;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutedMigrationsQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/ExecutedMigrationsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { ExecutedMigration, QueryExecutedMigrationsArgs } from '../../schema'\nimport { AuthorizationActions, ExecutedMigrationByVersionQuery, ExecutedMigrationsQuery, StagesQuery } from '../../model'\n\nexport class ExecutedMigrationsQueryResolver implements QueryResolver<'executedMigrations'> {\n\tasync executedMigrations(\n\t\tparent: any,\n\t\targs: QueryExecutedMigrationsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ExecutedMigration[]> {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_LIST_MIGRATIONS, stage.slug)\n\t\t}\n\n\t\tif (args.version) {\n\t\t\tconst migration = await context.db.queryHandler.fetch(new ExecutedMigrationByVersionQuery(args.version))\n\t\t\treturn migration ? [migration] : []\n\t\t}\n\t\treturn await context.db.queryHandler.fetch(new ExecutedMigrationsQuery())\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAMO,MAAM,gCAA+E;AAAA,EAC3F,MAAM,mBACL,QACA,MACA,SACA,MAC+B;AAC/B,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAc,qBAAqB,yBAAyB,MAAM,IAAI;AAAA,IACrF;AAEA,QAAI,KAAK,SAAS;AACjB,YAAM,YAAY,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,gCAAgC,KAAK,OAAO,CAAC;AACvG,aAAO,YAAY,CAAC,SAAS,IAAI,CAAA;AAAA,IAClC;AACA,WAAO,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,yBAAyB;AAAA,EACzE;AACD;"}
|
|
1
|
+
{"version":3,"file":"ExecutedMigrationsQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/ExecutedMigrationsQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { ExecutedMigration, QueryExecutedMigrationsArgs } from '../../schema/index.js'\nimport { AuthorizationActions, ExecutedMigrationByVersionQuery, ExecutedMigrationsQuery, StagesQuery } from '../../model/index.js'\n\nexport class ExecutedMigrationsQueryResolver implements QueryResolver<'executedMigrations'> {\n\tasync executedMigrations(\n\t\tparent: any,\n\t\targs: QueryExecutedMigrationsArgs,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t): Promise<ExecutedMigration[]> {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_LIST_MIGRATIONS, stage.slug)\n\t\t}\n\n\t\tif (args.version) {\n\t\t\tconst migration = await context.db.queryHandler.fetch(new ExecutedMigrationByVersionQuery(args.version))\n\t\t\treturn migration ? [migration] : []\n\t\t}\n\t\treturn await context.db.queryHandler.fetch(new ExecutedMigrationsQuery())\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAMO,MAAM,gCAA+E;AAAA,EAC3F,MAAM,mBACL,QACA,MACA,SACA,MAC+B;AAC/B,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAc,qBAAqB,yBAAyB,MAAM,IAAI;AAAA,IACrF;AAEA,QAAI,KAAK,SAAS;AACjB,YAAM,YAAY,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,gCAAgC,KAAK,OAAO,CAAC;AACvG,aAAO,YAAY,CAAC,SAAS,IAAI,CAAA;AAAA,IAClC;AACA,WAAO,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,yBAAyB;AAAA,EACzE;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/SchemaQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { AuthorizationActions, StagesQuery } from '../../model'\n\nexport class SchemaQueryResolver implements QueryResolver<'schema'> {\n\tasync schema(\n\t\tparent: any,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t) {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_SHOW_SCHEMA, stage.slug)\n\t\t}\n\t\treturn context.getSchema()\n\t}\n}\n"],"names":["StagesQuery","AuthorizationActions"],"mappings":";;;;;;;;;;;;AAKO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OACL,QACA,MACA,SACA,MACC;AACD,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIA,YAAAA,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAcC,qBAAAA,qBAAqB,qBAAqB,MAAM,IAAI;AAAA,IACjF;AACA,WAAO,QAAQ,UAAA;AAAA,EAChB;AACD;;"}
|
|
1
|
+
{"version":3,"file":"SchemaQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/SchemaQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { AuthorizationActions, StagesQuery } from '../../model/index.js'\n\nexport class SchemaQueryResolver implements QueryResolver<'schema'> {\n\tasync schema(\n\t\tparent: any,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t) {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_SHOW_SCHEMA, stage.slug)\n\t\t}\n\t\treturn context.getSchema()\n\t}\n}\n"],"names":["StagesQuery","AuthorizationActions"],"mappings":";;;;;;;;;;;;AAKO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OACL,QACA,MACA,SACA,MACC;AACD,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIA,YAAAA,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAcC,qBAAAA,qBAAqB,qBAAqB,MAAM,IAAI;AAAA,IACjF;AACA,WAAO,QAAQ,UAAA;AAAA,EAChB;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/SchemaQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { AuthorizationActions, StagesQuery } from '../../model'\n\nexport class SchemaQueryResolver implements QueryResolver<'schema'> {\n\tasync schema(\n\t\tparent: any,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t) {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_SHOW_SCHEMA, stage.slug)\n\t\t}\n\t\treturn context.getSchema()\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;AAKO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OACL,QACA,MACA,SACA,MACC;AACD,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAc,qBAAqB,qBAAqB,MAAM,IAAI;AAAA,IACjF;AACA,WAAO,QAAQ,UAAA;AAAA,EAChB;AACD;"}
|
|
1
|
+
{"version":3,"file":"SchemaQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/SchemaQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { AuthorizationActions, StagesQuery } from '../../model/index.js'\n\nexport class SchemaQueryResolver implements QueryResolver<'schema'> {\n\tasync schema(\n\t\tparent: any,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t\tinfo: GraphQLResolveInfo,\n\t) {\n\t\tconst stages = await context.db.queryHandler.fetch(new StagesQuery())\n\t\tfor (const stage of stages) {\n\t\t\tawait context.requireAccess(AuthorizationActions.PROJECT_SHOW_SCHEMA, stage.slug)\n\t\t}\n\t\treturn context.getSchema()\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;AAKO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OACL,QACA,MACA,SACA,MACC;AACD,UAAM,SAAS,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,aAAa;AACpE,eAAW,SAAS,QAAQ;AAC3B,YAAM,QAAQ,cAAc,qBAAqB,qBAAqB,MAAM,IAAI;AAAA,IACjF;AACA,WAAO,QAAQ,UAAA;AAAA,EAChB;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StagesQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/StagesQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { Stage } from '../../schema'\nimport { StagesQuery } from '../../model'\n\nexport class StagesQueryResolver implements QueryResolver<'stages'> {\n\tasync stages(parent: any, args: any, context: SystemResolverContext, info: GraphQLResolveInfo): Promise<Stage[]> {\n\t\treturn context.db.queryHandler.fetch(new StagesQuery())\n\t}\n}\n"],"names":["StagesQuery"],"mappings":";;;;;;;;;;;;AAMO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OAAO,QAAa,MAAW,SAAgC,MAA4C;AAChH,WAAO,QAAQ,GAAG,aAAa,MAAM,IAAIA,YAAAA,aAAa;AAAA,EACvD;AACD;;"}
|
|
1
|
+
{"version":3,"file":"StagesQueryResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/StagesQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { Stage } from '../../schema/index.js'\nimport { StagesQuery } from '../../model/index.js'\n\nexport class StagesQueryResolver implements QueryResolver<'stages'> {\n\tasync stages(parent: any, args: any, context: SystemResolverContext, info: GraphQLResolveInfo): Promise<Stage[]> {\n\t\treturn context.db.queryHandler.fetch(new StagesQuery())\n\t}\n}\n"],"names":["StagesQuery"],"mappings":";;;;;;;;;;;;AAMO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OAAO,QAAa,MAAW,SAAgC,MAA4C;AAChH,WAAO,QAAQ,GAAG,aAAa,MAAM,IAAIA,YAAAA,aAAa;AAAA,EACvD;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StagesQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/StagesQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { QueryResolver } from '../Resolver'\nimport { Stage } from '../../schema'\nimport { StagesQuery } from '../../model'\n\nexport class StagesQueryResolver implements QueryResolver<'stages'> {\n\tasync stages(parent: any, args: any, context: SystemResolverContext, info: GraphQLResolveInfo): Promise<Stage[]> {\n\t\treturn context.db.queryHandler.fetch(new StagesQuery())\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;AAMO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OAAO,QAAa,MAAW,SAAgC,MAA4C;AAChH,WAAO,QAAQ,GAAG,aAAa,MAAM,IAAI,aAAa;AAAA,EACvD;AACD;"}
|
|
1
|
+
{"version":3,"file":"StagesQueryResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/query/StagesQueryResolver.ts"],"sourcesContent":["import { GraphQLResolveInfo } from 'graphql'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { QueryResolver } from '../Resolver.js'\nimport { Stage } from '../../schema/index.js'\nimport { StagesQuery } from '../../model/index.js'\n\nexport class StagesQueryResolver implements QueryResolver<'stages'> {\n\tasync stages(parent: any, args: any, context: SystemResolverContext, info: GraphQLResolveInfo): Promise<Stage[]> {\n\t\treturn context.db.queryHandler.fetch(new StagesQuery())\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;AAMO,MAAM,oBAAuD;AAAA,EACnE,MAAM,OAAO,QAAa,MAAW,SAAgC,MAA4C;AAChH,WAAO,QAAQ,GAAG,aAAa,MAAM,IAAI,aAAa;AAAA,EACvD;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventOldValuesResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/EventOldValuesResolver.ts"],"sourcesContent":["import { DeleteEvent, DeleteEventResolvers, UpdateEvent, UpdateEventResolvers } from '../../schema'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { oldValuesLoaderFactory } from './OldValuesHelpers'\n\nexport class EventOldValuesResolver implements UpdateEventResolvers<SystemResolverContext>, DeleteEventResolvers<SystemResolverContext> {\n\tasync oldValues(\n\t\tparent: UpdateEvent | DeleteEvent,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t): Promise<object> {\n\t\treturn await context.getLoader(oldValuesLoaderFactory)(parent.id)\n\t}\n}\n"],"names":["oldValuesLoaderFactory"],"mappings":";;;AAIO,MAAM,uBAA2H;AAAA,EACvI,MAAM,UACL,QACA,MACA,SACkB;AAClB,WAAO,MAAM,QAAQ,UAAUA,iBAAAA,sBAAsB,EAAE,OAAO,EAAE;AAAA,EACjE;AACD;;"}
|
|
1
|
+
{"version":3,"file":"EventOldValuesResolver.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/EventOldValuesResolver.ts"],"sourcesContent":["import { DeleteEvent, DeleteEventResolvers, UpdateEvent, UpdateEventResolvers } from '../../schema/index.js'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { oldValuesLoaderFactory } from './OldValuesHelpers.js'\n\nexport class EventOldValuesResolver implements UpdateEventResolvers<SystemResolverContext>, DeleteEventResolvers<SystemResolverContext> {\n\tasync oldValues(\n\t\tparent: UpdateEvent | DeleteEvent,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t): Promise<object> {\n\t\treturn await context.getLoader(oldValuesLoaderFactory)(parent.id)\n\t}\n}\n"],"names":["oldValuesLoaderFactory"],"mappings":";;;AAIO,MAAM,uBAA2H;AAAA,EACvI,MAAM,UACL,QACA,MACA,SACkB;AAClB,WAAO,MAAM,QAAQ,UAAUA,iBAAAA,sBAAsB,EAAE,OAAO,EAAE;AAAA,EACjE;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventOldValuesResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/EventOldValuesResolver.ts"],"sourcesContent":["import { DeleteEvent, DeleteEventResolvers, UpdateEvent, UpdateEventResolvers } from '../../schema'\nimport { SystemResolverContext } from '../SystemResolverContext'\nimport { oldValuesLoaderFactory } from './OldValuesHelpers'\n\nexport class EventOldValuesResolver implements UpdateEventResolvers<SystemResolverContext>, DeleteEventResolvers<SystemResolverContext> {\n\tasync oldValues(\n\t\tparent: UpdateEvent | DeleteEvent,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t): Promise<object> {\n\t\treturn await context.getLoader(oldValuesLoaderFactory)(parent.id)\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,uBAA2H;AAAA,EACvI,MAAM,UACL,QACA,MACA,SACkB;AAClB,WAAO,MAAM,QAAQ,UAAU,sBAAsB,EAAE,OAAO,EAAE;AAAA,EACjE;AACD;"}
|
|
1
|
+
{"version":3,"file":"EventOldValuesResolver.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/EventOldValuesResolver.ts"],"sourcesContent":["import { DeleteEvent, DeleteEventResolvers, UpdateEvent, UpdateEventResolvers } from '../../schema/index.js'\nimport { SystemResolverContext } from '../SystemResolverContext.js'\nimport { oldValuesLoaderFactory } from './OldValuesHelpers.js'\n\nexport class EventOldValuesResolver implements UpdateEventResolvers<SystemResolverContext>, DeleteEventResolvers<SystemResolverContext> {\n\tasync oldValues(\n\t\tparent: UpdateEvent | DeleteEvent,\n\t\targs: unknown,\n\t\tcontext: SystemResolverContext,\n\t): Promise<object> {\n\t\treturn await context.getLoader(oldValuesLoaderFactory)(parent.id)\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,uBAA2H;AAAA,EACvI,MAAM,UACL,QACA,MACA,SACkB;AAClB,WAAO,MAAM,QAAQ,UAAU,sBAAsB,EAAE,OAAO,EAAE;AAAA,EACjE;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OldValuesHelpers.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/OldValuesHelpers.ts"],"sourcesContent":["import { DatabaseContext } from '../../model'\nimport { createBatchLoader } from '../../utils/batchQuery'\nimport { OldValuesQuery } from '../../model'\n\nexport const oldValuesLoaderFactory = (db: DatabaseContext) =>\n\tcreateBatchLoader<string, Record<string, object>, object>(\n\t\tasync ids => {\n\t\t\treturn db.queryHandler.fetch(new OldValuesQuery(ids))\n\t\t},\n\t\t(id, items) => items[id] ?? {},\n\t)\n"],"names":["createBatchLoader","OldValuesQuery"],"mappings":";;;;;;;;;;;;;AAIO,MAAM,yBAAyB,CAAC,OACtCA,WAAAA;AAAAA,EACC,OAAM,QAAO;AACZ,WAAO,GAAG,aAAa,MAAM,IAAIC,eAAAA,eAAe,GAAG,CAAC;AAAA,EACrD;AAAA,EACA,CAAC,IAAI,UAAU,MAAM,EAAE,KAAK,CAAA;AAC7B;;"}
|
|
1
|
+
{"version":3,"file":"OldValuesHelpers.cjs","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/OldValuesHelpers.ts"],"sourcesContent":["import { DatabaseContext } from '../../model/index.js'\nimport { createBatchLoader } from '../../utils/batchQuery.js'\nimport { OldValuesQuery } from '../../model/index.js'\n\nexport const oldValuesLoaderFactory = (db: DatabaseContext) =>\n\tcreateBatchLoader<string, Record<string, object>, object>(\n\t\tasync ids => {\n\t\t\treturn db.queryHandler.fetch(new OldValuesQuery(ids))\n\t\t},\n\t\t(id, items) => items[id] ?? {},\n\t)\n"],"names":["createBatchLoader","OldValuesQuery"],"mappings":";;;;;;;;;;;;;AAIO,MAAM,yBAAyB,CAAC,OACtCA,WAAAA;AAAAA,EACC,OAAM,QAAO;AACZ,WAAO,GAAG,aAAa,MAAM,IAAIC,eAAAA,eAAe,GAAG,CAAC;AAAA,EACrD;AAAA,EACA,CAAC,IAAI,UAAU,MAAM,EAAE,KAAK,CAAA;AAC7B;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OldValuesHelpers.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/OldValuesHelpers.ts"],"sourcesContent":["import { DatabaseContext } from '../../model'\nimport { createBatchLoader } from '../../utils/batchQuery'\nimport { OldValuesQuery } from '../../model'\n\nexport const oldValuesLoaderFactory = (db: DatabaseContext) =>\n\tcreateBatchLoader<string, Record<string, object>, object>(\n\t\tasync ids => {\n\t\t\treturn db.queryHandler.fetch(new OldValuesQuery(ids))\n\t\t},\n\t\t(id, items) => items[id] ?? {},\n\t)\n"],"names":[],"mappings":";;;;;;;;;;;AAIO,MAAM,yBAAyB,CAAC,OACtC;AAAA,EACC,OAAM,QAAO;AACZ,WAAO,GAAG,aAAa,MAAM,IAAI,eAAe,GAAG,CAAC;AAAA,EACrD;AAAA,EACA,CAAC,IAAI,UAAU,MAAM,EAAE,KAAK,CAAA;AAC7B;"}
|
|
1
|
+
{"version":3,"file":"OldValuesHelpers.js","sources":["../../../../../../packages/engine-system-api/src/resolvers/types/OldValuesHelpers.ts"],"sourcesContent":["import { DatabaseContext } from '../../model/index.js'\nimport { createBatchLoader } from '../../utils/batchQuery.js'\nimport { OldValuesQuery } from '../../model/index.js'\n\nexport const oldValuesLoaderFactory = (db: DatabaseContext) =>\n\tcreateBatchLoader<string, Record<string, object>, object>(\n\t\tasync ids => {\n\t\t\treturn db.queryHandler.fetch(new OldValuesQuery(ids))\n\t\t},\n\t\t(id, items) => items[id] ?? {},\n\t)\n"],"names":[],"mappings":";;;;;;;;;;;AAIO,MAAM,yBAAyB,CAAC,OACtC;AAAA,EACC,OAAM,QAAO;AACZ,WAAO,GAAG,aAAa,MAAM,IAAI,eAAe,GAAG,CAAC;AAAA,EACrD;AAAA,EACA,CAAC,IAAI,UAAU,MAAM,EAAE,KAAK,CAAA;AAC7B;"}
|
|
@@ -7,7 +7,7 @@ const schema = graphqlTag.gql`
|
|
|
7
7
|
|
|
8
8
|
type Mutation {
|
|
9
9
|
truncate: TruncateResponse!
|
|
10
|
-
forceMigrate(migrations: [Migration!]
|
|
10
|
+
forceMigrate(migrations: [Migration!]!, schemaState: SchemaStateInput): MigrateResponse!
|
|
11
11
|
migrationModify(migration: String!, modification: MigrationModification!): MigrationModifyResponse!
|
|
12
12
|
migrationDelete(migration: String!): MigrationDeleteResponse!
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.graphql.cjs","sources":["../../../../../packages/engine-system-api/src/schema/dev.graphql.ts"],"sourcesContent":["import { gql } from 'graphql-tag'\nimport { DocumentNode } from 'graphql'\n\nconst schema: DocumentNode = gql`\n\tschema {\n\t\tmutation: Mutation\n\t}\n\n\ttype Mutation {\n\t\ttruncate: TruncateResponse!\n\t\tforceMigrate(migrations: [Migration!]
|
|
1
|
+
{"version":3,"file":"dev.graphql.cjs","sources":["../../../../../packages/engine-system-api/src/schema/dev.graphql.ts"],"sourcesContent":["import { gql } from 'graphql-tag'\nimport { DocumentNode } from 'graphql'\n\nconst schema: DocumentNode = gql`\n\tschema {\n\t\tmutation: Mutation\n\t}\n\n\ttype Mutation {\n\t\ttruncate: TruncateResponse!\n\t\tforceMigrate(migrations: [Migration!]!, schemaState: SchemaStateInput): MigrateResponse!\n\t\tmigrationModify(migration: String!, modification: MigrationModification!): MigrationModifyResponse!\n\t\tmigrationDelete(migration: String!): MigrationDeleteResponse!\n\t}\n\n\ttype TruncateResponse {\n\t\tok: Boolean!\n\t}\n\n\tinput MigrationModification {\n\t\tversion: String\n\t\tname: String\n\t\tformatVersion: Int\n\t\tmodifications: [Json!]\n\t}\n\n\tenum MigrationModifyErrorCode {\n\t\tNOT_FOUND\n\t}\n\n\ttype MigrationModifyError {\n\t\tcode: MigrationModifyErrorCode!\n\t\tdeveloperMessage: String!\n\t}\n\n\ttype MigrationModifyResponse {\n\t\tok: Boolean!\n\t\terror: MigrationModifyError\n\t}\n\n\tenum MigrationDeleteErrorCode {\n\t\tNOT_FOUND\n\t\tINVALID_FORMAT\n\t}\n\n\ttype MigrationDeleteError {\n\t\tcode: MigrationDeleteErrorCode!\n\t\tdeveloperMessage: String!\n\t}\n\n\ttype MigrationDeleteResponse {\n\t\tok: Boolean!\n\t\terror: MigrationDeleteError\n\t}\n`\n\nexport default schema\n"],"names":["gql"],"mappings":";;AAGA,MAAM,SAAuBA,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;;"}
|
|
@@ -6,7 +6,7 @@ const schema = gql`
|
|
|
6
6
|
|
|
7
7
|
type Mutation {
|
|
8
8
|
truncate: TruncateResponse!
|
|
9
|
-
forceMigrate(migrations: [Migration!]
|
|
9
|
+
forceMigrate(migrations: [Migration!]!, schemaState: SchemaStateInput): MigrateResponse!
|
|
10
10
|
migrationModify(migration: String!, modification: MigrationModification!): MigrationModifyResponse!
|
|
11
11
|
migrationDelete(migration: String!): MigrationDeleteResponse!
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.graphql.js","sources":["../../../../../packages/engine-system-api/src/schema/dev.graphql.ts"],"sourcesContent":["import { gql } from 'graphql-tag'\nimport { DocumentNode } from 'graphql'\n\nconst schema: DocumentNode = gql`\n\tschema {\n\t\tmutation: Mutation\n\t}\n\n\ttype Mutation {\n\t\ttruncate: TruncateResponse!\n\t\tforceMigrate(migrations: [Migration!]
|
|
1
|
+
{"version":3,"file":"dev.graphql.js","sources":["../../../../../packages/engine-system-api/src/schema/dev.graphql.ts"],"sourcesContent":["import { gql } from 'graphql-tag'\nimport { DocumentNode } from 'graphql'\n\nconst schema: DocumentNode = gql`\n\tschema {\n\t\tmutation: Mutation\n\t}\n\n\ttype Mutation {\n\t\ttruncate: TruncateResponse!\n\t\tforceMigrate(migrations: [Migration!]!, schemaState: SchemaStateInput): MigrateResponse!\n\t\tmigrationModify(migration: String!, modification: MigrationModification!): MigrationModifyResponse!\n\t\tmigrationDelete(migration: String!): MigrationDeleteResponse!\n\t}\n\n\ttype TruncateResponse {\n\t\tok: Boolean!\n\t}\n\n\tinput MigrationModification {\n\t\tversion: String\n\t\tname: String\n\t\tformatVersion: Int\n\t\tmodifications: [Json!]\n\t}\n\n\tenum MigrationModifyErrorCode {\n\t\tNOT_FOUND\n\t}\n\n\ttype MigrationModifyError {\n\t\tcode: MigrationModifyErrorCode!\n\t\tdeveloperMessage: String!\n\t}\n\n\ttype MigrationModifyResponse {\n\t\tok: Boolean!\n\t\terror: MigrationModifyError\n\t}\n\n\tenum MigrationDeleteErrorCode {\n\t\tNOT_FOUND\n\t\tINVALID_FORMAT\n\t}\n\n\ttype MigrationDeleteError {\n\t\tcode: MigrationDeleteErrorCode!\n\t\tdeveloperMessage: String!\n\t}\n\n\ttype MigrationDeleteResponse {\n\t\tok: Boolean!\n\t\terror: MigrationDeleteError\n\t}\n`\n\nexport default schema\n"],"names":[],"mappings":";AAGA,MAAM,SAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|