@contember/engine-system-api 2.1.0-beta.2 → 2.2.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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,6 +1,6 @@
|
|
|
1
1
|
import { ConflictActionType, InsertBuilder } from '@contember/database'
|
|
2
|
-
import { Command } from '../Command'
|
|
3
|
-
import { SchemaWithMeta } from '../../migrations'
|
|
2
|
+
import { Command } from '../Command.js'
|
|
3
|
+
import { SchemaWithMeta } from '../../migrations/index.js'
|
|
4
4
|
|
|
5
5
|
export class SaveSchemaCommand implements Command<void> {
|
|
6
6
|
constructor(private readonly input: SchemaWithMeta) {}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InsertBuilder, wrapIdentifier } from '@contember/database'
|
|
2
|
-
import { StageConfig } from '../../../types'
|
|
3
|
-
import { Command } from '../Command'
|
|
4
|
-
import { formatSchemaName } from '../../helpers'
|
|
2
|
+
import { StageConfig } from '../../../types.js'
|
|
3
|
+
import { Command } from '../Command.js'
|
|
4
|
+
import { formatSchemaName } from '../../helpers/index.js'
|
|
5
5
|
|
|
6
6
|
export class CreateStageCommand implements Command<void> {
|
|
7
7
|
constructor(private readonly stage: StageConfig) {}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './CreateStageCommand'
|
|
2
|
-
export * from './TruncateStagesCommand'
|
|
1
|
+
export * from './CreateStageCommand.js'
|
|
2
|
+
export * from './TruncateStagesCommand.js'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Client, Connection, DatabaseQueryable } from '@contember/database'
|
|
2
2
|
import { QueryHandler } from '@contember/queryable'
|
|
3
|
-
import { UuidProvider } from '../../utils'
|
|
4
|
-
import { CommandBus } from '../commands'
|
|
3
|
+
import { UuidProvider } from '../../utils/index.js'
|
|
4
|
+
import { CommandBus } from '../commands/index.js'
|
|
5
5
|
|
|
6
6
|
export interface DatabaseContext<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {
|
|
7
7
|
client: Client<ConnectionType>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './DatabaseContext'
|
|
1
|
+
export * from './DatabaseContext.js'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Stage } from '../../dtos'
|
|
2
|
-
import { DatabaseContext } from '../../database'
|
|
1
|
+
import { Stage } from '../../dtos/index.js'
|
|
2
|
+
import { DatabaseContext } from '../../database/index.js'
|
|
3
3
|
import { ExecutionResult } from 'graphql'
|
|
4
4
|
import { DatabaseMetadata } from '@contember/database'
|
|
5
5
|
import { Schema } from '@contember/schema'
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './tenant'
|
|
2
|
-
export * from './content/ContentQueryExecutor'
|
|
1
|
+
export * from './tenant/index.js'
|
|
2
|
+
export * from './content/ContentQueryExecutor.js'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './IdentityFetcher'
|
|
1
|
+
export * from './IdentityFetcher.js'
|
package/src/model/dtos/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './ExecutedMigration'
|
|
2
|
-
export * from './Stage'
|
|
1
|
+
export * from './ExecutedMigration.js'
|
|
2
|
+
export * from './Stage.js'
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import { ContentEvent, EventType } from './types'
|
|
2
|
-
import { CreateEvent, DeleteEvent, EventType as ApiEventType, UpdateEvent } from '../../schema'
|
|
3
|
-
import { assertNever } from '../../utils'
|
|
4
|
-
import { IdentityFetcher } from '../dependencies'
|
|
5
|
-
import { formatIdentity } from './identityUtils'
|
|
6
|
-
import { appendCreateSpecificData, appendDeleteSpecificData, appendUpdateSpecificData } from './EventResponseHelper'
|
|
1
|
+
import { ContentEvent, EventType } from './types.js'
|
|
2
|
+
import { CreateEvent, DeleteEvent, EventType as ApiEventType, TruncateEvent, UpdateEvent } from '../../schema/index.js'
|
|
3
|
+
import { assertNever } from '../../utils/index.js'
|
|
4
|
+
import { IdentityFetcher } from '../dependencies/index.js'
|
|
5
|
+
import { formatIdentity } from './identityUtils.js'
|
|
6
|
+
import { appendCreateSpecificData, appendDeleteSpecificData, appendUpdateSpecificData } from './EventResponseHelper.js'
|
|
7
7
|
|
|
8
8
|
export class EventResponseBuilder {
|
|
9
9
|
constructor(private readonly identityFetcher: IdentityFetcher) {}
|
|
10
10
|
|
|
11
|
-
public async buildResponse(events: ContentEvent[]): Promise<(CreateEvent | DeleteEvent | UpdateEvent)[]> {
|
|
11
|
+
public async buildResponse(events: ContentEvent[]): Promise<(CreateEvent | DeleteEvent | TruncateEvent | UpdateEvent)[]> {
|
|
12
12
|
const apiEventTypeMapping = {
|
|
13
13
|
[EventType.create]: ApiEventType.Create,
|
|
14
14
|
[EventType.update]: ApiEventType.Update,
|
|
15
15
|
[EventType.delete]: ApiEventType.Delete,
|
|
16
|
+
[EventType.truncate]: ApiEventType.Truncate,
|
|
16
17
|
}
|
|
17
18
|
const identityIds = events.map(it => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index)
|
|
18
19
|
const identities = await this.identityFetcher.fetchIdentities(identityIds)
|
|
@@ -36,6 +37,8 @@ export class EventResponseBuilder {
|
|
|
36
37
|
return ((): UpdateEvent => appendUpdateSpecificData(commonData, it))()
|
|
37
38
|
case EventType.delete:
|
|
38
39
|
return ((): DeleteEvent => appendDeleteSpecificData(commonData, it))()
|
|
40
|
+
case EventType.truncate:
|
|
41
|
+
return ((): TruncateEvent => ({ ...commonData, tableName: null, primaryKey: null }))()
|
|
39
42
|
}
|
|
40
43
|
assertNever(it)
|
|
41
44
|
})
|
|
@@ -49,6 +52,8 @@ export class EventResponseBuilder {
|
|
|
49
52
|
return `Updating ${event.tableName}#${event.rowId.join(';')}`
|
|
50
53
|
case EventType.delete:
|
|
51
54
|
return `Deleting ${event.tableName}#${event.rowId.join(';')}`
|
|
55
|
+
case EventType.truncate:
|
|
56
|
+
return 'Truncating content'
|
|
52
57
|
default:
|
|
53
58
|
return assertNever(event)
|
|
54
59
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TenantIdentity } from '../dependencies/tenant/IdentityFetcher'
|
|
2
|
-
import { assertNever } from '../../utils'
|
|
1
|
+
import { TenantIdentity } from '../dependencies/tenant/IdentityFetcher.js'
|
|
2
|
+
import { assertNever } from '../../utils/index.js'
|
|
3
3
|
|
|
4
4
|
export const formatIdentity = (identity: TenantIdentity): string => {
|
|
5
5
|
if (!identity) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './EventResponseBuilder'
|
|
2
|
-
export * from './types'
|
|
1
|
+
export * from './EventResponseBuilder.js'
|
|
2
|
+
export * from './types.js'
|
|
@@ -2,9 +2,10 @@ export enum EventType {
|
|
|
2
2
|
delete = 'delete',
|
|
3
3
|
update = 'update',
|
|
4
4
|
create = 'create',
|
|
5
|
+
truncate = 'truncate',
|
|
5
6
|
}
|
|
6
7
|
|
|
7
|
-
export type ContentEvent = UpdateEvent | CreateEvent | DeleteEvent
|
|
8
|
+
export type ContentEvent = UpdateEvent | CreateEvent | DeleteEvent | TruncateEvent
|
|
8
9
|
|
|
9
10
|
export interface Event {
|
|
10
11
|
readonly type: EventType
|
|
@@ -60,3 +61,16 @@ export class DeleteEvent implements Event {
|
|
|
60
61
|
) {
|
|
61
62
|
}
|
|
62
63
|
}
|
|
64
|
+
|
|
65
|
+
export class TruncateEvent implements Event {
|
|
66
|
+
public readonly type = EventType.truncate
|
|
67
|
+
|
|
68
|
+
constructor(
|
|
69
|
+
public readonly id: string,
|
|
70
|
+
public readonly createdAt: Date,
|
|
71
|
+
public readonly appliedAt: Date,
|
|
72
|
+
public readonly identityId: string,
|
|
73
|
+
public readonly transactionId: string,
|
|
74
|
+
) {
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './stageHelpers'
|
|
2
|
-
export * from './modelHelpers'
|
|
1
|
+
export * from './stageHelpers.js'
|
|
2
|
+
export * from './modelHelpers.js'
|
package/src/model/index.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export * from './authorization'
|
|
2
|
-
export * from './commands'
|
|
3
|
-
export * from './database'
|
|
4
|
-
export * from './dependencies'
|
|
5
|
-
export * from './dtos'
|
|
6
|
-
export * from './events'
|
|
7
|
-
export * from './helpers'
|
|
8
|
-
export * from './metadata'
|
|
9
|
-
export * from './migrations'
|
|
10
|
-
export * from './queries'
|
|
11
|
-
export * from './stages'
|
|
12
|
-
export * from './ProjectInitializer'
|
|
13
|
-
export * from './ProjectTruncateExecutor'
|
|
1
|
+
export * from './authorization/index.js'
|
|
2
|
+
export * from './commands/index.js'
|
|
3
|
+
export * from './database/index.js'
|
|
4
|
+
export * from './dependencies/index.js'
|
|
5
|
+
export * from './dtos/index.js'
|
|
6
|
+
export * from './events/index.js'
|
|
7
|
+
export * from './helpers/index.js'
|
|
8
|
+
export * from './metadata/index.js'
|
|
9
|
+
export * from './migrations/index.js'
|
|
10
|
+
export * from './queries/index.js'
|
|
11
|
+
export * from './stages/index.js'
|
|
12
|
+
export * from './ProjectInitializer.js'
|
|
13
|
+
export * from './ProjectTruncateExecutor.js'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './SchemaDatabaseMetadataResolverStore'
|
|
1
|
+
export * from './SchemaDatabaseMetadataResolverStore.js'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ExecutedMigration } from '../dtos'
|
|
2
|
-
import { ExecutedMigrationByVersionQuery, ExecutedMigrationsQuery } from '../queries'
|
|
3
|
-
import { DatabaseContext } from '../database'
|
|
1
|
+
import { ExecutedMigration } from '../dtos/index.js'
|
|
2
|
+
import { ExecutedMigrationByVersionQuery, ExecutedMigrationsQuery } from '../queries/index.js'
|
|
3
|
+
import { DatabaseContext } from '../database/index.js'
|
|
4
4
|
|
|
5
5
|
export class ExecutedMigrationsResolver {
|
|
6
6
|
async getMigrations(db: DatabaseContext, afterVersion?: string): Promise<ExecutedMigration[]> {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { DatabaseContext } from '../database'
|
|
2
|
-
import { DeleteMigrationCommand } from '../commands'
|
|
3
|
-
import { Response, ResponseError, ResponseOk } from '../../utils'
|
|
1
|
+
import { DatabaseContext } from '../database/index.js'
|
|
2
|
+
import { DeleteMigrationCommand } from '../commands/index.js'
|
|
3
|
+
import { Response, ResponseError, ResponseOk } from '../../utils/index.js'
|
|
4
4
|
import { Migration } from '@contember/schema-migrations'
|
|
5
|
-
import { ModifyMigrationCommand } from '../commands/migrations/ModifyMigrationCommand'
|
|
6
|
-
import { SchemaProvider } from './SchemaProvider'
|
|
7
|
-
import { SaveSchemaCommand } from '../commands/schema/SaveSchemaCommand'
|
|
5
|
+
import { ModifyMigrationCommand } from '../commands/migrations/ModifyMigrationCommand.js'
|
|
6
|
+
import { SchemaProvider } from './SchemaProvider.js'
|
|
7
|
+
import { SaveSchemaCommand } from '../commands/schema/SaveSchemaCommand.js'
|
|
8
8
|
|
|
9
9
|
export class MigrationAlterer {
|
|
10
10
|
constructor(
|
|
@@ -23,3 +23,10 @@ export type ContentMigrationQuery = {
|
|
|
23
23
|
export type MigrationInput =
|
|
24
24
|
| SchemaMigrationInput
|
|
25
25
|
| ContentMigrationInput
|
|
26
|
+
|
|
27
|
+
export type SchemaStateInput = {
|
|
28
|
+
readonly acl: unknown
|
|
29
|
+
readonly validation: unknown
|
|
30
|
+
readonly actions: unknown
|
|
31
|
+
readonly settings: unknown
|
|
32
|
+
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { calculateMigrationChecksum, Migration, MigrationDescriber, MigrationVersionHelper } from '@contember/schema-migrations'
|
|
2
2
|
import { Client, DatabaseMetadata, QueryError, wrapIdentifier } from '@contember/database'
|
|
3
3
|
import { Schema } from '@contember/schema'
|
|
4
|
-
import { SaveMigrationCommand } from '../commands'
|
|
5
|
-
import { Stage } from '../dtos'
|
|
6
|
-
import { DatabaseContext } from '../database'
|
|
7
|
-
import { ExecutedMigrationsResolver } from './ExecutedMigrationsResolver'
|
|
8
|
-
import { MigrateErrorCode } from '../../schema'
|
|
9
|
-
import { calculateSchemaChecksum, SchemaValidator, SchemaValidatorSkippedErrors } from '@contember/schema-utils'
|
|
4
|
+
import { SaveMigrationCommand } from '../commands/index.js'
|
|
5
|
+
import { Stage } from '../dtos/index.js'
|
|
6
|
+
import { DatabaseContext } from '../database/index.js'
|
|
7
|
+
import { ExecutedMigrationsResolver } from './ExecutedMigrationsResolver.js'
|
|
8
|
+
import { MigrateErrorCode } from '../../schema/index.js'
|
|
9
|
+
import { calculateSchemaChecksum, emptySchema, SchemaValidator, SchemaValidatorSkippedErrors } from '@contember/schema-utils'
|
|
10
10
|
import { logger } from '@contember/logger'
|
|
11
|
-
import { MigrationsDatabaseMetadataResolverStoreFactory, SchemaDatabaseMetadataResolverStore } from '../metadata'
|
|
12
|
-
import { ContentMigrationQuery, MigrationInput } from './MigrationInput'
|
|
13
|
-
import { ContentQueryExecutor } from '../dependencies'
|
|
14
|
-
import { SchemaProvider } from './SchemaProvider'
|
|
15
|
-
import { SaveSchemaCommand } from '../commands/schema/SaveSchemaCommand'
|
|
16
|
-
import { ImplementationException } from '../../utils'
|
|
11
|
+
import { MigrationsDatabaseMetadataResolverStoreFactory, SchemaDatabaseMetadataResolverStore } from '../metadata/index.js'
|
|
12
|
+
import { ContentMigrationQuery, MigrationInput, SchemaStateInput } from './MigrationInput.js'
|
|
13
|
+
import { ContentQueryExecutor } from '../dependencies/index.js'
|
|
14
|
+
import { SchemaProvider } from './SchemaProvider.js'
|
|
15
|
+
import { SaveSchemaCommand } from '../commands/schema/SaveSchemaCommand.js'
|
|
16
|
+
import { ImplementationException } from '../../utils/index.js'
|
|
17
17
|
|
|
18
18
|
type MigrationVariables = {
|
|
19
19
|
system_schema: string
|
|
@@ -29,18 +29,19 @@ export class ProjectMigrator {
|
|
|
29
29
|
private readonly contentQueryExecutor: ContentQueryExecutor,
|
|
30
30
|
) {}
|
|
31
31
|
|
|
32
|
-
public async migrate({ db, project, identity, options: { ignoreOrder = false, skipExecuted = false }, migrationsToExecute, stages }: {
|
|
32
|
+
public async migrate({ db, project, identity, options: { ignoreOrder = false, skipExecuted = false }, migrationsToExecute, stages, schemaState }: {
|
|
33
33
|
db: DatabaseContext
|
|
34
34
|
project: { slug: string; systemSchema: string }
|
|
35
35
|
identity: { id: string }
|
|
36
36
|
stages: Stage[]
|
|
37
37
|
migrationsToExecute: readonly MigrationInput[]
|
|
38
|
+
schemaState?: SchemaStateInput
|
|
38
39
|
options: {
|
|
39
40
|
ignoreOrder?: boolean
|
|
40
41
|
skipExecuted?: boolean
|
|
41
42
|
}
|
|
42
43
|
}) {
|
|
43
|
-
if (migrationsToExecute.length === 0) {
|
|
44
|
+
if (migrationsToExecute.length === 0 && !schemaState) {
|
|
44
45
|
return
|
|
45
46
|
}
|
|
46
47
|
const schemaWithMeta = await this.schemaProvider.fetch({ db })
|
|
@@ -48,7 +49,8 @@ export class ProjectMigrator {
|
|
|
48
49
|
let id = schemaWithMeta.meta.id
|
|
49
50
|
|
|
50
51
|
const validated = await this.validateMigrations(db, schema, schemaWithMeta.meta.version ?? null, migrationsToExecute, { ignoreOrder, skipExecuted })
|
|
51
|
-
|
|
52
|
+
|
|
53
|
+
if (validated.length === 0 && !schemaState) {
|
|
52
54
|
return
|
|
53
55
|
}
|
|
54
56
|
|
|
@@ -95,17 +97,127 @@ export class ProjectMigrator {
|
|
|
95
97
|
}
|
|
96
98
|
id = await db.commandBus.execute(new SaveMigrationCommand(migration))
|
|
97
99
|
}
|
|
100
|
+
|
|
101
|
+
const latestVersion = sorted.length > 0
|
|
102
|
+
? sorted[sorted.length - 1].version
|
|
103
|
+
: schemaWithMeta.meta.version
|
|
104
|
+
|
|
105
|
+
if (schemaState) {
|
|
106
|
+
schema = {
|
|
107
|
+
...schema,
|
|
108
|
+
acl: schemaState.acl as Schema['acl'],
|
|
109
|
+
validation: schemaState.validation as Schema['validation'],
|
|
110
|
+
actions: schemaState.actions as Schema['actions'],
|
|
111
|
+
settings: schemaState.settings as Schema['settings'],
|
|
112
|
+
}
|
|
113
|
+
// Client-supplied state is otherwise saved blindly; validate it as the normal migration flow would.
|
|
114
|
+
const errors = SchemaValidator.validate(schema)
|
|
115
|
+
if (errors.length > 0) {
|
|
116
|
+
throw new InvalidSchemaError(
|
|
117
|
+
latestVersion ?? '(schema state)',
|
|
118
|
+
'Schema state is invalid: \n'
|
|
119
|
+
+ errors.map(it => `${it.path.join('.')}: [${it.code}] ${it.message}`).join('\n'),
|
|
120
|
+
)
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (!latestVersion) {
|
|
125
|
+
if (schemaState) {
|
|
126
|
+
// State-only update on a fresh project with no migrations — there is no schema
|
|
127
|
+
// row to attach the state to yet, so there is nothing to save.
|
|
128
|
+
return
|
|
129
|
+
}
|
|
130
|
+
throw new ImplementationException()
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
if (!id) {
|
|
134
|
+
throw new ImplementationException()
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
await db.commandBus.execute(
|
|
138
|
+
new SaveSchemaCommand({
|
|
139
|
+
schema,
|
|
140
|
+
meta: {
|
|
141
|
+
id,
|
|
142
|
+
updatedAt: new Date(),
|
|
143
|
+
version: latestVersion,
|
|
144
|
+
checksum: calculateSchemaChecksum(schema),
|
|
145
|
+
},
|
|
146
|
+
}),
|
|
147
|
+
)
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
public async migrateFromSnapshot({ db, project, stages, snapshot, covers, schemaState }: {
|
|
151
|
+
db: DatabaseContext
|
|
152
|
+
project: { slug: string; systemSchema: string }
|
|
153
|
+
stages: Stage[]
|
|
154
|
+
snapshot: { formatVersion: number; modifications: Migration.Modification[] }
|
|
155
|
+
covers: readonly MigrationInput[]
|
|
156
|
+
schemaState?: SchemaStateInput
|
|
157
|
+
}) {
|
|
158
|
+
const sortedCovers = [...covers].sort((a, b) => a.version.localeCompare(b.version))
|
|
159
|
+
const latestVersion = sortedCovers.length > 0 ? sortedCovers[sortedCovers.length - 1].version : null
|
|
160
|
+
if (!latestVersion) {
|
|
161
|
+
throw new ImplementationException('Snapshot must cover at least one migration')
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// Hard safety gate: a snapshot may only bootstrap a project that has executed nothing yet.
|
|
165
|
+
const executedMigrations = await this.executedMigrationsResolver.getMigrations(db)
|
|
166
|
+
if (executedMigrations.length > 0) {
|
|
167
|
+
throw new ProjectNotEmptyError(latestVersion, 'Cannot apply snapshot: project already has executed migrations')
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
const metadataStore = this.migrationsDatabaseMetadataResolverStoreFactory.create(db)
|
|
171
|
+
let schema = emptySchema
|
|
172
|
+
for (const modification of snapshot.modifications) {
|
|
173
|
+
;[schema] = await this.applyModification(
|
|
174
|
+
db.client,
|
|
175
|
+
stages,
|
|
176
|
+
schema,
|
|
177
|
+
modification,
|
|
178
|
+
snapshot.formatVersion,
|
|
179
|
+
latestVersion,
|
|
180
|
+
project,
|
|
181
|
+
metadataStore,
|
|
182
|
+
)
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
const errors = SchemaValidator.validate(schema)
|
|
186
|
+
if (errors.length > 0) {
|
|
187
|
+
throw new InvalidSchemaError(
|
|
188
|
+
latestVersion,
|
|
189
|
+
'Snapshot generates invalid schema: \n'
|
|
190
|
+
+ errors.map(it => `${it.path.join('.')}: [${it.code}] ${it.message}`).join('\n'),
|
|
191
|
+
)
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// Record covered migrations as executed without replaying their SQL, so the registry
|
|
195
|
+
// ends up identical to a full replay (status, checksums and schema rebuild stay correct).
|
|
196
|
+
let id: number | undefined
|
|
197
|
+
for (const migration of sortedCovers) {
|
|
198
|
+
id = await db.commandBus.execute(new SaveMigrationCommand(migration))
|
|
199
|
+
}
|
|
98
200
|
if (!id) {
|
|
99
201
|
throw new ImplementationException()
|
|
100
202
|
}
|
|
101
203
|
|
|
204
|
+
if (schemaState) {
|
|
205
|
+
schema = {
|
|
206
|
+
...schema,
|
|
207
|
+
acl: schemaState.acl as Schema['acl'],
|
|
208
|
+
validation: schemaState.validation as Schema['validation'],
|
|
209
|
+
actions: schemaState.actions as Schema['actions'],
|
|
210
|
+
settings: schemaState.settings as Schema['settings'],
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
102
214
|
await db.commandBus.execute(
|
|
103
215
|
new SaveSchemaCommand({
|
|
104
216
|
schema,
|
|
105
217
|
meta: {
|
|
106
218
|
id,
|
|
107
219
|
updatedAt: new Date(),
|
|
108
|
-
version:
|
|
220
|
+
version: latestVersion,
|
|
109
221
|
checksum: calculateSchemaChecksum(schema),
|
|
110
222
|
},
|
|
111
223
|
}),
|
|
@@ -197,7 +309,7 @@ export class ProjectMigrator {
|
|
|
197
309
|
const errors = SchemaValidator.validate(schema)
|
|
198
310
|
if (errors.length > 0) {
|
|
199
311
|
throw new InvalidSchemaError(
|
|
200
|
-
toExecute[toExecute.length - 1]
|
|
312
|
+
toExecute[toExecute.length - 1]?.version ?? version ?? '(schema)',
|
|
201
313
|
'Migration generates invalid schema: \n'
|
|
202
314
|
+ errors.map(it => it.path.join('.') + ': ' + it.message).join('\n'),
|
|
203
315
|
)
|
|
@@ -287,3 +399,7 @@ export class FailedContentMigrationError extends MigrationError {
|
|
|
287
399
|
export class NotSuccessfulContentMigrationError extends MigrationError {
|
|
288
400
|
code = MigrateErrorCode.ContentMigrationNotSuccessful
|
|
289
401
|
}
|
|
402
|
+
|
|
403
|
+
export class ProjectNotEmptyError extends MigrationError {
|
|
404
|
+
code = MigrateErrorCode.ProjectNotEmpty
|
|
405
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { SchemaQuery } from '../queries'
|
|
2
|
-
import { DatabaseContext } from '../database'
|
|
1
|
+
import { SchemaQuery } from '../queries/index.js'
|
|
2
|
+
import { DatabaseContext } from '../database/index.js'
|
|
3
3
|
import { calculateSchemaChecksum, emptySchema, normalizeSchema } from '@contember/schema-utils'
|
|
4
|
-
import { ExecutedMigrationsResolver } from './ExecutedMigrationsResolver'
|
|
4
|
+
import { ExecutedMigrationsResolver } from './ExecutedMigrationsResolver.js'
|
|
5
5
|
import { SchemaMigrator } from '@contember/schema-migrations'
|
|
6
6
|
import { Schema } from '@contember/schema'
|
|
7
7
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './ExecutedMigrationsResolver'
|
|
2
|
-
export * from './MigrationAlterer'
|
|
3
|
-
export * from './ProjectMigrator'
|
|
4
|
-
export * from './SchemaProvider'
|
|
1
|
+
export * from './ExecutedMigrationsResolver.js'
|
|
2
|
+
export * from './MigrationAlterer.js'
|
|
3
|
+
export * from './ProjectMigrator.js'
|
|
4
|
+
export * from './SchemaProvider.js'
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ContentEvent, CreateEvent, DeleteEvent, EventType, UpdateEvent } from '../../events'
|
|
2
|
-
import { assertNever } from '../../../utils'
|
|
1
|
+
import { ContentEvent, CreateEvent, DeleteEvent, EventType, TruncateEvent, UpdateEvent } from '../../events/index.js'
|
|
2
|
+
import { assertNever } from '../../../utils/index.js'
|
|
3
3
|
|
|
4
4
|
export type EventRow = {
|
|
5
5
|
id: string
|
|
6
6
|
type: EventType
|
|
7
|
-
table_name: string
|
|
8
|
-
row_ids: string[]
|
|
9
|
-
values: Record<string, any>
|
|
7
|
+
table_name: string | null
|
|
8
|
+
row_ids: string[] | null
|
|
9
|
+
values: Record<string, any> | null
|
|
10
10
|
created_at: Date
|
|
11
11
|
applied_at: Date
|
|
12
12
|
identity_id: string
|
|
@@ -23,9 +23,9 @@ export const createEventsFromRows = (rows: EventRow[]): ContentEvent[] => {
|
|
|
23
23
|
event.applied_at,
|
|
24
24
|
event.identity_id,
|
|
25
25
|
event.transaction_id,
|
|
26
|
-
event.row_ids,
|
|
27
|
-
event.table_name,
|
|
28
|
-
event.values,
|
|
26
|
+
event.row_ids ?? [],
|
|
27
|
+
event.table_name ?? '',
|
|
28
|
+
event.values ?? {},
|
|
29
29
|
)
|
|
30
30
|
case EventType.update:
|
|
31
31
|
return new UpdateEvent(
|
|
@@ -34,9 +34,9 @@ export const createEventsFromRows = (rows: EventRow[]): ContentEvent[] => {
|
|
|
34
34
|
event.applied_at,
|
|
35
35
|
event.identity_id,
|
|
36
36
|
event.transaction_id,
|
|
37
|
-
event.row_ids,
|
|
38
|
-
event.table_name,
|
|
39
|
-
event.values,
|
|
37
|
+
event.row_ids ?? [],
|
|
38
|
+
event.table_name ?? '',
|
|
39
|
+
event.values ?? {},
|
|
40
40
|
)
|
|
41
41
|
case EventType.delete:
|
|
42
42
|
return new DeleteEvent(
|
|
@@ -45,8 +45,16 @@ export const createEventsFromRows = (rows: EventRow[]): ContentEvent[] => {
|
|
|
45
45
|
event.applied_at,
|
|
46
46
|
event.identity_id,
|
|
47
47
|
event.transaction_id,
|
|
48
|
-
event.row_ids,
|
|
49
|
-
event.table_name,
|
|
48
|
+
event.row_ids ?? [],
|
|
49
|
+
event.table_name ?? '',
|
|
50
|
+
)
|
|
51
|
+
case EventType.truncate:
|
|
52
|
+
return new TruncateEvent(
|
|
53
|
+
event.id,
|
|
54
|
+
event.created_at,
|
|
55
|
+
event.applied_at,
|
|
56
|
+
event.identity_id,
|
|
57
|
+
event.transaction_id,
|
|
50
58
|
)
|
|
51
59
|
default:
|
|
52
60
|
assertNever(event.type)
|
|
@@ -8,9 +8,9 @@ import {
|
|
|
8
8
|
SelectBuilderSpecification,
|
|
9
9
|
Value,
|
|
10
10
|
} from '@contember/database'
|
|
11
|
-
import { ContentEvent } from '../../events'
|
|
12
|
-
import { EventsFilter, EventsFilterDate, EventsOrder } from '../../../schema'
|
|
13
|
-
import { createEventsFromRows, EventRow } from './EventQueryHelpers'
|
|
11
|
+
import { ContentEvent } from '../../events/index.js'
|
|
12
|
+
import { EventsFilter, EventsFilterDate, EventsOrder } from '../../../schema/index.js'
|
|
13
|
+
import { createEventsFromRows, EventRow } from './EventQueryHelpers.js'
|
|
14
14
|
|
|
15
15
|
export class EventsQuery extends DatabaseQuery<ContentEvent[]> {
|
|
16
16
|
constructor(
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './EventsQuery'
|
|
2
|
-
export * from './LatestTransactionIdByStageQuery'
|
|
3
|
-
export * from './OldValuesQuery'
|
|
1
|
+
export * from './EventsQuery.js'
|
|
2
|
+
export * from './LatestTransactionIdByStageQuery.js'
|
|
3
|
+
export * from './OldValuesQuery.js'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './migrations'
|
|
2
|
-
export * from './events'
|
|
3
|
-
export * from './stages'
|
|
4
|
-
export * from './schema'
|
|
1
|
+
export * from './migrations/index.js'
|
|
2
|
+
export * from './events/index.js'
|
|
3
|
+
export * from './stages/index.js'
|
|
4
|
+
export * from './schema/index.js'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DatabaseQuery, DatabaseQueryable } from '@contember/database'
|
|
2
|
-
import { ExecutedMigration } from '../../dtos'
|
|
3
|
-
import { createExecutedMigrationDto, createExecutedMigrationQueryBuilder } from './ExecutedMigrationsQueryHelper'
|
|
2
|
+
import { ExecutedMigration } from '../../dtos/index.js'
|
|
3
|
+
import { createExecutedMigrationDto, createExecutedMigrationQueryBuilder } from './ExecutedMigrationsQueryHelper.js'
|
|
4
4
|
|
|
5
5
|
export class ExecutedMigrationByVersionQuery extends DatabaseQuery<ExecutedMigration | null> {
|
|
6
6
|
constructor(private version: string) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DatabaseQuery, DatabaseQueryable, Operator } from '@contember/database'
|
|
2
|
-
import { ExecutedMigration } from '../../dtos'
|
|
3
|
-
import { createExecutedMigrationDto, createExecutedMigrationQueryBuilder } from './ExecutedMigrationsQueryHelper'
|
|
2
|
+
import { ExecutedMigration } from '../../dtos/index.js'
|
|
3
|
+
import { createExecutedMigrationDto, createExecutedMigrationQueryBuilder } from './ExecutedMigrationsQueryHelper.js'
|
|
4
4
|
|
|
5
5
|
export class ExecutedMigrationsQuery extends DatabaseQuery<ExecutedMigration[]> {
|
|
6
6
|
constructor(private afterVersion?: string) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Literal, SelectBuilder } from '@contember/database'
|
|
2
|
-
import { ExecutedMigration } from '../../dtos'
|
|
2
|
+
import { ExecutedMigration } from '../../dtos/index.js'
|
|
3
3
|
import { VERSION_INITIAL } from '@contember/schema-migrations'
|
|
4
4
|
|
|
5
5
|
type ExecutedMigrationRow = { id: number; name: string; migration: any; checksum: string | null; executed_at: Date; type: 'content' | 'schema' }
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './ExecutedMigrationByVersionQuery'
|
|
2
|
-
export * from './ExecutedMigrationByVersionQuery'
|
|
3
|
-
export * from './ExecutedMigrationsQuery'
|
|
1
|
+
export * from './ExecutedMigrationByVersionQuery.js'
|
|
2
|
+
export * from './ExecutedMigrationByVersionQuery.js'
|
|
3
|
+
export * from './ExecutedMigrationsQuery.js'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DatabaseQuery, DatabaseQueryable, Literal, SelectBuilder } from '@contember/database'
|
|
2
2
|
import { Schema } from '@contember/schema'
|
|
3
|
-
import { SchemaWithMeta } from '../../migrations'
|
|
3
|
+
import { SchemaWithMeta } from '../../migrations/index.js'
|
|
4
4
|
|
|
5
5
|
export class SchemaQuery extends DatabaseQuery<SchemaWithMeta | null> {
|
|
6
6
|
constructor(
|