@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
|
@@ -6,7 +6,7 @@ import "../schema/dev.graphql.js";
|
|
|
6
6
|
import "../schema/system.graphql.js";
|
|
7
7
|
import { StagesQuery } from "./queries/stages/StagesQuery.js";
|
|
8
8
|
class ProjectTruncateExecutor {
|
|
9
|
-
async truncateProject(db, project, schema) {
|
|
9
|
+
async truncateProject(db, project, schema, identityId) {
|
|
10
10
|
const tableNames = Object.values(schema.model.entities).filter((it) => !it.view).map((it) => it.tableName);
|
|
11
11
|
const junctionTableNames = getJunctionTables(schema.model).map((it) => it.tableName);
|
|
12
12
|
const allTableNames = [...tableNames, ...junctionTableNames];
|
|
@@ -15,13 +15,13 @@ class ProjectTruncateExecutor {
|
|
|
15
15
|
}
|
|
16
16
|
await db.transaction(async (trx) => {
|
|
17
17
|
await trx.client.query("SET CONSTRAINTS ALL DEFERRED");
|
|
18
|
-
const stages = await
|
|
18
|
+
const stages = await trx.queryHandler.fetch(new StagesQuery());
|
|
19
19
|
for (const stage of stages) {
|
|
20
20
|
const wrappedNames = allTableNames.map((it) => `${wrapIdentifier(stage.schema)}.${wrapIdentifier(it)}`);
|
|
21
21
|
await trx.client.query(`TRUNCATE ${wrappedNames}`);
|
|
22
22
|
}
|
|
23
23
|
await trx.client.query("SET CONSTRAINTS ALL IMMEDIATE");
|
|
24
|
-
await trx.commandBus.execute(new TruncateEventsCommand());
|
|
24
|
+
await trx.commandBus.execute(new TruncateEventsCommand(identityId, stages.map((it) => it.id)));
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTruncateExecutor.js","sources":["../../../../../packages/engine-system-api/src/model/ProjectTruncateExecutor.ts"],"sourcesContent":["import { DatabaseContext } from './database'\nimport { ProjectConfig } from '../types'\nimport { TruncateEventsCommand } from './commands'\nimport { getJunctionTables } from './helpers'\nimport { Schema } from '@contember/schema'\nimport { wrapIdentifier } from '@contember/database'\nimport { StagesQuery } from './queries'\n\nexport class ProjectTruncateExecutor {\n\tpublic async truncateProject(db: DatabaseContext, project: ProjectConfig, schema: Schema) {\n\t\tconst tableNames = Object.values(schema.model.entities).filter(it => !it.view).map(it => it.tableName)\n\t\tconst junctionTableNames = getJunctionTables(schema.model).map(it => it.tableName)\n\t\tconst allTableNames = [...tableNames, ...junctionTableNames]\n\t\tif (allTableNames.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tawait db.transaction(async trx => {\n\t\t\tawait trx.client.query('SET CONSTRAINTS ALL DEFERRED')\n\t\t\tconst stages = await
|
|
1
|
+
{"version":3,"file":"ProjectTruncateExecutor.js","sources":["../../../../../packages/engine-system-api/src/model/ProjectTruncateExecutor.ts"],"sourcesContent":["import { DatabaseContext } from './database/index.js'\nimport { ProjectConfig } from '../types.js'\nimport { TruncateEventsCommand } from './commands/index.js'\nimport { getJunctionTables } from './helpers/index.js'\nimport { Schema } from '@contember/schema'\nimport { wrapIdentifier } from '@contember/database'\nimport { StagesQuery } from './queries/index.js'\n\nexport class ProjectTruncateExecutor {\n\tpublic async truncateProject(db: DatabaseContext, project: ProjectConfig, schema: Schema, identityId: string) {\n\t\tconst tableNames = Object.values(schema.model.entities).filter(it => !it.view).map(it => it.tableName)\n\t\tconst junctionTableNames = getJunctionTables(schema.model).map(it => it.tableName)\n\t\tconst allTableNames = [...tableNames, ...junctionTableNames]\n\t\tif (allTableNames.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tawait db.transaction(async trx => {\n\t\t\tawait trx.client.query('SET CONSTRAINTS ALL DEFERRED')\n\t\t\tconst stages = await trx.queryHandler.fetch(new StagesQuery())\n\t\t\tfor (const stage of stages) {\n\t\t\t\tconst wrappedNames = allTableNames.map(it => `${wrapIdentifier(stage.schema)}.${wrapIdentifier(it)}`)\n\t\t\t\tawait trx.client.query(`TRUNCATE ${wrappedNames}`)\n\t\t\t}\n\t\t\tawait trx.client.query('SET CONSTRAINTS ALL IMMEDIATE')\n\t\t\tawait trx.commandBus.execute(new TruncateEventsCommand(identityId, stages.map(it => it.id)))\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;;;AAQO,MAAM,wBAAwB;AAAA,EACpC,MAAa,gBAAgB,IAAqB,SAAwB,QAAgB,YAAoB;AAC7G,UAAM,aAAa,OAAO,OAAO,OAAO,MAAM,QAAQ,EAAE,OAAO,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAA,OAAM,GAAG,SAAS;AACrG,UAAM,qBAAqB,kBAAkB,OAAO,KAAK,EAAE,IAAI,CAAA,OAAM,GAAG,SAAS;AACjF,UAAM,gBAAgB,CAAC,GAAG,YAAY,GAAG,kBAAkB;AAC3D,QAAI,cAAc,WAAW,GAAG;AAC/B;AAAA,IACD;AACA,UAAM,GAAG,YAAY,OAAM,QAAO;AACjC,YAAM,IAAI,OAAO,MAAM,8BAA8B;AACrD,YAAM,SAAS,MAAM,IAAI,aAAa,MAAM,IAAI,aAAa;AAC7D,iBAAW,SAAS,QAAQ;AAC3B,cAAM,eAAe,cAAc,IAAI,CAAA,OAAM,GAAG,eAAe,MAAM,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC,EAAE;AACpG,cAAM,IAAI,OAAO,MAAM,YAAY,YAAY,EAAE;AAAA,MAClD;AACA,YAAM,IAAI,OAAO,MAAM,+BAA+B;AACtD,YAAM,IAAI,WAAW,QAAQ,IAAI,sBAAsB,YAAY,OAAO,IAAI,CAAA,OAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IAC5F,CAAC;AAAA,EACF;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionsFactory.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/PermissionsFactory.ts"],"sourcesContent":["import { Permissions } from '@contember/authorization'\nimport { ProjectRole } from '@contember/schema'\nimport { AuthorizationActions } from './AuthorizationActions'\n\nexport class PermissionsFactory {\n\tpublic create(): Permissions {\n\t\tconst permissions = new Permissions()\n\t\tpermissions.allow(ProjectRole.ADMIN, { resource: Permissions.ALL, privilege: Permissions.ALL })\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_MIGRATE)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_LIST_MIGRATIONS)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_SHOW_SCHEMA)\n\n\t\treturn permissions\n\t}\n}\n"],"names":["Permissions","ProjectRole","AuthorizationActions"],"mappings":";;;;;AAIO,MAAM,mBAAmB;AAAA,EACxB,SAAsB;AAC5B,UAAM,cAAc,IAAIA,0BAAA;AACxB,gBAAY,MAAMC,mBAAY,OAAO,EAAE,UAAUD,cAAAA,YAAY,KAAK,WAAWA,cAAAA,YAAY,IAAA,CAAK;AAC9F,gBAAY,MAAMC,OAAAA,YAAY,UAAUC,qBAAAA,qBAAqB,eAAe;AAC5E,gBAAY,MAAMD,OAAAA,YAAY,UAAUC,qBAAAA,qBAAqB,uBAAuB;AACpF,gBAAY,MAAMD,OAAAA,YAAY,UAAUC,qBAAAA,qBAAqB,mBAAmB;AAEhF,WAAO;AAAA,EACR;AACD;;"}
|
|
1
|
+
{"version":3,"file":"PermissionsFactory.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/PermissionsFactory.ts"],"sourcesContent":["import { Permissions } from '@contember/authorization'\nimport { ProjectRole } from '@contember/schema'\nimport { AuthorizationActions } from './AuthorizationActions.js'\n\nexport class PermissionsFactory {\n\tpublic create(): Permissions {\n\t\tconst permissions = new Permissions()\n\t\tpermissions.allow(ProjectRole.ADMIN, { resource: Permissions.ALL, privilege: Permissions.ALL })\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_MIGRATE)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_LIST_MIGRATIONS)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_SHOW_SCHEMA)\n\n\t\treturn permissions\n\t}\n}\n"],"names":["Permissions","ProjectRole","AuthorizationActions"],"mappings":";;;;;AAIO,MAAM,mBAAmB;AAAA,EACxB,SAAsB;AAC5B,UAAM,cAAc,IAAIA,0BAAA;AACxB,gBAAY,MAAMC,mBAAY,OAAO,EAAE,UAAUD,cAAAA,YAAY,KAAK,WAAWA,cAAAA,YAAY,IAAA,CAAK;AAC9F,gBAAY,MAAMC,OAAAA,YAAY,UAAUC,qBAAAA,qBAAqB,eAAe;AAC5E,gBAAY,MAAMD,OAAAA,YAAY,UAAUC,qBAAAA,qBAAqB,uBAAuB;AACpF,gBAAY,MAAMD,OAAAA,YAAY,UAAUC,qBAAAA,qBAAqB,mBAAmB;AAEhF,WAAO;AAAA,EACR;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionsFactory.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/PermissionsFactory.ts"],"sourcesContent":["import { Permissions } from '@contember/authorization'\nimport { ProjectRole } from '@contember/schema'\nimport { AuthorizationActions } from './AuthorizationActions'\n\nexport class PermissionsFactory {\n\tpublic create(): Permissions {\n\t\tconst permissions = new Permissions()\n\t\tpermissions.allow(ProjectRole.ADMIN, { resource: Permissions.ALL, privilege: Permissions.ALL })\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_MIGRATE)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_LIST_MIGRATIONS)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_SHOW_SCHEMA)\n\n\t\treturn permissions\n\t}\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,mBAAmB;AAAA,EACxB,SAAsB;AAC5B,UAAM,cAAc,IAAI,YAAA;AACxB,gBAAY,MAAM,YAAY,OAAO,EAAE,UAAU,YAAY,KAAK,WAAW,YAAY,IAAA,CAAK;AAC9F,gBAAY,MAAM,YAAY,UAAU,qBAAqB,eAAe;AAC5E,gBAAY,MAAM,YAAY,UAAU,qBAAqB,uBAAuB;AACpF,gBAAY,MAAM,YAAY,UAAU,qBAAqB,mBAAmB;AAEhF,WAAO;AAAA,EACR;AACD;"}
|
|
1
|
+
{"version":3,"file":"PermissionsFactory.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/PermissionsFactory.ts"],"sourcesContent":["import { Permissions } from '@contember/authorization'\nimport { ProjectRole } from '@contember/schema'\nimport { AuthorizationActions } from './AuthorizationActions.js'\n\nexport class PermissionsFactory {\n\tpublic create(): Permissions {\n\t\tconst permissions = new Permissions()\n\t\tpermissions.allow(ProjectRole.ADMIN, { resource: Permissions.ALL, privilege: Permissions.ALL })\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_MIGRATE)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_LIST_MIGRATIONS)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, AuthorizationActions.PROJECT_SHOW_SCHEMA)\n\n\t\treturn permissions\n\t}\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,mBAAmB;AAAA,EACxB,SAAsB;AAC5B,UAAM,cAAc,IAAI,YAAA;AACxB,gBAAY,MAAM,YAAY,OAAO,EAAE,UAAU,YAAY,KAAK,WAAW,YAAY,IAAA,CAAK;AAC9F,gBAAY,MAAM,YAAY,UAAU,qBAAqB,eAAe;AAC5E,gBAAY,MAAM,YAAY,UAAU,qBAAqB,uBAAuB;AACpF,gBAAY,MAAM,YAAY,UAAU,qBAAqB,mBAAmB;AAEhF,WAAO;AAAA,EACR;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StagePermissionsFactory.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StagePermissionsFactory.ts"],"sourcesContent":["import { Acl } from '@contember/schema'\nimport { Permissions } from '@contember/authorization'\nimport { AuthorizationActions } from './AuthorizationActions'\nimport { SchemaGetter } from '../SchemaGetter'\n\nexport class StagePermissionsFactory {\n\tconstructor(private readonly getSchema: SchemaGetter) {}\n\n\tpublic async create(stage: string): Promise<Permissions> {\n\t\tconst permissions = new Permissions()\n\n\t\tconst filteredSchema = await this.getSchema({ stage })\n\n\t\tconst rolePermissions = this.createRolePermissions(filteredSchema.acl)\n\t\tObject.entries(rolePermissions).forEach(([role, value]) => {\n\t\t\t// history\n\t\t\tif (value.history === Acl.SystemPermissionsLevel.any || value.history === true) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_HISTORY_ANY)\n\t\t\t}\n\n\t\t\t// migrate\n\t\t\tif (value.migrate) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_MIGRATE)\n\t\t\t}\n\t\t})\n\n\t\treturn permissions\n\t}\n\n\tprivate createRolePermissions(schema: Acl.Schema): Record<string, Acl.SystemPermissions> {\n\t\tconst rolePermissions: Record<string, Acl.SystemPermissions> = {}\n\t\tconst recursionGuard = new Set<string>()\n\t\tconst getRolePermissions = (name: string): Acl.SystemPermissions => {\n\t\t\tif (rolePermissions[name]) {\n\t\t\t\treturn rolePermissions[name]\n\t\t\t}\n\t\t\tif (recursionGuard.has(name)) {\n\t\t\t\tthrow new Error(`Recursive role inheritance detected`)\n\t\t\t}\n\t\t\trecursionGuard.add(name)\n\t\t\tconst definition = schema.roles[name]\n\t\t\tconst inherits = definition.inherits || []\n\t\t\tconst inheritsDefinition = inherits.map(it => getRolePermissions(it))\n\t\t\trolePermissions[name] = {\n\t\t\t\t...inheritsDefinition.reduce(\n\t\t\t\t\t(def, current) => ({\n\t\t\t\t\t\t...def,\n\t\t\t\t\t\t...current,\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\t...(definition.system || {}),\n\t\t\t}\n\t\t\trecursionGuard.delete(name)\n\t\t\treturn rolePermissions[name]\n\t\t}\n\t\tObject.keys(schema.roles).forEach(getRolePermissions)\n\n\t\treturn rolePermissions\n\t}\n}\n"],"names":["Permissions","Acl","AuthorizationActions","schema"],"mappings":";;;;;AAKO,MAAM,wBAAwB;AAAA,EACpC,YAA6B,WAAyB;AAAzB,SAAA,YAAA;AAAA,EAA0B;AAAA,EAEvD,MAAa,OAAO,OAAqC;AACxD,UAAM,cAAc,IAAIA,0BAAA;AAExB,UAAM,iBAAiB,MAAM,KAAK,UAAU,EAAE,OAAO;AAErD,UAAM,kBAAkB,KAAK,sBAAsB,eAAe,GAAG;AACrE,WAAO,QAAQ,eAAe,EAAE,QAAQ,CAAC,CAAC,MAAM,KAAK,MAAM;AAE1D,UAAI,MAAM,YAAYC,WAAI,uBAAuB,OAAO,MAAM,YAAY,MAAM;AAC/E,oBAAY,MAAM,MAAMC,qBAAAA,qBAAqB,mBAAmB;AAAA,MACjE;AAGA,UAAI,MAAM,SAAS;AAClB,oBAAY,MAAM,MAAMA,qBAAAA,qBAAqB,eAAe;AAAA,MAC7D;AAAA,IACD,CAAC;AAED,WAAO;AAAA,EACR;AAAA,EAEQ,sBAAsBC,SAA2D;AACxF,UAAM,kBAAyD,CAAA;AAC/D,UAAM,qCAAqB,IAAA;AAC3B,UAAM,qBAAqB,CAAC,SAAwC;AACnE,UAAI,gBAAgB,IAAI,GAAG;AAC1B,eAAO,gBAAgB,IAAI;AAAA,MAC5B;AACA,UAAI,eAAe,IAAI,IAAI,GAAG;AAC7B,cAAM,IAAI,MAAM,qCAAqC;AAAA,MACtD;AACA,qBAAe,IAAI,IAAI;AACvB,YAAM,aAAaA,QAAO,MAAM,IAAI;AACpC,YAAM,WAAW,WAAW,YAAY,CAAA;AACxC,YAAM,qBAAqB,SAAS,IAAI,CAAA,OAAM,mBAAmB,EAAE,CAAC;AACpE,sBAAgB,IAAI,IAAI;AAAA,QACvB,GAAG,mBAAmB;AAAA,UACrB,CAAC,KAAK,aAAa;AAAA,YAClB,GAAG;AAAA,YACH,GAAG;AAAA,UAAA;AAAA,UAEJ,CAAA;AAAA,QAAC;AAAA,QAEF,GAAI,WAAW,UAAU,CAAA;AAAA,MAAC;AAE3B,qBAAe,OAAO,IAAI;AAC1B,aAAO,gBAAgB,IAAI;AAAA,IAC5B;AACA,WAAO,KAAKA,QAAO,KAAK,EAAE,QAAQ,kBAAkB;AAEpD,WAAO;AAAA,EACR;AACD;;"}
|
|
1
|
+
{"version":3,"file":"StagePermissionsFactory.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StagePermissionsFactory.ts"],"sourcesContent":["import { Acl } from '@contember/schema'\nimport { Permissions } from '@contember/authorization'\nimport { AuthorizationActions } from './AuthorizationActions.js'\nimport { SchemaGetter } from '../SchemaGetter.js'\n\nexport class StagePermissionsFactory {\n\tconstructor(private readonly getSchema: SchemaGetter) {}\n\n\tpublic async create(stage: string): Promise<Permissions> {\n\t\tconst permissions = new Permissions()\n\n\t\tconst filteredSchema = await this.getSchema({ stage })\n\n\t\tconst rolePermissions = this.createRolePermissions(filteredSchema.acl)\n\t\tObject.entries(rolePermissions).forEach(([role, value]) => {\n\t\t\t// history\n\t\t\tif (value.history === Acl.SystemPermissionsLevel.any || value.history === true) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_HISTORY_ANY)\n\t\t\t}\n\n\t\t\t// migrate\n\t\t\tif (value.migrate) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_MIGRATE)\n\t\t\t}\n\t\t})\n\n\t\treturn permissions\n\t}\n\n\tprivate createRolePermissions(schema: Acl.Schema): Record<string, Acl.SystemPermissions> {\n\t\tconst rolePermissions: Record<string, Acl.SystemPermissions> = {}\n\t\tconst recursionGuard = new Set<string>()\n\t\tconst getRolePermissions = (name: string): Acl.SystemPermissions => {\n\t\t\tif (rolePermissions[name]) {\n\t\t\t\treturn rolePermissions[name]\n\t\t\t}\n\t\t\tif (recursionGuard.has(name)) {\n\t\t\t\tthrow new Error(`Recursive role inheritance detected`)\n\t\t\t}\n\t\t\trecursionGuard.add(name)\n\t\t\tconst definition = schema.roles[name]\n\t\t\tconst inherits = definition.inherits || []\n\t\t\tconst inheritsDefinition = inherits.map(it => getRolePermissions(it))\n\t\t\trolePermissions[name] = {\n\t\t\t\t...inheritsDefinition.reduce(\n\t\t\t\t\t(def, current) => ({\n\t\t\t\t\t\t...def,\n\t\t\t\t\t\t...current,\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\t...(definition.system || {}),\n\t\t\t}\n\t\t\trecursionGuard.delete(name)\n\t\t\treturn rolePermissions[name]\n\t\t}\n\t\tObject.keys(schema.roles).forEach(getRolePermissions)\n\n\t\treturn rolePermissions\n\t}\n}\n"],"names":["Permissions","Acl","AuthorizationActions","schema"],"mappings":";;;;;AAKO,MAAM,wBAAwB;AAAA,EACpC,YAA6B,WAAyB;AAAzB,SAAA,YAAA;AAAA,EAA0B;AAAA,EAEvD,MAAa,OAAO,OAAqC;AACxD,UAAM,cAAc,IAAIA,0BAAA;AAExB,UAAM,iBAAiB,MAAM,KAAK,UAAU,EAAE,OAAO;AAErD,UAAM,kBAAkB,KAAK,sBAAsB,eAAe,GAAG;AACrE,WAAO,QAAQ,eAAe,EAAE,QAAQ,CAAC,CAAC,MAAM,KAAK,MAAM;AAE1D,UAAI,MAAM,YAAYC,WAAI,uBAAuB,OAAO,MAAM,YAAY,MAAM;AAC/E,oBAAY,MAAM,MAAMC,qBAAAA,qBAAqB,mBAAmB;AAAA,MACjE;AAGA,UAAI,MAAM,SAAS;AAClB,oBAAY,MAAM,MAAMA,qBAAAA,qBAAqB,eAAe;AAAA,MAC7D;AAAA,IACD,CAAC;AAED,WAAO;AAAA,EACR;AAAA,EAEQ,sBAAsBC,SAA2D;AACxF,UAAM,kBAAyD,CAAA;AAC/D,UAAM,qCAAqB,IAAA;AAC3B,UAAM,qBAAqB,CAAC,SAAwC;AACnE,UAAI,gBAAgB,IAAI,GAAG;AAC1B,eAAO,gBAAgB,IAAI;AAAA,MAC5B;AACA,UAAI,eAAe,IAAI,IAAI,GAAG;AAC7B,cAAM,IAAI,MAAM,qCAAqC;AAAA,MACtD;AACA,qBAAe,IAAI,IAAI;AACvB,YAAM,aAAaA,QAAO,MAAM,IAAI;AACpC,YAAM,WAAW,WAAW,YAAY,CAAA;AACxC,YAAM,qBAAqB,SAAS,IAAI,CAAA,OAAM,mBAAmB,EAAE,CAAC;AACpE,sBAAgB,IAAI,IAAI;AAAA,QACvB,GAAG,mBAAmB;AAAA,UACrB,CAAC,KAAK,aAAa;AAAA,YAClB,GAAG;AAAA,YACH,GAAG;AAAA,UAAA;AAAA,UAEJ,CAAA;AAAA,QAAC;AAAA,QAEF,GAAI,WAAW,UAAU,CAAA;AAAA,MAAC;AAE3B,qBAAe,OAAO,IAAI;AAC1B,aAAO,gBAAgB,IAAI;AAAA,IAC5B;AACA,WAAO,KAAKA,QAAO,KAAK,EAAE,QAAQ,kBAAkB;AAEpD,WAAO;AAAA,EACR;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StagePermissionsFactory.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StagePermissionsFactory.ts"],"sourcesContent":["import { Acl } from '@contember/schema'\nimport { Permissions } from '@contember/authorization'\nimport { AuthorizationActions } from './AuthorizationActions'\nimport { SchemaGetter } from '../SchemaGetter'\n\nexport class StagePermissionsFactory {\n\tconstructor(private readonly getSchema: SchemaGetter) {}\n\n\tpublic async create(stage: string): Promise<Permissions> {\n\t\tconst permissions = new Permissions()\n\n\t\tconst filteredSchema = await this.getSchema({ stage })\n\n\t\tconst rolePermissions = this.createRolePermissions(filteredSchema.acl)\n\t\tObject.entries(rolePermissions).forEach(([role, value]) => {\n\t\t\t// history\n\t\t\tif (value.history === Acl.SystemPermissionsLevel.any || value.history === true) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_HISTORY_ANY)\n\t\t\t}\n\n\t\t\t// migrate\n\t\t\tif (value.migrate) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_MIGRATE)\n\t\t\t}\n\t\t})\n\n\t\treturn permissions\n\t}\n\n\tprivate createRolePermissions(schema: Acl.Schema): Record<string, Acl.SystemPermissions> {\n\t\tconst rolePermissions: Record<string, Acl.SystemPermissions> = {}\n\t\tconst recursionGuard = new Set<string>()\n\t\tconst getRolePermissions = (name: string): Acl.SystemPermissions => {\n\t\t\tif (rolePermissions[name]) {\n\t\t\t\treturn rolePermissions[name]\n\t\t\t}\n\t\t\tif (recursionGuard.has(name)) {\n\t\t\t\tthrow new Error(`Recursive role inheritance detected`)\n\t\t\t}\n\t\t\trecursionGuard.add(name)\n\t\t\tconst definition = schema.roles[name]\n\t\t\tconst inherits = definition.inherits || []\n\t\t\tconst inheritsDefinition = inherits.map(it => getRolePermissions(it))\n\t\t\trolePermissions[name] = {\n\t\t\t\t...inheritsDefinition.reduce(\n\t\t\t\t\t(def, current) => ({\n\t\t\t\t\t\t...def,\n\t\t\t\t\t\t...current,\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\t...(definition.system || {}),\n\t\t\t}\n\t\t\trecursionGuard.delete(name)\n\t\t\treturn rolePermissions[name]\n\t\t}\n\t\tObject.keys(schema.roles).forEach(getRolePermissions)\n\n\t\treturn rolePermissions\n\t}\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,wBAAwB;AAAA,EACpC,YAA6B,WAAyB;AAAzB,SAAA,YAAA;AAAA,EAA0B;AAAA,EAEvD,MAAa,OAAO,OAAqC;AACxD,UAAM,cAAc,IAAI,YAAA;AAExB,UAAM,iBAAiB,MAAM,KAAK,UAAU,EAAE,OAAO;AAErD,UAAM,kBAAkB,KAAK,sBAAsB,eAAe,GAAG;AACrE,WAAO,QAAQ,eAAe,EAAE,QAAQ,CAAC,CAAC,MAAM,KAAK,MAAM;AAE1D,UAAI,MAAM,YAAY,IAAI,uBAAuB,OAAO,MAAM,YAAY,MAAM;AAC/E,oBAAY,MAAM,MAAM,qBAAqB,mBAAmB;AAAA,MACjE;AAGA,UAAI,MAAM,SAAS;AAClB,oBAAY,MAAM,MAAM,qBAAqB,eAAe;AAAA,MAC7D;AAAA,IACD,CAAC;AAED,WAAO;AAAA,EACR;AAAA,EAEQ,sBAAsB,QAA2D;AACxF,UAAM,kBAAyD,CAAA;AAC/D,UAAM,qCAAqB,IAAA;AAC3B,UAAM,qBAAqB,CAAC,SAAwC;AACnE,UAAI,gBAAgB,IAAI,GAAG;AAC1B,eAAO,gBAAgB,IAAI;AAAA,MAC5B;AACA,UAAI,eAAe,IAAI,IAAI,GAAG;AAC7B,cAAM,IAAI,MAAM,qCAAqC;AAAA,MACtD;AACA,qBAAe,IAAI,IAAI;AACvB,YAAM,aAAa,OAAO,MAAM,IAAI;AACpC,YAAM,WAAW,WAAW,YAAY,CAAA;AACxC,YAAM,qBAAqB,SAAS,IAAI,CAAA,OAAM,mBAAmB,EAAE,CAAC;AACpE,sBAAgB,IAAI,IAAI;AAAA,QACvB,GAAG,mBAAmB;AAAA,UACrB,CAAC,KAAK,aAAa;AAAA,YAClB,GAAG;AAAA,YACH,GAAG;AAAA,UAAA;AAAA,UAEJ,CAAA;AAAA,QAAC;AAAA,QAEF,GAAI,WAAW,UAAU,CAAA;AAAA,MAAC;AAE3B,qBAAe,OAAO,IAAI;AAC1B,aAAO,gBAAgB,IAAI;AAAA,IAC5B;AACA,WAAO,KAAK,OAAO,KAAK,EAAE,QAAQ,kBAAkB;AAEpD,WAAO;AAAA,EACR;AACD;"}
|
|
1
|
+
{"version":3,"file":"StagePermissionsFactory.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StagePermissionsFactory.ts"],"sourcesContent":["import { Acl } from '@contember/schema'\nimport { Permissions } from '@contember/authorization'\nimport { AuthorizationActions } from './AuthorizationActions.js'\nimport { SchemaGetter } from '../SchemaGetter.js'\n\nexport class StagePermissionsFactory {\n\tconstructor(private readonly getSchema: SchemaGetter) {}\n\n\tpublic async create(stage: string): Promise<Permissions> {\n\t\tconst permissions = new Permissions()\n\n\t\tconst filteredSchema = await this.getSchema({ stage })\n\n\t\tconst rolePermissions = this.createRolePermissions(filteredSchema.acl)\n\t\tObject.entries(rolePermissions).forEach(([role, value]) => {\n\t\t\t// history\n\t\t\tif (value.history === Acl.SystemPermissionsLevel.any || value.history === true) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_HISTORY_ANY)\n\t\t\t}\n\n\t\t\t// migrate\n\t\t\tif (value.migrate) {\n\t\t\t\tpermissions.allow(role, AuthorizationActions.PROJECT_MIGRATE)\n\t\t\t}\n\t\t})\n\n\t\treturn permissions\n\t}\n\n\tprivate createRolePermissions(schema: Acl.Schema): Record<string, Acl.SystemPermissions> {\n\t\tconst rolePermissions: Record<string, Acl.SystemPermissions> = {}\n\t\tconst recursionGuard = new Set<string>()\n\t\tconst getRolePermissions = (name: string): Acl.SystemPermissions => {\n\t\t\tif (rolePermissions[name]) {\n\t\t\t\treturn rolePermissions[name]\n\t\t\t}\n\t\t\tif (recursionGuard.has(name)) {\n\t\t\t\tthrow new Error(`Recursive role inheritance detected`)\n\t\t\t}\n\t\t\trecursionGuard.add(name)\n\t\t\tconst definition = schema.roles[name]\n\t\t\tconst inherits = definition.inherits || []\n\t\t\tconst inheritsDefinition = inherits.map(it => getRolePermissions(it))\n\t\t\trolePermissions[name] = {\n\t\t\t\t...inheritsDefinition.reduce(\n\t\t\t\t\t(def, current) => ({\n\t\t\t\t\t\t...def,\n\t\t\t\t\t\t...current,\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\t...(definition.system || {}),\n\t\t\t}\n\t\t\trecursionGuard.delete(name)\n\t\t\treturn rolePermissions[name]\n\t\t}\n\t\tObject.keys(schema.roles).forEach(getRolePermissions)\n\n\t\treturn rolePermissions\n\t}\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,wBAAwB;AAAA,EACpC,YAA6B,WAAyB;AAAzB,SAAA,YAAA;AAAA,EAA0B;AAAA,EAEvD,MAAa,OAAO,OAAqC;AACxD,UAAM,cAAc,IAAI,YAAA;AAExB,UAAM,iBAAiB,MAAM,KAAK,UAAU,EAAE,OAAO;AAErD,UAAM,kBAAkB,KAAK,sBAAsB,eAAe,GAAG;AACrE,WAAO,QAAQ,eAAe,EAAE,QAAQ,CAAC,CAAC,MAAM,KAAK,MAAM;AAE1D,UAAI,MAAM,YAAY,IAAI,uBAAuB,OAAO,MAAM,YAAY,MAAM;AAC/E,oBAAY,MAAM,MAAM,qBAAqB,mBAAmB;AAAA,MACjE;AAGA,UAAI,MAAM,SAAS;AAClB,oBAAY,MAAM,MAAM,qBAAqB,eAAe;AAAA,MAC7D;AAAA,IACD,CAAC;AAED,WAAO;AAAA,EACR;AAAA,EAEQ,sBAAsB,QAA2D;AACxF,UAAM,kBAAyD,CAAA;AAC/D,UAAM,qCAAqB,IAAA;AAC3B,UAAM,qBAAqB,CAAC,SAAwC;AACnE,UAAI,gBAAgB,IAAI,GAAG;AAC1B,eAAO,gBAAgB,IAAI;AAAA,MAC5B;AACA,UAAI,eAAe,IAAI,IAAI,GAAG;AAC7B,cAAM,IAAI,MAAM,qCAAqC;AAAA,MACtD;AACA,qBAAe,IAAI,IAAI;AACvB,YAAM,aAAa,OAAO,MAAM,IAAI;AACpC,YAAM,WAAW,WAAW,YAAY,CAAA;AACxC,YAAM,qBAAqB,SAAS,IAAI,CAAA,OAAM,mBAAmB,EAAE,CAAC;AACpE,sBAAgB,IAAI,IAAI;AAAA,QACvB,GAAG,mBAAmB;AAAA,UACrB,CAAC,KAAK,aAAa;AAAA,YAClB,GAAG;AAAA,YACH,GAAG;AAAA,UAAA;AAAA,UAEJ,CAAA;AAAA,QAAC;AAAA,QAEF,GAAI,WAAW,UAAU,CAAA;AAAA,MAAC;AAE3B,qBAAe,OAAO,IAAI;AAC1B,aAAO,gBAAgB,IAAI;AAAA,IAC5B;AACA,WAAO,KAAK,OAAO,KAAK,EAAE,QAAQ,kBAAkB;AAEpD,WAAO;AAAA,EACR;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageScope.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StageScope.ts"],"sourcesContent":["import { AccessEvaluator, AccessNode, AuthorizationScope } from '@contember/authorization'\nimport { Identity } from './Identity'\nimport { SwitchEvaluatorNode } from './SwitchEvaluatorNode'\nimport { StagePermissionsFactory } from './StagePermissionsFactory'\n\nexport class StageScope implements AuthorizationScope<Identity> {\n\tconstructor(private readonly stage: string, private readonly stagePermissionsFactory: StagePermissionsFactory) {}\n\n\tasync getIdentityAccess(identity: Identity): Promise<AccessNode> {\n\t\tconst permissions = await this.stagePermissionsFactory.create(this.stage)\n\t\tconst roles = new AccessNode.Roles(identity.roles)\n\t\tconst permissionEvaluator = new AccessEvaluator.PermissionEvaluator(permissions)\n\t\tconst node = new SwitchEvaluatorNode(roles, permissionEvaluator)\n\n\t\treturn Promise.resolve(node)\n\t}\n}\n"],"names":["AccessNode","AccessEvaluator","SwitchEvaluatorNode"],"mappings":";;;;AAKO,MAAM,WAAmD;AAAA,EAC/D,YAA6B,OAAgC,yBAAkD;AAAlF,SAAA,QAAA;AAAgC,SAAA,0BAAA;AAAA,EAAmD;AAAA,EAEhH,MAAM,kBAAkB,UAAyC;AAChE,UAAM,cAAc,MAAM,KAAK,wBAAwB,OAAO,KAAK,KAAK;AACxE,UAAM,QAAQ,IAAIA,cAAAA,WAAW,MAAM,SAAS,KAAK;AACjD,UAAM,sBAAsB,IAAIC,8BAAgB,oBAAoB,WAAW;AAC/E,UAAM,OAAO,IAAIC,wCAAoB,OAAO,mBAAmB;AAE/D,WAAO,QAAQ,QAAQ,IAAI;AAAA,EAC5B;AACD;;"}
|
|
1
|
+
{"version":3,"file":"StageScope.cjs","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StageScope.ts"],"sourcesContent":["import { AccessEvaluator, AccessNode, AuthorizationScope } from '@contember/authorization'\nimport { Identity } from './Identity.js'\nimport { SwitchEvaluatorNode } from './SwitchEvaluatorNode.js'\nimport { StagePermissionsFactory } from './StagePermissionsFactory.js'\n\nexport class StageScope implements AuthorizationScope<Identity> {\n\tconstructor(private readonly stage: string, private readonly stagePermissionsFactory: StagePermissionsFactory) {}\n\n\tasync getIdentityAccess(identity: Identity): Promise<AccessNode> {\n\t\tconst permissions = await this.stagePermissionsFactory.create(this.stage)\n\t\tconst roles = new AccessNode.Roles(identity.roles)\n\t\tconst permissionEvaluator = new AccessEvaluator.PermissionEvaluator(permissions)\n\t\tconst node = new SwitchEvaluatorNode(roles, permissionEvaluator)\n\n\t\treturn Promise.resolve(node)\n\t}\n}\n"],"names":["AccessNode","AccessEvaluator","SwitchEvaluatorNode"],"mappings":";;;;AAKO,MAAM,WAAmD;AAAA,EAC/D,YAA6B,OAAgC,yBAAkD;AAAlF,SAAA,QAAA;AAAgC,SAAA,0BAAA;AAAA,EAAmD;AAAA,EAEhH,MAAM,kBAAkB,UAAyC;AAChE,UAAM,cAAc,MAAM,KAAK,wBAAwB,OAAO,KAAK,KAAK;AACxE,UAAM,QAAQ,IAAIA,cAAAA,WAAW,MAAM,SAAS,KAAK;AACjD,UAAM,sBAAsB,IAAIC,8BAAgB,oBAAoB,WAAW;AAC/E,UAAM,OAAO,IAAIC,wCAAoB,OAAO,mBAAmB;AAE/D,WAAO,QAAQ,QAAQ,IAAI;AAAA,EAC5B;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageScope.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StageScope.ts"],"sourcesContent":["import { AccessEvaluator, AccessNode, AuthorizationScope } from '@contember/authorization'\nimport { Identity } from './Identity'\nimport { SwitchEvaluatorNode } from './SwitchEvaluatorNode'\nimport { StagePermissionsFactory } from './StagePermissionsFactory'\n\nexport class StageScope implements AuthorizationScope<Identity> {\n\tconstructor(private readonly stage: string, private readonly stagePermissionsFactory: StagePermissionsFactory) {}\n\n\tasync getIdentityAccess(identity: Identity): Promise<AccessNode> {\n\t\tconst permissions = await this.stagePermissionsFactory.create(this.stage)\n\t\tconst roles = new AccessNode.Roles(identity.roles)\n\t\tconst permissionEvaluator = new AccessEvaluator.PermissionEvaluator(permissions)\n\t\tconst node = new SwitchEvaluatorNode(roles, permissionEvaluator)\n\n\t\treturn Promise.resolve(node)\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,WAAmD;AAAA,EAC/D,YAA6B,OAAgC,yBAAkD;AAAlF,SAAA,QAAA;AAAgC,SAAA,0BAAA;AAAA,EAAmD;AAAA,EAEhH,MAAM,kBAAkB,UAAyC;AAChE,UAAM,cAAc,MAAM,KAAK,wBAAwB,OAAO,KAAK,KAAK;AACxE,UAAM,QAAQ,IAAI,WAAW,MAAM,SAAS,KAAK;AACjD,UAAM,sBAAsB,IAAI,gBAAgB,oBAAoB,WAAW;AAC/E,UAAM,OAAO,IAAI,oBAAoB,OAAO,mBAAmB;AAE/D,WAAO,QAAQ,QAAQ,IAAI;AAAA,EAC5B;AACD;"}
|
|
1
|
+
{"version":3,"file":"StageScope.js","sources":["../../../../../../packages/engine-system-api/src/model/authorization/StageScope.ts"],"sourcesContent":["import { AccessEvaluator, AccessNode, AuthorizationScope } from '@contember/authorization'\nimport { Identity } from './Identity.js'\nimport { SwitchEvaluatorNode } from './SwitchEvaluatorNode.js'\nimport { StagePermissionsFactory } from './StagePermissionsFactory.js'\n\nexport class StageScope implements AuthorizationScope<Identity> {\n\tconstructor(private readonly stage: string, private readonly stagePermissionsFactory: StagePermissionsFactory) {}\n\n\tasync getIdentityAccess(identity: Identity): Promise<AccessNode> {\n\t\tconst permissions = await this.stagePermissionsFactory.create(this.stage)\n\t\tconst roles = new AccessNode.Roles(identity.roles)\n\t\tconst permissionEvaluator = new AccessEvaluator.PermissionEvaluator(permissions)\n\t\tconst node = new SwitchEvaluatorNode(roles, permissionEvaluator)\n\n\t\treturn Promise.resolve(node)\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,WAAmD;AAAA,EAC/D,YAA6B,OAAgC,yBAAkD;AAAlF,SAAA,QAAA;AAAgC,SAAA,0BAAA;AAAA,EAAmD;AAAA,EAEhH,MAAM,kBAAkB,UAAyC;AAChE,UAAM,cAAc,MAAM,KAAK,wBAAwB,OAAO,KAAK,KAAK;AACxE,UAAM,QAAQ,IAAI,WAAW,MAAM,SAAS,KAAK;AACjD,UAAM,sBAAsB,IAAI,gBAAgB,oBAAoB,WAAW;AAC/E,UAAM,OAAO,IAAI,oBAAoB,OAAO,mBAAmB;AAE/D,WAAO,QAAQ,QAAQ,IAAI;AAAA,EAC5B;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandBus.cjs","sources":["../../../../../../packages/engine-system-api/src/model/commands/CommandBus.ts"],"sourcesContent":["import { Command } from './Command'\nimport { Client, Connection } from '@contember/database'\nimport { Providers } from '../../utils'\n\nexport class CommandBus<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tconstructor(public readonly client: Client<ConnectionType>, private readonly providers: Providers) {}\n\n\tpublic async execute<T>(command: Command<T>): Promise<T> {\n\t\treturn await command.execute({ db: this.client, providers: this.providers, bus: this })\n\t}\n\n\tasync transaction<T>(\n\t\ttransactionScope: (wrapper: CommandBus<Connection.TransactionLike>) => Promise<T> | T,\n\t): Promise<T> {\n\t\treturn await this.client.transaction(client => transactionScope(new CommandBus<Connection.TransactionLike>(client, this.providers)))\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,WAAyF;AAAA,EACrG,YAA4B,QAAiD,WAAsB;AAAvE,SAAA,SAAA;AAAiD,SAAA,YAAA;AAAA,EAAuB;AAAA,EAEpG,MAAa,QAAW,SAAiC;AACxD,WAAO,MAAM,QAAQ,QAAQ,EAAE,IAAI,KAAK,QAAQ,WAAW,KAAK,WAAW,KAAK,KAAA,CAAM;AAAA,EACvF;AAAA,EAEA,MAAM,YACL,kBACa;AACb,WAAO,MAAM,KAAK,OAAO,YAAY,CAAA,WAAU,iBAAiB,IAAI,WAAuC,QAAQ,KAAK,SAAS,CAAC,CAAC;AAAA,EACpI;AACD;;"}
|
|
1
|
+
{"version":3,"file":"CommandBus.cjs","sources":["../../../../../../packages/engine-system-api/src/model/commands/CommandBus.ts"],"sourcesContent":["import { Command } from './Command.js'\nimport { Client, Connection } from '@contember/database'\nimport { Providers } from '../../utils/index.js'\n\nexport class CommandBus<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tconstructor(public readonly client: Client<ConnectionType>, private readonly providers: Providers) {}\n\n\tpublic async execute<T>(command: Command<T>): Promise<T> {\n\t\treturn await command.execute({ db: this.client, providers: this.providers, bus: this })\n\t}\n\n\tasync transaction<T>(\n\t\ttransactionScope: (wrapper: CommandBus<Connection.TransactionLike>) => Promise<T> | T,\n\t): Promise<T> {\n\t\treturn await this.client.transaction(client => transactionScope(new CommandBus<Connection.TransactionLike>(client, this.providers)))\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,WAAyF;AAAA,EACrG,YAA4B,QAAiD,WAAsB;AAAvE,SAAA,SAAA;AAAiD,SAAA,YAAA;AAAA,EAAuB;AAAA,EAEpG,MAAa,QAAW,SAAiC;AACxD,WAAO,MAAM,QAAQ,QAAQ,EAAE,IAAI,KAAK,QAAQ,WAAW,KAAK,WAAW,KAAK,KAAA,CAAM;AAAA,EACvF;AAAA,EAEA,MAAM,YACL,kBACa;AACb,WAAO,MAAM,KAAK,OAAO,YAAY,CAAA,WAAU,iBAAiB,IAAI,WAAuC,QAAQ,KAAK,SAAS,CAAC,CAAC;AAAA,EACpI;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandBus.js","sources":["../../../../../../packages/engine-system-api/src/model/commands/CommandBus.ts"],"sourcesContent":["import { Command } from './Command'\nimport { Client, Connection } from '@contember/database'\nimport { Providers } from '../../utils'\n\nexport class CommandBus<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tconstructor(public readonly client: Client<ConnectionType>, private readonly providers: Providers) {}\n\n\tpublic async execute<T>(command: Command<T>): Promise<T> {\n\t\treturn await command.execute({ db: this.client, providers: this.providers, bus: this })\n\t}\n\n\tasync transaction<T>(\n\t\ttransactionScope: (wrapper: CommandBus<Connection.TransactionLike>) => Promise<T> | T,\n\t): Promise<T> {\n\t\treturn await this.client.transaction(client => transactionScope(new CommandBus<Connection.TransactionLike>(client, this.providers)))\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,WAAyF;AAAA,EACrG,YAA4B,QAAiD,WAAsB;AAAvE,SAAA,SAAA;AAAiD,SAAA,YAAA;AAAA,EAAuB;AAAA,EAEpG,MAAa,QAAW,SAAiC;AACxD,WAAO,MAAM,QAAQ,QAAQ,EAAE,IAAI,KAAK,QAAQ,WAAW,KAAK,WAAW,KAAK,KAAA,CAAM;AAAA,EACvF;AAAA,EAEA,MAAM,YACL,kBACa;AACb,WAAO,MAAM,KAAK,OAAO,YAAY,CAAA,WAAU,iBAAiB,IAAI,WAAuC,QAAQ,KAAK,SAAS,CAAC,CAAC;AAAA,EACpI;AACD;"}
|
|
1
|
+
{"version":3,"file":"CommandBus.js","sources":["../../../../../../packages/engine-system-api/src/model/commands/CommandBus.ts"],"sourcesContent":["import { Command } from './Command.js'\nimport { Client, Connection } from '@contember/database'\nimport { Providers } from '../../utils/index.js'\n\nexport class CommandBus<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tconstructor(public readonly client: Client<ConnectionType>, private readonly providers: Providers) {}\n\n\tpublic async execute<T>(command: Command<T>): Promise<T> {\n\t\treturn await command.execute({ db: this.client, providers: this.providers, bus: this })\n\t}\n\n\tasync transaction<T>(\n\t\ttransactionScope: (wrapper: CommandBus<Connection.TransactionLike>) => Promise<T> | T,\n\t): Promise<T> {\n\t\treturn await this.client.transaction(client => transactionScope(new CommandBus<Connection.TransactionLike>(client, this.providers)))\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,WAAyF;AAAA,EACrG,YAA4B,QAAiD,WAAsB;AAAvE,SAAA,SAAA;AAAiD,SAAA,YAAA;AAAA,EAAuB;AAAA,EAEpG,MAAa,QAAW,SAAiC;AACxD,WAAO,MAAM,QAAQ,QAAQ,EAAE,IAAI,KAAK,QAAQ,WAAW,KAAK,WAAW,KAAK,KAAA,CAAM;AAAA,EACvF;AAAA,EAEA,MAAM,YACL,kBACa;AACb,WAAO,MAAM,KAAK,OAAO,YAAY,CAAA,WAAU,iBAAiB,IAAI,WAAuC,QAAQ,KAAK,SAAS,CAAC,CAAC;AAAA,EACpI;AACD;"}
|
|
@@ -2,8 +2,31 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const Database = require("@contember/database");
|
|
4
4
|
class TruncateEventsCommand {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
constructor(identityId, stageIds) {
|
|
6
|
+
this.identityId = identityId;
|
|
7
|
+
this.stageIds = stageIds;
|
|
8
|
+
}
|
|
9
|
+
async execute({ db, providers }) {
|
|
10
|
+
await Database.DeleteBuilder.create().from("event_data").execute(db);
|
|
11
|
+
const transactionId = providers.uuid();
|
|
12
|
+
await Database.InsertBuilder.create().into("event_data").values({
|
|
13
|
+
id: providers.uuid(),
|
|
14
|
+
type: "truncate",
|
|
15
|
+
table_name: null,
|
|
16
|
+
row_ids: null,
|
|
17
|
+
values: null,
|
|
18
|
+
created_at: (expr) => expr.raw("clock_timestamp()"),
|
|
19
|
+
schema_id: (expr) => expr.raw('(SELECT MAX("id") FROM "schema_migration")'),
|
|
20
|
+
identity_id: this.identityId,
|
|
21
|
+
transaction_id: transactionId
|
|
22
|
+
}).execute(db);
|
|
23
|
+
for (const stageId of this.stageIds) {
|
|
24
|
+
await Database.InsertBuilder.create().into("stage_transaction").values({
|
|
25
|
+
transaction_id: transactionId,
|
|
26
|
+
stage_id: stageId,
|
|
27
|
+
applied_at: (expr) => expr.raw("clock_timestamp()")
|
|
28
|
+
}).onConflict(Database.ConflictActionType.doNothing, ["transaction_id", "stage_id"]).execute(db);
|
|
29
|
+
}
|
|
7
30
|
}
|
|
8
31
|
}
|
|
9
32
|
exports.TruncateEventsCommand = TruncateEventsCommand;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TruncateEventsCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/events/TruncateEventsCommand.ts"],"sourcesContent":["import { DeleteBuilder } from '@contember/database'\nimport { Command } from '../Command'\n\nexport class TruncateEventsCommand implements Command<
|
|
1
|
+
{"version":3,"file":"TruncateEventsCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/events/TruncateEventsCommand.ts"],"sourcesContent":["import { ConflictActionType, DeleteBuilder, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command.js'\n\n/**\n * Clears the whole content event log and records a single `truncate` event in its place,\n * so the truncate operation itself is auditable through the event log (consistent with\n * how create/update/delete content mutations are logged). The truncate event is linked to\n * every stage via `stage_transaction` so it shows up in each stage's event stream.\n */\nexport class TruncateEventsCommand implements Command<void> {\n\tconstructor(\n\t\tprivate readonly identityId: string,\n\t\tprivate readonly stageIds: string[],\n\t) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tawait DeleteBuilder.create().from('event_data').execute(db)\n\n\t\tconst transactionId = providers.uuid()\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('event_data')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\ttype: 'truncate',\n\t\t\t\ttable_name: null,\n\t\t\t\trow_ids: null,\n\t\t\t\tvalues: null,\n\t\t\t\tcreated_at: expr => expr.raw('clock_timestamp()'),\n\t\t\t\tschema_id: expr => expr.raw('(SELECT MAX(\"id\") FROM \"schema_migration\")'),\n\t\t\t\tidentity_id: this.identityId,\n\t\t\t\ttransaction_id: transactionId,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tfor (const stageId of this.stageIds) {\n\t\t\tawait InsertBuilder.create()\n\t\t\t\t.into('stage_transaction')\n\t\t\t\t.values({\n\t\t\t\t\ttransaction_id: transactionId,\n\t\t\t\t\tstage_id: stageId,\n\t\t\t\t\tapplied_at: expr => expr.raw('clock_timestamp()'),\n\t\t\t\t})\n\t\t\t\t.onConflict(ConflictActionType.doNothing, ['transaction_id', 'stage_id'])\n\t\t\t\t.execute(db)\n\t\t}\n\t}\n}\n"],"names":["DeleteBuilder","InsertBuilder","ConflictActionType"],"mappings":";;;AASO,MAAM,sBAA+C;AAAA,EAC3D,YACkB,YACA,UAChB;AAFgB,SAAA,aAAA;AACA,SAAA,WAAA;AAAA,EACf;AAAA,EAEH,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAMA,SAAAA,cAAc,SAAS,KAAK,YAAY,EAAE,QAAQ,EAAE;AAE1D,UAAM,gBAAgB,UAAU,KAAA;AAEhC,UAAMC,SAAAA,cAAc,OAAA,EAClB,KAAK,YAAY,EACjB,OAAO;AAAA,MACP,IAAI,UAAU,KAAA;AAAA,MACd,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,YAAY,CAAA,SAAQ,KAAK,IAAI,mBAAmB;AAAA,MAChD,WAAW,CAAA,SAAQ,KAAK,IAAI,4CAA4C;AAAA,MACxE,aAAa,KAAK;AAAA,MAClB,gBAAgB;AAAA,IAAA,CAChB,EACA,QAAQ,EAAE;AAEZ,eAAW,WAAW,KAAK,UAAU;AACpC,YAAMA,SAAAA,cAAc,OAAA,EAClB,KAAK,mBAAmB,EACxB,OAAO;AAAA,QACP,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,YAAY,CAAA,SAAQ,KAAK,IAAI,mBAAmB;AAAA,MAAA,CAChD,EACA,WAAWC,SAAAA,mBAAmB,WAAW,CAAC,kBAAkB,UAAU,CAAC,EACvE,QAAQ,EAAE;AAAA,IACb;AAAA,EACD;AACD;;"}
|
|
@@ -1,7 +1,30 @@
|
|
|
1
|
-
import { DeleteBuilder } from "@contember/database";
|
|
1
|
+
import { DeleteBuilder, InsertBuilder as InsertBuilder$1, ConflictActionType } from "@contember/database";
|
|
2
2
|
class TruncateEventsCommand {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
constructor(identityId, stageIds) {
|
|
4
|
+
this.identityId = identityId;
|
|
5
|
+
this.stageIds = stageIds;
|
|
6
|
+
}
|
|
7
|
+
async execute({ db, providers }) {
|
|
8
|
+
await DeleteBuilder.create().from("event_data").execute(db);
|
|
9
|
+
const transactionId = providers.uuid();
|
|
10
|
+
await InsertBuilder$1.create().into("event_data").values({
|
|
11
|
+
id: providers.uuid(),
|
|
12
|
+
type: "truncate",
|
|
13
|
+
table_name: null,
|
|
14
|
+
row_ids: null,
|
|
15
|
+
values: null,
|
|
16
|
+
created_at: (expr) => expr.raw("clock_timestamp()"),
|
|
17
|
+
schema_id: (expr) => expr.raw('(SELECT MAX("id") FROM "schema_migration")'),
|
|
18
|
+
identity_id: this.identityId,
|
|
19
|
+
transaction_id: transactionId
|
|
20
|
+
}).execute(db);
|
|
21
|
+
for (const stageId of this.stageIds) {
|
|
22
|
+
await InsertBuilder$1.create().into("stage_transaction").values({
|
|
23
|
+
transaction_id: transactionId,
|
|
24
|
+
stage_id: stageId,
|
|
25
|
+
applied_at: (expr) => expr.raw("clock_timestamp()")
|
|
26
|
+
}).onConflict(ConflictActionType.doNothing, ["transaction_id", "stage_id"]).execute(db);
|
|
27
|
+
}
|
|
5
28
|
}
|
|
6
29
|
}
|
|
7
30
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TruncateEventsCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/events/TruncateEventsCommand.ts"],"sourcesContent":["import { DeleteBuilder } from '@contember/database'\nimport { Command } from '../Command'\n\nexport class TruncateEventsCommand implements Command<
|
|
1
|
+
{"version":3,"file":"TruncateEventsCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/events/TruncateEventsCommand.ts"],"sourcesContent":["import { ConflictActionType, DeleteBuilder, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command.js'\n\n/**\n * Clears the whole content event log and records a single `truncate` event in its place,\n * so the truncate operation itself is auditable through the event log (consistent with\n * how create/update/delete content mutations are logged). The truncate event is linked to\n * every stage via `stage_transaction` so it shows up in each stage's event stream.\n */\nexport class TruncateEventsCommand implements Command<void> {\n\tconstructor(\n\t\tprivate readonly identityId: string,\n\t\tprivate readonly stageIds: string[],\n\t) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tawait DeleteBuilder.create().from('event_data').execute(db)\n\n\t\tconst transactionId = providers.uuid()\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('event_data')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\ttype: 'truncate',\n\t\t\t\ttable_name: null,\n\t\t\t\trow_ids: null,\n\t\t\t\tvalues: null,\n\t\t\t\tcreated_at: expr => expr.raw('clock_timestamp()'),\n\t\t\t\tschema_id: expr => expr.raw('(SELECT MAX(\"id\") FROM \"schema_migration\")'),\n\t\t\t\tidentity_id: this.identityId,\n\t\t\t\ttransaction_id: transactionId,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tfor (const stageId of this.stageIds) {\n\t\t\tawait InsertBuilder.create()\n\t\t\t\t.into('stage_transaction')\n\t\t\t\t.values({\n\t\t\t\t\ttransaction_id: transactionId,\n\t\t\t\t\tstage_id: stageId,\n\t\t\t\t\tapplied_at: expr => expr.raw('clock_timestamp()'),\n\t\t\t\t})\n\t\t\t\t.onConflict(ConflictActionType.doNothing, ['transaction_id', 'stage_id'])\n\t\t\t\t.execute(db)\n\t\t}\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";AASO,MAAM,sBAA+C;AAAA,EAC3D,YACkB,YACA,UAChB;AAFgB,SAAA,aAAA;AACA,SAAA,WAAA;AAAA,EACf;AAAA,EAEH,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAM,cAAc,SAAS,KAAK,YAAY,EAAE,QAAQ,EAAE;AAE1D,UAAM,gBAAgB,UAAU,KAAA;AAEhC,UAAMA,gBAAc,OAAA,EAClB,KAAK,YAAY,EACjB,OAAO;AAAA,MACP,IAAI,UAAU,KAAA;AAAA,MACd,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,YAAY,CAAA,SAAQ,KAAK,IAAI,mBAAmB;AAAA,MAChD,WAAW,CAAA,SAAQ,KAAK,IAAI,4CAA4C;AAAA,MACxE,aAAa,KAAK;AAAA,MAClB,gBAAgB;AAAA,IAAA,CAChB,EACA,QAAQ,EAAE;AAEZ,eAAW,WAAW,KAAK,UAAU;AACpC,YAAMA,gBAAc,OAAA,EAClB,KAAK,mBAAmB,EACxB,OAAO;AAAA,QACP,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,YAAY,CAAA,SAAQ,KAAK,IAAI,mBAAmB;AAAA,MAAA,CAChD,EACA,WAAW,mBAAmB,WAAW,CAAC,kBAAkB,UAAU,CAAC,EACvE,QAAQ,EAAE;AAAA,IACb;AAAA,EACD;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/DeleteMigrationCommand.ts"],"sourcesContent":["import { DeleteBuilder } from '@contember/database'\nimport { Command } from '../Command'\n\nexport class DeleteMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst result = await DeleteBuilder.create() //\n\t\t\t.from('schema_migration')\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn result > 0\n\t}\n}\n"],"names":["DeleteBuilder"],"mappings":";;;AAGO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAiB;AAAjB,SAAA,UAAA;AAAA,EAAkB;AAAA,EAE/C,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,SAAS,MAAMA,uBAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO,SAAS;AAAA,EACjB;AACD;;"}
|
|
1
|
+
{"version":3,"file":"DeleteMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/DeleteMigrationCommand.ts"],"sourcesContent":["import { DeleteBuilder } from '@contember/database'\nimport { Command } from '../Command.js'\n\nexport class DeleteMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst result = await DeleteBuilder.create() //\n\t\t\t.from('schema_migration')\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn result > 0\n\t}\n}\n"],"names":["DeleteBuilder"],"mappings":";;;AAGO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAiB;AAAjB,SAAA,UAAA;AAAA,EAAkB;AAAA,EAE/C,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,SAAS,MAAMA,uBAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO,SAAS;AAAA,EACjB;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/DeleteMigrationCommand.ts"],"sourcesContent":["import { DeleteBuilder } from '@contember/database'\nimport { Command } from '../Command'\n\nexport class DeleteMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst result = await DeleteBuilder.create() //\n\t\t\t.from('schema_migration')\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn result > 0\n\t}\n}\n"],"names":[],"mappings":";AAGO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAiB;AAAjB,SAAA,UAAA;AAAA,EAAkB;AAAA,EAE/C,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,SAAS,MAAM,cAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO,SAAS;AAAA,EACjB;AACD;"}
|
|
1
|
+
{"version":3,"file":"DeleteMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/DeleteMigrationCommand.ts"],"sourcesContent":["import { DeleteBuilder } from '@contember/database'\nimport { Command } from '../Command.js'\n\nexport class DeleteMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst result = await DeleteBuilder.create() //\n\t\t\t.from('schema_migration')\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn result > 0\n\t}\n}\n"],"names":[],"mappings":";AAGO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAiB;AAAjB,SAAA,UAAA;AAAA,EAAkB;AAAA,EAE/C,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,SAAS,MAAM,cAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO,SAAS;AAAA,EACjB;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModifyMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/ModifyMigrationCommand.ts"],"sourcesContent":["import { QueryBuilder, UpdateBuilder } from '@contember/database'\nimport { calculateMigrationChecksum, Migration } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { ExecutedMigrationByVersionQuery } from '../../queries'\n\nexport class ModifyMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string, private readonly migration: Partial<Migration>) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst current = await db.createQueryHandler().fetch(new ExecutedMigrationByVersionQuery(this.version))\n\t\tif (!current) {\n\t\t\treturn false\n\t\t}\n\t\tconst newMigration = {\n\t\t\tversion: current.version,\n\t\t\tname: current.name,\n\t\t\tformatVersion: current.formatVersion,\n\t\t\tmodifications: current.modifications,\n\t\t\t...this.migration,\n\t\t}\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: newMigration.version,\n\t\t\tname: newMigration.name,\n\t\t\tmigration: JSON.stringify(newMigration),\n\t\t\tchecksum: calculateMigrationChecksum(newMigration),\n\t\t}\n\t\tawait UpdateBuilder.create() //\n\t\t\t.table('schema_migration')\n\t\t\t.values(values)\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn true\n\t}\n}\n"],"names":["ExecutedMigrationByVersionQuery","calculateMigrationChecksum","UpdateBuilder"],"mappings":";;;;;;;AAKO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAkC,WAA+B;AAAjE,SAAA,UAAA;AAAkC,SAAA,YAAA;AAAA,EAAgC;AAAA,EAE/F,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,UAAU,MAAM,GAAG,mBAAA,EAAqB,MAAM,IAAIA,gCAAAA,gCAAgC,KAAK,OAAO,CAAC;AACrG,QAAI,CAAC,SAAS;AACb,aAAO;AAAA,IACR;AACA,UAAM,eAAe;AAAA,MACpB,SAAS,QAAQ;AAAA,MACjB,MAAM,QAAQ;AAAA,MACd,eAAe,QAAQ;AAAA,MACvB,eAAe,QAAQ;AAAA,MACvB,GAAG,KAAK;AAAA,IAAA;AAET,UAAM,SAA8B;AAAA,MACnC,SAAS,aAAa;AAAA,MACtB,MAAM,aAAa;AAAA,MACnB,WAAW,KAAK,UAAU,YAAY;AAAA,MACtC,UAAUC,iBAAAA,2BAA2B,YAAY;AAAA,IAAA;AAElD,UAAMC,SAAAA,cAAc,SAClB,MAAM,kBAAkB,EACxB,OAAO,MAAM,EACb,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO;AAAA,EACR;AACD;;"}
|
|
1
|
+
{"version":3,"file":"ModifyMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/ModifyMigrationCommand.ts"],"sourcesContent":["import { QueryBuilder, UpdateBuilder } from '@contember/database'\nimport { calculateMigrationChecksum, Migration } from '@contember/schema-migrations'\nimport { Command } from '../Command.js'\nimport { ExecutedMigrationByVersionQuery } from '../../queries/index.js'\n\nexport class ModifyMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string, private readonly migration: Partial<Migration>) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst current = await db.createQueryHandler().fetch(new ExecutedMigrationByVersionQuery(this.version))\n\t\tif (!current) {\n\t\t\treturn false\n\t\t}\n\t\tconst newMigration = {\n\t\t\tversion: current.version,\n\t\t\tname: current.name,\n\t\t\tformatVersion: current.formatVersion,\n\t\t\tmodifications: current.modifications,\n\t\t\t...this.migration,\n\t\t}\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: newMigration.version,\n\t\t\tname: newMigration.name,\n\t\t\tmigration: JSON.stringify(newMigration),\n\t\t\tchecksum: calculateMigrationChecksum(newMigration),\n\t\t}\n\t\tawait UpdateBuilder.create() //\n\t\t\t.table('schema_migration')\n\t\t\t.values(values)\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn true\n\t}\n}\n"],"names":["ExecutedMigrationByVersionQuery","calculateMigrationChecksum","UpdateBuilder"],"mappings":";;;;;;;AAKO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAkC,WAA+B;AAAjE,SAAA,UAAA;AAAkC,SAAA,YAAA;AAAA,EAAgC;AAAA,EAE/F,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,UAAU,MAAM,GAAG,mBAAA,EAAqB,MAAM,IAAIA,gCAAAA,gCAAgC,KAAK,OAAO,CAAC;AACrG,QAAI,CAAC,SAAS;AACb,aAAO;AAAA,IACR;AACA,UAAM,eAAe;AAAA,MACpB,SAAS,QAAQ;AAAA,MACjB,MAAM,QAAQ;AAAA,MACd,eAAe,QAAQ;AAAA,MACvB,eAAe,QAAQ;AAAA,MACvB,GAAG,KAAK;AAAA,IAAA;AAET,UAAM,SAA8B;AAAA,MACnC,SAAS,aAAa;AAAA,MACtB,MAAM,aAAa;AAAA,MACnB,WAAW,KAAK,UAAU,YAAY;AAAA,MACtC,UAAUC,iBAAAA,2BAA2B,YAAY;AAAA,IAAA;AAElD,UAAMC,SAAAA,cAAc,SAClB,MAAM,kBAAkB,EACxB,OAAO,MAAM,EACb,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO;AAAA,EACR;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModifyMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/ModifyMigrationCommand.ts"],"sourcesContent":["import { QueryBuilder, UpdateBuilder } from '@contember/database'\nimport { calculateMigrationChecksum, Migration } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { ExecutedMigrationByVersionQuery } from '../../queries'\n\nexport class ModifyMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string, private readonly migration: Partial<Migration>) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst current = await db.createQueryHandler().fetch(new ExecutedMigrationByVersionQuery(this.version))\n\t\tif (!current) {\n\t\t\treturn false\n\t\t}\n\t\tconst newMigration = {\n\t\t\tversion: current.version,\n\t\t\tname: current.name,\n\t\t\tformatVersion: current.formatVersion,\n\t\t\tmodifications: current.modifications,\n\t\t\t...this.migration,\n\t\t}\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: newMigration.version,\n\t\t\tname: newMigration.name,\n\t\t\tmigration: JSON.stringify(newMigration),\n\t\t\tchecksum: calculateMigrationChecksum(newMigration),\n\t\t}\n\t\tawait UpdateBuilder.create() //\n\t\t\t.table('schema_migration')\n\t\t\t.values(values)\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn true\n\t}\n}\n"],"names":["UpdateBuilder"],"mappings":";;;;;AAKO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAkC,WAA+B;AAAjE,SAAA,UAAA;AAAkC,SAAA,YAAA;AAAA,EAAgC;AAAA,EAE/F,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,UAAU,MAAM,GAAG,mBAAA,EAAqB,MAAM,IAAI,gCAAgC,KAAK,OAAO,CAAC;AACrG,QAAI,CAAC,SAAS;AACb,aAAO;AAAA,IACR;AACA,UAAM,eAAe;AAAA,MACpB,SAAS,QAAQ;AAAA,MACjB,MAAM,QAAQ;AAAA,MACd,eAAe,QAAQ;AAAA,MACvB,eAAe,QAAQ;AAAA,MACvB,GAAG,KAAK;AAAA,IAAA;AAET,UAAM,SAA8B;AAAA,MACnC,SAAS,aAAa;AAAA,MACtB,MAAM,aAAa;AAAA,MACnB,WAAW,KAAK,UAAU,YAAY;AAAA,MACtC,UAAU,2BAA2B,YAAY;AAAA,IAAA;AAElD,UAAMA,gBAAc,SAClB,MAAM,kBAAkB,EACxB,OAAO,MAAM,EACb,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO;AAAA,EACR;AACD;"}
|
|
1
|
+
{"version":3,"file":"ModifyMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/ModifyMigrationCommand.ts"],"sourcesContent":["import { QueryBuilder, UpdateBuilder } from '@contember/database'\nimport { calculateMigrationChecksum, Migration } from '@contember/schema-migrations'\nimport { Command } from '../Command.js'\nimport { ExecutedMigrationByVersionQuery } from '../../queries/index.js'\n\nexport class ModifyMigrationCommand implements Command<boolean> {\n\tconstructor(private readonly version: string, private readonly migration: Partial<Migration>) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<boolean> {\n\t\tconst current = await db.createQueryHandler().fetch(new ExecutedMigrationByVersionQuery(this.version))\n\t\tif (!current) {\n\t\t\treturn false\n\t\t}\n\t\tconst newMigration = {\n\t\t\tversion: current.version,\n\t\t\tname: current.name,\n\t\t\tformatVersion: current.formatVersion,\n\t\t\tmodifications: current.modifications,\n\t\t\t...this.migration,\n\t\t}\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: newMigration.version,\n\t\t\tname: newMigration.name,\n\t\t\tmigration: JSON.stringify(newMigration),\n\t\t\tchecksum: calculateMigrationChecksum(newMigration),\n\t\t}\n\t\tawait UpdateBuilder.create() //\n\t\t\t.table('schema_migration')\n\t\t\t.values(values)\n\t\t\t.where({\n\t\t\t\tversion: this.version,\n\t\t\t})\n\t\t\t.execute(db)\n\t\treturn true\n\t}\n}\n"],"names":["UpdateBuilder"],"mappings":";;;;;AAKO,MAAM,uBAAmD;AAAA,EAC/D,YAA6B,SAAkC,WAA+B;AAAjE,SAAA,UAAA;AAAkC,SAAA,YAAA;AAAA,EAAgC;AAAA,EAE/F,MAAa,QAAQ,EAAE,MAAsC;AAC5D,UAAM,UAAU,MAAM,GAAG,mBAAA,EAAqB,MAAM,IAAI,gCAAgC,KAAK,OAAO,CAAC;AACrG,QAAI,CAAC,SAAS;AACb,aAAO;AAAA,IACR;AACA,UAAM,eAAe;AAAA,MACpB,SAAS,QAAQ;AAAA,MACjB,MAAM,QAAQ;AAAA,MACd,eAAe,QAAQ;AAAA,MACvB,eAAe,QAAQ;AAAA,MACvB,GAAG,KAAK;AAAA,IAAA;AAET,UAAM,SAA8B;AAAA,MACnC,SAAS,aAAa;AAAA,MACtB,MAAM,aAAa;AAAA,MACnB,WAAW,KAAK,UAAU,YAAY;AAAA,MACtC,UAAU,2BAA2B,YAAY;AAAA,IAAA;AAElD,UAAMA,gBAAc,SAClB,MAAM,kBAAkB,EACxB,OAAO,MAAM,EACb,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAAA,CACd,EACA,QAAQ,EAAE;AACZ,WAAO;AAAA,EACR;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/SaveMigrationCommand.ts"],"sourcesContent":["import { InsertBuilder, Literal, QueryBuilder, SelectBuilder } from '@contember/database'\nimport { calculateMigrationChecksum } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { MigrationInput } from '../../migrations/MigrationInput'\n\nexport class SaveMigrationCommand implements Command<number> {\n\tconstructor(private readonly migration: MigrationInput) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<number> {\n\t\tconst { type, ...migrationData } = this.migration\n\n\t\tif ('queries' in migrationData) {\n\t\t\t// in case of content migration, we don't want to store the queries\n\t\t\tmigrationData.queries = []\n\t\t}\n\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: this.migration.version,\n\t\t\tname: this.migration.name,\n\t\t\ttype,\n\t\t\tmigration: JSON.stringify(migrationData),\n\t\t\tchecksum: this.migration.type === 'schema' ? calculateMigrationChecksum(this.migration) : null,\n\t\t}\n\n\t\tconst latestId = (await SelectBuilder.create<{ id: number }>()\n\t\t\t.from('schema_migration')\n\t\t\t.select(new Literal('max(id)'), 'id')\n\t\t\t.getResult(db))[0]?.id ?? 0\n\n\t\tconst newId = latestId + 1\n\t\tconst result = await InsertBuilder.create()\n\t\t\t.into('schema_migration')\n\t\t\t.values({ id: newId, ...values })\n\t\t\t.execute(db)\n\n\t\treturn newId\n\t}\n}\n"],"names":["calculateMigrationChecksum","SelectBuilder","Literal","InsertBuilder"],"mappings":";;;;AAKO,MAAM,qBAAgD;AAAA,EAC5D,YAA6B,WAA2B;AAA3B,SAAA,YAAA;AAAA,EAA4B;AAAA,EAEzD,MAAa,QAAQ,EAAE,MAAqC;AAC3D,UAAM,EAAE,MAAM,GAAG,cAAA,IAAkB,KAAK;AAExC,QAAI,aAAa,eAAe;AAE/B,oBAAc,UAAU,CAAA;AAAA,IACzB;AAEA,UAAM,SAA8B;AAAA,MACnC,SAAS,KAAK,UAAU;AAAA,MACxB,MAAM,KAAK,UAAU;AAAA,MACrB;AAAA,MACA,WAAW,KAAK,UAAU,aAAa;AAAA,MACvC,UAAU,KAAK,UAAU,SAAS,WAAWA,4CAA2B,KAAK,SAAS,IAAI;AAAA,IAAA;AAG3F,UAAM,YAAY,MAAMC,uBAAc,OAAA,EACpC,KAAK,kBAAkB,EACvB,OAAO,IAAIC,SAAAA,QAAQ,SAAS,GAAG,IAAI,EACnC,UAAU,EAAE,GAAG,CAAC,GAAG,MAAM;AAE3B,UAAM,QAAQ,WAAW;AACV,UAAMC,SAAAA,cAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,OAAO,EAAE,IAAI,OAAO,GAAG,QAAQ,EAC/B,QAAQ,EAAE;AAEZ,WAAO;AAAA,EACR;AACD;;"}
|
|
1
|
+
{"version":3,"file":"SaveMigrationCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/SaveMigrationCommand.ts"],"sourcesContent":["import { InsertBuilder, Literal, QueryBuilder, SelectBuilder } from '@contember/database'\nimport { calculateMigrationChecksum } from '@contember/schema-migrations'\nimport { Command } from '../Command.js'\nimport { MigrationInput } from '../../migrations/MigrationInput.js'\n\nexport class SaveMigrationCommand implements Command<number> {\n\tconstructor(private readonly migration: MigrationInput) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<number> {\n\t\tconst { type, ...migrationData } = this.migration\n\n\t\tif ('queries' in migrationData) {\n\t\t\t// in case of content migration, we don't want to store the queries\n\t\t\tmigrationData.queries = []\n\t\t}\n\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: this.migration.version,\n\t\t\tname: this.migration.name,\n\t\t\ttype,\n\t\t\tmigration: JSON.stringify(migrationData),\n\t\t\tchecksum: this.migration.type === 'schema' ? calculateMigrationChecksum(this.migration) : null,\n\t\t}\n\n\t\tconst latestId = (await SelectBuilder.create<{ id: number }>()\n\t\t\t.from('schema_migration')\n\t\t\t.select(new Literal('max(id)'), 'id')\n\t\t\t.getResult(db))[0]?.id ?? 0\n\n\t\tconst newId = latestId + 1\n\t\tconst result = await InsertBuilder.create()\n\t\t\t.into('schema_migration')\n\t\t\t.values({ id: newId, ...values })\n\t\t\t.execute(db)\n\n\t\treturn newId\n\t}\n}\n"],"names":["calculateMigrationChecksum","SelectBuilder","Literal","InsertBuilder"],"mappings":";;;;AAKO,MAAM,qBAAgD;AAAA,EAC5D,YAA6B,WAA2B;AAA3B,SAAA,YAAA;AAAA,EAA4B;AAAA,EAEzD,MAAa,QAAQ,EAAE,MAAqC;AAC3D,UAAM,EAAE,MAAM,GAAG,cAAA,IAAkB,KAAK;AAExC,QAAI,aAAa,eAAe;AAE/B,oBAAc,UAAU,CAAA;AAAA,IACzB;AAEA,UAAM,SAA8B;AAAA,MACnC,SAAS,KAAK,UAAU;AAAA,MACxB,MAAM,KAAK,UAAU;AAAA,MACrB;AAAA,MACA,WAAW,KAAK,UAAU,aAAa;AAAA,MACvC,UAAU,KAAK,UAAU,SAAS,WAAWA,4CAA2B,KAAK,SAAS,IAAI;AAAA,IAAA;AAG3F,UAAM,YAAY,MAAMC,uBAAc,OAAA,EACpC,KAAK,kBAAkB,EACvB,OAAO,IAAIC,SAAAA,QAAQ,SAAS,GAAG,IAAI,EACnC,UAAU,EAAE,GAAG,CAAC,GAAG,MAAM;AAE3B,UAAM,QAAQ,WAAW;AACV,UAAMC,SAAAA,cAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,OAAO,EAAE,IAAI,OAAO,GAAG,QAAQ,EAC/B,QAAQ,EAAE;AAEZ,WAAO;AAAA,EACR;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/SaveMigrationCommand.ts"],"sourcesContent":["import { InsertBuilder, Literal, QueryBuilder, SelectBuilder } from '@contember/database'\nimport { calculateMigrationChecksum } from '@contember/schema-migrations'\nimport { Command } from '../Command'\nimport { MigrationInput } from '../../migrations/MigrationInput'\n\nexport class SaveMigrationCommand implements Command<number> {\n\tconstructor(private readonly migration: MigrationInput) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<number> {\n\t\tconst { type, ...migrationData } = this.migration\n\n\t\tif ('queries' in migrationData) {\n\t\t\t// in case of content migration, we don't want to store the queries\n\t\t\tmigrationData.queries = []\n\t\t}\n\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: this.migration.version,\n\t\t\tname: this.migration.name,\n\t\t\ttype,\n\t\t\tmigration: JSON.stringify(migrationData),\n\t\t\tchecksum: this.migration.type === 'schema' ? calculateMigrationChecksum(this.migration) : null,\n\t\t}\n\n\t\tconst latestId = (await SelectBuilder.create<{ id: number }>()\n\t\t\t.from('schema_migration')\n\t\t\t.select(new Literal('max(id)'), 'id')\n\t\t\t.getResult(db))[0]?.id ?? 0\n\n\t\tconst newId = latestId + 1\n\t\tconst result = await InsertBuilder.create()\n\t\t\t.into('schema_migration')\n\t\t\t.values({ id: newId, ...values })\n\t\t\t.execute(db)\n\n\t\treturn newId\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";;AAKO,MAAM,qBAAgD;AAAA,EAC5D,YAA6B,WAA2B;AAA3B,SAAA,YAAA;AAAA,EAA4B;AAAA,EAEzD,MAAa,QAAQ,EAAE,MAAqC;AAC3D,UAAM,EAAE,MAAM,GAAG,cAAA,IAAkB,KAAK;AAExC,QAAI,aAAa,eAAe;AAE/B,oBAAc,UAAU,CAAA;AAAA,IACzB;AAEA,UAAM,SAA8B;AAAA,MACnC,SAAS,KAAK,UAAU;AAAA,MACxB,MAAM,KAAK,UAAU;AAAA,MACrB;AAAA,MACA,WAAW,KAAK,UAAU,aAAa;AAAA,MACvC,UAAU,KAAK,UAAU,SAAS,WAAW,2BAA2B,KAAK,SAAS,IAAI;AAAA,IAAA;AAG3F,UAAM,YAAY,MAAM,cAAc,OAAA,EACpC,KAAK,kBAAkB,EACvB,OAAO,IAAI,QAAQ,SAAS,GAAG,IAAI,EACnC,UAAU,EAAE,GAAG,CAAC,GAAG,MAAM;AAE3B,UAAM,QAAQ,WAAW;AACV,UAAMA,gBAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,OAAO,EAAE,IAAI,OAAO,GAAG,QAAQ,EAC/B,QAAQ,EAAE;AAEZ,WAAO;AAAA,EACR;AACD;"}
|
|
1
|
+
{"version":3,"file":"SaveMigrationCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/migrations/SaveMigrationCommand.ts"],"sourcesContent":["import { InsertBuilder, Literal, QueryBuilder, SelectBuilder } from '@contember/database'\nimport { calculateMigrationChecksum } from '@contember/schema-migrations'\nimport { Command } from '../Command.js'\nimport { MigrationInput } from '../../migrations/MigrationInput.js'\n\nexport class SaveMigrationCommand implements Command<number> {\n\tconstructor(private readonly migration: MigrationInput) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<number> {\n\t\tconst { type, ...migrationData } = this.migration\n\n\t\tif ('queries' in migrationData) {\n\t\t\t// in case of content migration, we don't want to store the queries\n\t\t\tmigrationData.queries = []\n\t\t}\n\n\t\tconst values: QueryBuilder.Values = {\n\t\t\tversion: this.migration.version,\n\t\t\tname: this.migration.name,\n\t\t\ttype,\n\t\t\tmigration: JSON.stringify(migrationData),\n\t\t\tchecksum: this.migration.type === 'schema' ? calculateMigrationChecksum(this.migration) : null,\n\t\t}\n\n\t\tconst latestId = (await SelectBuilder.create<{ id: number }>()\n\t\t\t.from('schema_migration')\n\t\t\t.select(new Literal('max(id)'), 'id')\n\t\t\t.getResult(db))[0]?.id ?? 0\n\n\t\tconst newId = latestId + 1\n\t\tconst result = await InsertBuilder.create()\n\t\t\t.into('schema_migration')\n\t\t\t.values({ id: newId, ...values })\n\t\t\t.execute(db)\n\n\t\treturn newId\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";;AAKO,MAAM,qBAAgD;AAAA,EAC5D,YAA6B,WAA2B;AAA3B,SAAA,YAAA;AAAA,EAA4B;AAAA,EAEzD,MAAa,QAAQ,EAAE,MAAqC;AAC3D,UAAM,EAAE,MAAM,GAAG,cAAA,IAAkB,KAAK;AAExC,QAAI,aAAa,eAAe;AAE/B,oBAAc,UAAU,CAAA;AAAA,IACzB;AAEA,UAAM,SAA8B;AAAA,MACnC,SAAS,KAAK,UAAU;AAAA,MACxB,MAAM,KAAK,UAAU;AAAA,MACrB;AAAA,MACA,WAAW,KAAK,UAAU,aAAa;AAAA,MACvC,UAAU,KAAK,UAAU,SAAS,WAAW,2BAA2B,KAAK,SAAS,IAAI;AAAA,IAAA;AAG3F,UAAM,YAAY,MAAM,cAAc,OAAA,EACpC,KAAK,kBAAkB,EACvB,OAAO,IAAI,QAAQ,SAAS,GAAG,IAAI,EACnC,UAAU,EAAE,GAAG,CAAC,GAAG,MAAM;AAE3B,UAAM,QAAQ,WAAW;AACV,UAAMA,gBAAc,OAAA,EACjC,KAAK,kBAAkB,EACvB,OAAO,EAAE,IAAI,OAAO,GAAG,QAAQ,EAC/B,QAAQ,EAAE;AAEZ,WAAO;AAAA,EACR;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveSchemaCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/schema/SaveSchemaCommand.ts"],"sourcesContent":["import { ConflictActionType, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command'\nimport { SchemaWithMeta } from '../../migrations'\n\nexport class SaveSchemaCommand implements Command<void> {\n\tconstructor(private readonly input: SchemaWithMeta) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<void> {\n\t\tif (!this.input.meta.updatedAt) {\n\t\t\tthrow new Error('Cannot persist empty schema')\n\t\t}\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('schema')\n\t\t\t.values({\n\t\t\t\tschema: this.input.schema,\n\t\t\t\tupdated_at: this.input.meta.updatedAt.toISOString(),\n\t\t\t\tchecksum: this.input.meta.checksum,\n\t\t\t\tversion: this.input.meta.version,\n\t\t\t\tmigration_id: this.input.meta.id,\n\t\t\t})\n\t\t\t.onConflict(ConflictActionType.update, ['id'], {\n\t\t\t\tschema: expr => expr.select(['excluded', 'schema']),\n\t\t\t\tupdated_at: expr => expr.select(['excluded', 'updated_at']),\n\t\t\t\tchecksum: expr => expr.select(['excluded', 'checksum']),\n\t\t\t\tversion: expr => expr.select(['excluded', 'version']),\n\t\t\t\tmigration_id: expr => expr.select(['excluded', 'migration_id']),\n\t\t\t})\n\t\t\t.execute(db)\n\t}\n}\n"],"names":["InsertBuilder","ConflictActionType"],"mappings":";;;AAIO,MAAM,kBAA2C;AAAA,EACvD,YAA6B,OAAuB;AAAvB,SAAA,QAAA;AAAA,EAAwB;AAAA,EAErD,MAAa,QAAQ,EAAE,MAAmC;AACzD,QAAI,CAAC,KAAK,MAAM,KAAK,WAAW;AAC/B,YAAM,IAAI,MAAM,6BAA6B;AAAA,IAC9C;AAEA,UAAMA,SAAAA,cAAc,OAAA,EAClB,KAAK,QAAQ,EACb,OAAO;AAAA,MACP,QAAQ,KAAK,MAAM;AAAA,MACnB,YAAY,KAAK,MAAM,KAAK,UAAU,YAAA;AAAA,MACtC,UAAU,KAAK,MAAM,KAAK;AAAA,MAC1B,SAAS,KAAK,MAAM,KAAK;AAAA,MACzB,cAAc,KAAK,MAAM,KAAK;AAAA,IAAA,CAC9B,EACA,WAAWC,SAAAA,mBAAmB,QAAQ,CAAC,IAAI,GAAG;AAAA,MAC9C,QAAQ,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,QAAQ,CAAC;AAAA,MAClD,YAAY,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,YAAY,CAAC;AAAA,MAC1D,UAAU,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,UAAU,CAAC;AAAA,MACtD,SAAS,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,SAAS,CAAC;AAAA,MACpD,cAAc,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,cAAc,CAAC;AAAA,IAAA,CAC9D,EACA,QAAQ,EAAE;AAAA,EACb;AACD;;"}
|
|
1
|
+
{"version":3,"file":"SaveSchemaCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/schema/SaveSchemaCommand.ts"],"sourcesContent":["import { ConflictActionType, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command.js'\nimport { SchemaWithMeta } from '../../migrations/index.js'\n\nexport class SaveSchemaCommand implements Command<void> {\n\tconstructor(private readonly input: SchemaWithMeta) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<void> {\n\t\tif (!this.input.meta.updatedAt) {\n\t\t\tthrow new Error('Cannot persist empty schema')\n\t\t}\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('schema')\n\t\t\t.values({\n\t\t\t\tschema: this.input.schema,\n\t\t\t\tupdated_at: this.input.meta.updatedAt.toISOString(),\n\t\t\t\tchecksum: this.input.meta.checksum,\n\t\t\t\tversion: this.input.meta.version,\n\t\t\t\tmigration_id: this.input.meta.id,\n\t\t\t})\n\t\t\t.onConflict(ConflictActionType.update, ['id'], {\n\t\t\t\tschema: expr => expr.select(['excluded', 'schema']),\n\t\t\t\tupdated_at: expr => expr.select(['excluded', 'updated_at']),\n\t\t\t\tchecksum: expr => expr.select(['excluded', 'checksum']),\n\t\t\t\tversion: expr => expr.select(['excluded', 'version']),\n\t\t\t\tmigration_id: expr => expr.select(['excluded', 'migration_id']),\n\t\t\t})\n\t\t\t.execute(db)\n\t}\n}\n"],"names":["InsertBuilder","ConflictActionType"],"mappings":";;;AAIO,MAAM,kBAA2C;AAAA,EACvD,YAA6B,OAAuB;AAAvB,SAAA,QAAA;AAAA,EAAwB;AAAA,EAErD,MAAa,QAAQ,EAAE,MAAmC;AACzD,QAAI,CAAC,KAAK,MAAM,KAAK,WAAW;AAC/B,YAAM,IAAI,MAAM,6BAA6B;AAAA,IAC9C;AAEA,UAAMA,SAAAA,cAAc,OAAA,EAClB,KAAK,QAAQ,EACb,OAAO;AAAA,MACP,QAAQ,KAAK,MAAM;AAAA,MACnB,YAAY,KAAK,MAAM,KAAK,UAAU,YAAA;AAAA,MACtC,UAAU,KAAK,MAAM,KAAK;AAAA,MAC1B,SAAS,KAAK,MAAM,KAAK;AAAA,MACzB,cAAc,KAAK,MAAM,KAAK;AAAA,IAAA,CAC9B,EACA,WAAWC,SAAAA,mBAAmB,QAAQ,CAAC,IAAI,GAAG;AAAA,MAC9C,QAAQ,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,QAAQ,CAAC;AAAA,MAClD,YAAY,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,YAAY,CAAC;AAAA,MAC1D,UAAU,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,UAAU,CAAC;AAAA,MACtD,SAAS,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,SAAS,CAAC;AAAA,MACpD,cAAc,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,cAAc,CAAC;AAAA,IAAA,CAC9D,EACA,QAAQ,EAAE;AAAA,EACb;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveSchemaCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/schema/SaveSchemaCommand.ts"],"sourcesContent":["import { ConflictActionType, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command'\nimport { SchemaWithMeta } from '../../migrations'\n\nexport class SaveSchemaCommand implements Command<void> {\n\tconstructor(private readonly input: SchemaWithMeta) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<void> {\n\t\tif (!this.input.meta.updatedAt) {\n\t\t\tthrow new Error('Cannot persist empty schema')\n\t\t}\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('schema')\n\t\t\t.values({\n\t\t\t\tschema: this.input.schema,\n\t\t\t\tupdated_at: this.input.meta.updatedAt.toISOString(),\n\t\t\t\tchecksum: this.input.meta.checksum,\n\t\t\t\tversion: this.input.meta.version,\n\t\t\t\tmigration_id: this.input.meta.id,\n\t\t\t})\n\t\t\t.onConflict(ConflictActionType.update, ['id'], {\n\t\t\t\tschema: expr => expr.select(['excluded', 'schema']),\n\t\t\t\tupdated_at: expr => expr.select(['excluded', 'updated_at']),\n\t\t\t\tchecksum: expr => expr.select(['excluded', 'checksum']),\n\t\t\t\tversion: expr => expr.select(['excluded', 'version']),\n\t\t\t\tmigration_id: expr => expr.select(['excluded', 'migration_id']),\n\t\t\t})\n\t\t\t.execute(db)\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";AAIO,MAAM,kBAA2C;AAAA,EACvD,YAA6B,OAAuB;AAAvB,SAAA,QAAA;AAAA,EAAwB;AAAA,EAErD,MAAa,QAAQ,EAAE,MAAmC;AACzD,QAAI,CAAC,KAAK,MAAM,KAAK,WAAW;AAC/B,YAAM,IAAI,MAAM,6BAA6B;AAAA,IAC9C;AAEA,UAAMA,gBAAc,OAAA,EAClB,KAAK,QAAQ,EACb,OAAO;AAAA,MACP,QAAQ,KAAK,MAAM;AAAA,MACnB,YAAY,KAAK,MAAM,KAAK,UAAU,YAAA;AAAA,MACtC,UAAU,KAAK,MAAM,KAAK;AAAA,MAC1B,SAAS,KAAK,MAAM,KAAK;AAAA,MACzB,cAAc,KAAK,MAAM,KAAK;AAAA,IAAA,CAC9B,EACA,WAAW,mBAAmB,QAAQ,CAAC,IAAI,GAAG;AAAA,MAC9C,QAAQ,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,QAAQ,CAAC;AAAA,MAClD,YAAY,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,YAAY,CAAC;AAAA,MAC1D,UAAU,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,UAAU,CAAC;AAAA,MACtD,SAAS,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,SAAS,CAAC;AAAA,MACpD,cAAc,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,cAAc,CAAC;AAAA,IAAA,CAC9D,EACA,QAAQ,EAAE;AAAA,EACb;AACD;"}
|
|
1
|
+
{"version":3,"file":"SaveSchemaCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/schema/SaveSchemaCommand.ts"],"sourcesContent":["import { ConflictActionType, InsertBuilder } from '@contember/database'\nimport { Command } from '../Command.js'\nimport { SchemaWithMeta } from '../../migrations/index.js'\n\nexport class SaveSchemaCommand implements Command<void> {\n\tconstructor(private readonly input: SchemaWithMeta) {}\n\n\tpublic async execute({ db }: Command.Args): Promise<void> {\n\t\tif (!this.input.meta.updatedAt) {\n\t\t\tthrow new Error('Cannot persist empty schema')\n\t\t}\n\n\t\tawait InsertBuilder.create()\n\t\t\t.into('schema')\n\t\t\t.values({\n\t\t\t\tschema: this.input.schema,\n\t\t\t\tupdated_at: this.input.meta.updatedAt.toISOString(),\n\t\t\t\tchecksum: this.input.meta.checksum,\n\t\t\t\tversion: this.input.meta.version,\n\t\t\t\tmigration_id: this.input.meta.id,\n\t\t\t})\n\t\t\t.onConflict(ConflictActionType.update, ['id'], {\n\t\t\t\tschema: expr => expr.select(['excluded', 'schema']),\n\t\t\t\tupdated_at: expr => expr.select(['excluded', 'updated_at']),\n\t\t\t\tchecksum: expr => expr.select(['excluded', 'checksum']),\n\t\t\t\tversion: expr => expr.select(['excluded', 'version']),\n\t\t\t\tmigration_id: expr => expr.select(['excluded', 'migration_id']),\n\t\t\t})\n\t\t\t.execute(db)\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";AAIO,MAAM,kBAA2C;AAAA,EACvD,YAA6B,OAAuB;AAAvB,SAAA,QAAA;AAAA,EAAwB;AAAA,EAErD,MAAa,QAAQ,EAAE,MAAmC;AACzD,QAAI,CAAC,KAAK,MAAM,KAAK,WAAW;AAC/B,YAAM,IAAI,MAAM,6BAA6B;AAAA,IAC9C;AAEA,UAAMA,gBAAc,OAAA,EAClB,KAAK,QAAQ,EACb,OAAO;AAAA,MACP,QAAQ,KAAK,MAAM;AAAA,MACnB,YAAY,KAAK,MAAM,KAAK,UAAU,YAAA;AAAA,MACtC,UAAU,KAAK,MAAM,KAAK;AAAA,MAC1B,SAAS,KAAK,MAAM,KAAK;AAAA,MACzB,cAAc,KAAK,MAAM,KAAK;AAAA,IAAA,CAC9B,EACA,WAAW,mBAAmB,QAAQ,CAAC,IAAI,GAAG;AAAA,MAC9C,QAAQ,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,QAAQ,CAAC;AAAA,MAClD,YAAY,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,YAAY,CAAC;AAAA,MAC1D,UAAU,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,UAAU,CAAC;AAAA,MACtD,SAAS,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,SAAS,CAAC;AAAA,MACpD,cAAc,CAAA,SAAQ,KAAK,OAAO,CAAC,YAAY,cAAc,CAAC;AAAA,IAAA,CAC9D,EACA,QAAQ,EAAE;AAAA,EACb;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateStageCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/stages/CreateStageCommand.ts"],"sourcesContent":["import { InsertBuilder, wrapIdentifier } from '@contember/database'\nimport { StageConfig } from '../../../types'\nimport { Command } from '../Command'\nimport { formatSchemaName } from '../../helpers'\n\nexport class CreateStageCommand implements Command<void> {\n\tconstructor(private readonly stage: StageConfig) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tconst schemaName = this.stage.schema ?? formatSchemaName(this.stage)\n\t\tawait InsertBuilder.create()\n\t\t\t.into('stage')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\tname: this.stage.name,\n\t\t\t\tslug: this.stage.slug,\n\t\t\t\tschema: schemaName,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tawait db.query('CREATE SCHEMA IF NOT EXISTS ' + wrapIdentifier(schemaName))\n\t}\n}\n"],"names":["formatSchemaName","InsertBuilder","wrapIdentifier"],"mappings":";;;;;AAKO,MAAM,mBAA4C;AAAA,EACxD,YAA6B,OAAoB;AAApB,SAAA,QAAA;AAAA,EAAqB;AAAA,EAElD,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAM,aAAa,KAAK,MAAM,UAAUA,aAAAA,iBAAiB,KAAK,KAAK;AACnE,UAAMC,SAAAA,cAAc,OAAA,EAClB,KAAK,OAAO,EACZ,OAAO;AAAA,MACP,IAAI,UAAU,KAAA;AAAA,MACd,MAAM,KAAK,MAAM;AAAA,MACjB,MAAM,KAAK,MAAM;AAAA,MACjB,QAAQ;AAAA,IAAA,CACR,EACA,QAAQ,EAAE;AAEZ,UAAM,GAAG,MAAM,iCAAiCC,SAAAA,eAAe,UAAU,CAAC;AAAA,EAC3E;AACD;;"}
|
|
1
|
+
{"version":3,"file":"CreateStageCommand.cjs","sources":["../../../../../../../packages/engine-system-api/src/model/commands/stages/CreateStageCommand.ts"],"sourcesContent":["import { InsertBuilder, wrapIdentifier } from '@contember/database'\nimport { StageConfig } from '../../../types.js'\nimport { Command } from '../Command.js'\nimport { formatSchemaName } from '../../helpers/index.js'\n\nexport class CreateStageCommand implements Command<void> {\n\tconstructor(private readonly stage: StageConfig) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tconst schemaName = this.stage.schema ?? formatSchemaName(this.stage)\n\t\tawait InsertBuilder.create()\n\t\t\t.into('stage')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\tname: this.stage.name,\n\t\t\t\tslug: this.stage.slug,\n\t\t\t\tschema: schemaName,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tawait db.query('CREATE SCHEMA IF NOT EXISTS ' + wrapIdentifier(schemaName))\n\t}\n}\n"],"names":["formatSchemaName","InsertBuilder","wrapIdentifier"],"mappings":";;;;;AAKO,MAAM,mBAA4C;AAAA,EACxD,YAA6B,OAAoB;AAApB,SAAA,QAAA;AAAA,EAAqB;AAAA,EAElD,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAM,aAAa,KAAK,MAAM,UAAUA,aAAAA,iBAAiB,KAAK,KAAK;AACnE,UAAMC,SAAAA,cAAc,OAAA,EAClB,KAAK,OAAO,EACZ,OAAO;AAAA,MACP,IAAI,UAAU,KAAA;AAAA,MACd,MAAM,KAAK,MAAM;AAAA,MACjB,MAAM,KAAK,MAAM;AAAA,MACjB,QAAQ;AAAA,IAAA,CACR,EACA,QAAQ,EAAE;AAEZ,UAAM,GAAG,MAAM,iCAAiCC,SAAAA,eAAe,UAAU,CAAC;AAAA,EAC3E;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateStageCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/stages/CreateStageCommand.ts"],"sourcesContent":["import { InsertBuilder, wrapIdentifier } from '@contember/database'\nimport { StageConfig } from '../../../types'\nimport { Command } from '../Command'\nimport { formatSchemaName } from '../../helpers'\n\nexport class CreateStageCommand implements Command<void> {\n\tconstructor(private readonly stage: StageConfig) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tconst schemaName = this.stage.schema ?? formatSchemaName(this.stage)\n\t\tawait InsertBuilder.create()\n\t\t\t.into('stage')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\tname: this.stage.name,\n\t\t\t\tslug: this.stage.slug,\n\t\t\t\tschema: schemaName,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tawait db.query('CREATE SCHEMA IF NOT EXISTS ' + wrapIdentifier(schemaName))\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";;;AAKO,MAAM,mBAA4C;AAAA,EACxD,YAA6B,OAAoB;AAApB,SAAA,QAAA;AAAA,EAAqB;AAAA,EAElD,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAM,aAAa,KAAK,MAAM,UAAU,iBAAiB,KAAK,KAAK;AACnE,UAAMA,gBAAc,OAAA,EAClB,KAAK,OAAO,EACZ,OAAO;AAAA,MACP,IAAI,UAAU,KAAA;AAAA,MACd,MAAM,KAAK,MAAM;AAAA,MACjB,MAAM,KAAK,MAAM;AAAA,MACjB,QAAQ;AAAA,IAAA,CACR,EACA,QAAQ,EAAE;AAEZ,UAAM,GAAG,MAAM,iCAAiC,eAAe,UAAU,CAAC;AAAA,EAC3E;AACD;"}
|
|
1
|
+
{"version":3,"file":"CreateStageCommand.js","sources":["../../../../../../../packages/engine-system-api/src/model/commands/stages/CreateStageCommand.ts"],"sourcesContent":["import { InsertBuilder, wrapIdentifier } from '@contember/database'\nimport { StageConfig } from '../../../types.js'\nimport { Command } from '../Command.js'\nimport { formatSchemaName } from '../../helpers/index.js'\n\nexport class CreateStageCommand implements Command<void> {\n\tconstructor(private readonly stage: StageConfig) {}\n\n\tpublic async execute({ db, providers }: Command.Args): Promise<void> {\n\t\tconst schemaName = this.stage.schema ?? formatSchemaName(this.stage)\n\t\tawait InsertBuilder.create()\n\t\t\t.into('stage')\n\t\t\t.values({\n\t\t\t\tid: providers.uuid(),\n\t\t\t\tname: this.stage.name,\n\t\t\t\tslug: this.stage.slug,\n\t\t\t\tschema: schemaName,\n\t\t\t})\n\t\t\t.execute(db)\n\n\t\tawait db.query('CREATE SCHEMA IF NOT EXISTS ' + wrapIdentifier(schemaName))\n\t}\n}\n"],"names":["InsertBuilder"],"mappings":";;;AAKO,MAAM,mBAA4C;AAAA,EACxD,YAA6B,OAAoB;AAApB,SAAA,QAAA;AAAA,EAAqB;AAAA,EAElD,MAAa,QAAQ,EAAE,IAAI,aAA0C;AACpE,UAAM,aAAa,KAAK,MAAM,UAAU,iBAAiB,KAAK,KAAK;AACnE,UAAMA,gBAAc,OAAA,EAClB,KAAK,OAAO,EACZ,OAAO;AAAA,MACP,IAAI,UAAU,KAAA;AAAA,MACd,MAAM,KAAK,MAAM;AAAA,MACjB,MAAM,KAAK,MAAM;AAAA,MACjB,QAAQ;AAAA,IAAA,CACR,EACA,QAAQ,EAAE;AAEZ,UAAM,GAAG,MAAM,iCAAiC,eAAe,UAAU,CAAC;AAAA,EAC3E;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseContext.cjs","sources":["../../../../../../packages/engine-system-api/src/model/database/DatabaseContext.ts"],"sourcesContent":["import { Client, Connection, DatabaseQueryable } from '@contember/database'\nimport { QueryHandler } from '@contember/queryable'\nimport { UuidProvider } from '../../utils'\nimport { CommandBus } from '../commands'\n\nexport interface DatabaseContext<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tclient: Client<ConnectionType>\n\tqueryHandler: QueryHandler<DatabaseQueryable>\n\ttransaction: <T>(cb: (db: DatabaseContext<Connection.TransactionLike>) => Promise<T> | T) => Promise<T>\n\tscope: <T>(cb: (db: DatabaseContext<ConnectionType & Connection.AcquiredConnectionLike>) => Promise<T> | T) => Promise<T>\n\tlocked: <T>(lock: number, cb: (db: DatabaseContext<Connection.ConnectionLike>) => Promise<T> | T) => Promise<T>\n\tcommandBus: CommandBus\n}\n\nexport class DatabaseContextFactory {\n\tconstructor(\n\t\tpublic readonly schemaName: string,\n\t\tprivate readonly providers: UuidProvider,\n\t) {}\n\n\tpublic create(connection: Connection.ConnectionLike): DatabaseContext {\n\t\tconst client = new Client(connection, this.schemaName, { module: 'system' })\n\t\treturn createDatabaseContext(client, this.providers)\n\t}\n}\n\nconst createDatabaseContext = <ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike>(\n\tclient: Client<ConnectionType>,\n\tproviders: UuidProvider,\n): DatabaseContext<ConnectionType> => ({\n\tclient,\n\tqueryHandler: client.createQueryHandler(),\n\ttransaction: cb =>\n\t\tclient.transaction(async client => {\n\t\t\tawait client.query(Connection.REPEATABLE_READ)\n\t\t\treturn cb(createDatabaseContext(client, providers))\n\t\t}),\n\tscope: cb => client.scope(client => cb(createDatabaseContext(client, providers))),\n\tcommandBus: new CommandBus(client, providers),\n\tlocked: (lock, cb) => client.locked(lock, client => cb(createDatabaseContext(client, providers))),\n})\n"],"names":["Client","client","Connection","CommandBus"],"mappings":";;;;;;AAcO,MAAM,uBAAuB;AAAA,EACnC,YACiB,YACC,WAChB;AAFe,SAAA,aAAA;AACC,SAAA,YAAA;AAAA,EACf;AAAA,EAEI,OAAO,YAAwD;AACrE,UAAM,SAAS,IAAIA,SAAAA,OAAO,YAAY,KAAK,YAAY,EAAE,QAAQ,UAAU;AAC3E,WAAO,sBAAsB,QAAQ,KAAK,SAAS;AAAA,EACpD;AACD;AAEA,MAAM,wBAAwB,CAC7B,QACA,eACsC;AAAA,EACtC;AAAA,EACA,cAAc,OAAO,mBAAA;AAAA,EACrB,aAAa,CAAA,OACZ,OAAO,YAAY,OAAMC,YAAU;AAClC,UAAMA,QAAO,MAAMC,SAAAA,WAAW,eAAe;AAC7C,WAAO,GAAG,sBAAsBD,SAAQ,SAAS,CAAC;AAAA,EACnD,CAAC;AAAA,EACF,OAAO,CAAA,OAAM,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AAAA,EAChF,YAAY,IAAIE,WAAAA,WAAW,QAAQ,SAAS;AAAA,EAC5C,QAAQ,CAAC,MAAM,OAAO,OAAO,OAAO,MAAM,CAAAF,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AACjG;;"}
|
|
1
|
+
{"version":3,"file":"DatabaseContext.cjs","sources":["../../../../../../packages/engine-system-api/src/model/database/DatabaseContext.ts"],"sourcesContent":["import { Client, Connection, DatabaseQueryable } from '@contember/database'\nimport { QueryHandler } from '@contember/queryable'\nimport { UuidProvider } from '../../utils/index.js'\nimport { CommandBus } from '../commands/index.js'\n\nexport interface DatabaseContext<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tclient: Client<ConnectionType>\n\tqueryHandler: QueryHandler<DatabaseQueryable>\n\ttransaction: <T>(cb: (db: DatabaseContext<Connection.TransactionLike>) => Promise<T> | T) => Promise<T>\n\tscope: <T>(cb: (db: DatabaseContext<ConnectionType & Connection.AcquiredConnectionLike>) => Promise<T> | T) => Promise<T>\n\tlocked: <T>(lock: number, cb: (db: DatabaseContext<Connection.ConnectionLike>) => Promise<T> | T) => Promise<T>\n\tcommandBus: CommandBus\n}\n\nexport class DatabaseContextFactory {\n\tconstructor(\n\t\tpublic readonly schemaName: string,\n\t\tprivate readonly providers: UuidProvider,\n\t) {}\n\n\tpublic create(connection: Connection.ConnectionLike): DatabaseContext {\n\t\tconst client = new Client(connection, this.schemaName, { module: 'system' })\n\t\treturn createDatabaseContext(client, this.providers)\n\t}\n}\n\nconst createDatabaseContext = <ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike>(\n\tclient: Client<ConnectionType>,\n\tproviders: UuidProvider,\n): DatabaseContext<ConnectionType> => ({\n\tclient,\n\tqueryHandler: client.createQueryHandler(),\n\ttransaction: cb =>\n\t\tclient.transaction(async client => {\n\t\t\tawait client.query(Connection.REPEATABLE_READ)\n\t\t\treturn cb(createDatabaseContext(client, providers))\n\t\t}),\n\tscope: cb => client.scope(client => cb(createDatabaseContext(client, providers))),\n\tcommandBus: new CommandBus(client, providers),\n\tlocked: (lock, cb) => client.locked(lock, client => cb(createDatabaseContext(client, providers))),\n})\n"],"names":["Client","client","Connection","CommandBus"],"mappings":";;;;;;AAcO,MAAM,uBAAuB;AAAA,EACnC,YACiB,YACC,WAChB;AAFe,SAAA,aAAA;AACC,SAAA,YAAA;AAAA,EACf;AAAA,EAEI,OAAO,YAAwD;AACrE,UAAM,SAAS,IAAIA,SAAAA,OAAO,YAAY,KAAK,YAAY,EAAE,QAAQ,UAAU;AAC3E,WAAO,sBAAsB,QAAQ,KAAK,SAAS;AAAA,EACpD;AACD;AAEA,MAAM,wBAAwB,CAC7B,QACA,eACsC;AAAA,EACtC;AAAA,EACA,cAAc,OAAO,mBAAA;AAAA,EACrB,aAAa,CAAA,OACZ,OAAO,YAAY,OAAMC,YAAU;AAClC,UAAMA,QAAO,MAAMC,SAAAA,WAAW,eAAe;AAC7C,WAAO,GAAG,sBAAsBD,SAAQ,SAAS,CAAC;AAAA,EACnD,CAAC;AAAA,EACF,OAAO,CAAA,OAAM,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AAAA,EAChF,YAAY,IAAIE,WAAAA,WAAW,QAAQ,SAAS;AAAA,EAC5C,QAAQ,CAAC,MAAM,OAAO,OAAO,OAAO,MAAM,CAAAF,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AACjG;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseContext.js","sources":["../../../../../../packages/engine-system-api/src/model/database/DatabaseContext.ts"],"sourcesContent":["import { Client, Connection, DatabaseQueryable } from '@contember/database'\nimport { QueryHandler } from '@contember/queryable'\nimport { UuidProvider } from '../../utils'\nimport { CommandBus } from '../commands'\n\nexport interface DatabaseContext<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tclient: Client<ConnectionType>\n\tqueryHandler: QueryHandler<DatabaseQueryable>\n\ttransaction: <T>(cb: (db: DatabaseContext<Connection.TransactionLike>) => Promise<T> | T) => Promise<T>\n\tscope: <T>(cb: (db: DatabaseContext<ConnectionType & Connection.AcquiredConnectionLike>) => Promise<T> | T) => Promise<T>\n\tlocked: <T>(lock: number, cb: (db: DatabaseContext<Connection.ConnectionLike>) => Promise<T> | T) => Promise<T>\n\tcommandBus: CommandBus\n}\n\nexport class DatabaseContextFactory {\n\tconstructor(\n\t\tpublic readonly schemaName: string,\n\t\tprivate readonly providers: UuidProvider,\n\t) {}\n\n\tpublic create(connection: Connection.ConnectionLike): DatabaseContext {\n\t\tconst client = new Client(connection, this.schemaName, { module: 'system' })\n\t\treturn createDatabaseContext(client, this.providers)\n\t}\n}\n\nconst createDatabaseContext = <ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike>(\n\tclient: Client<ConnectionType>,\n\tproviders: UuidProvider,\n): DatabaseContext<ConnectionType> => ({\n\tclient,\n\tqueryHandler: client.createQueryHandler(),\n\ttransaction: cb =>\n\t\tclient.transaction(async client => {\n\t\t\tawait client.query(Connection.REPEATABLE_READ)\n\t\t\treturn cb(createDatabaseContext(client, providers))\n\t\t}),\n\tscope: cb => client.scope(client => cb(createDatabaseContext(client, providers))),\n\tcommandBus: new CommandBus(client, providers),\n\tlocked: (lock, cb) => client.locked(lock, client => cb(createDatabaseContext(client, providers))),\n})\n"],"names":["client"],"mappings":";;;;AAcO,MAAM,uBAAuB;AAAA,EACnC,YACiB,YACC,WAChB;AAFe,SAAA,aAAA;AACC,SAAA,YAAA;AAAA,EACf;AAAA,EAEI,OAAO,YAAwD;AACrE,UAAM,SAAS,IAAI,OAAO,YAAY,KAAK,YAAY,EAAE,QAAQ,UAAU;AAC3E,WAAO,sBAAsB,QAAQ,KAAK,SAAS;AAAA,EACpD;AACD;AAEA,MAAM,wBAAwB,CAC7B,QACA,eACsC;AAAA,EACtC;AAAA,EACA,cAAc,OAAO,mBAAA;AAAA,EACrB,aAAa,CAAA,OACZ,OAAO,YAAY,OAAMA,YAAU;AAClC,UAAMA,QAAO,MAAM,WAAW,eAAe;AAC7C,WAAO,GAAG,sBAAsBA,SAAQ,SAAS,CAAC;AAAA,EACnD,CAAC;AAAA,EACF,OAAO,CAAA,OAAM,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AAAA,EAChF,YAAY,IAAI,WAAW,QAAQ,SAAS;AAAA,EAC5C,QAAQ,CAAC,MAAM,OAAO,OAAO,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AACjG;"}
|
|
1
|
+
{"version":3,"file":"DatabaseContext.js","sources":["../../../../../../packages/engine-system-api/src/model/database/DatabaseContext.ts"],"sourcesContent":["import { Client, Connection, DatabaseQueryable } from '@contember/database'\nimport { QueryHandler } from '@contember/queryable'\nimport { UuidProvider } from '../../utils/index.js'\nimport { CommandBus } from '../commands/index.js'\n\nexport interface DatabaseContext<ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike> {\n\tclient: Client<ConnectionType>\n\tqueryHandler: QueryHandler<DatabaseQueryable>\n\ttransaction: <T>(cb: (db: DatabaseContext<Connection.TransactionLike>) => Promise<T> | T) => Promise<T>\n\tscope: <T>(cb: (db: DatabaseContext<ConnectionType & Connection.AcquiredConnectionLike>) => Promise<T> | T) => Promise<T>\n\tlocked: <T>(lock: number, cb: (db: DatabaseContext<Connection.ConnectionLike>) => Promise<T> | T) => Promise<T>\n\tcommandBus: CommandBus\n}\n\nexport class DatabaseContextFactory {\n\tconstructor(\n\t\tpublic readonly schemaName: string,\n\t\tprivate readonly providers: UuidProvider,\n\t) {}\n\n\tpublic create(connection: Connection.ConnectionLike): DatabaseContext {\n\t\tconst client = new Client(connection, this.schemaName, { module: 'system' })\n\t\treturn createDatabaseContext(client, this.providers)\n\t}\n}\n\nconst createDatabaseContext = <ConnectionType extends Connection.ConnectionLike = Connection.ConnectionLike>(\n\tclient: Client<ConnectionType>,\n\tproviders: UuidProvider,\n): DatabaseContext<ConnectionType> => ({\n\tclient,\n\tqueryHandler: client.createQueryHandler(),\n\ttransaction: cb =>\n\t\tclient.transaction(async client => {\n\t\t\tawait client.query(Connection.REPEATABLE_READ)\n\t\t\treturn cb(createDatabaseContext(client, providers))\n\t\t}),\n\tscope: cb => client.scope(client => cb(createDatabaseContext(client, providers))),\n\tcommandBus: new CommandBus(client, providers),\n\tlocked: (lock, cb) => client.locked(lock, client => cb(createDatabaseContext(client, providers))),\n})\n"],"names":["client"],"mappings":";;;;AAcO,MAAM,uBAAuB;AAAA,EACnC,YACiB,YACC,WAChB;AAFe,SAAA,aAAA;AACC,SAAA,YAAA;AAAA,EACf;AAAA,EAEI,OAAO,YAAwD;AACrE,UAAM,SAAS,IAAI,OAAO,YAAY,KAAK,YAAY,EAAE,QAAQ,UAAU;AAC3E,WAAO,sBAAsB,QAAQ,KAAK,SAAS;AAAA,EACpD;AACD;AAEA,MAAM,wBAAwB,CAC7B,QACA,eACsC;AAAA,EACtC;AAAA,EACA,cAAc,OAAO,mBAAA;AAAA,EACrB,aAAa,CAAA,OACZ,OAAO,YAAY,OAAMA,YAAU;AAClC,UAAMA,QAAO,MAAM,WAAW,eAAe;AAC7C,WAAO,GAAG,sBAAsBA,SAAQ,SAAS,CAAC;AAAA,EACnD,CAAC;AAAA,EACF,OAAO,CAAA,OAAM,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AAAA,EAChF,YAAY,IAAI,WAAW,QAAQ,SAAS;AAAA,EAC5C,QAAQ,CAAC,MAAM,OAAO,OAAO,OAAO,MAAM,CAAAA,YAAU,GAAG,sBAAsBA,SAAQ,SAAS,CAAC,CAAC;AACjG;"}
|
|
@@ -15,7 +15,8 @@ class EventResponseBuilder {
|
|
|
15
15
|
const apiEventTypeMapping = {
|
|
16
16
|
[types.EventType.create]: types$1.EventType.Create,
|
|
17
17
|
[types.EventType.update]: types$1.EventType.Update,
|
|
18
|
-
[types.EventType.delete]: types$1.EventType.Delete
|
|
18
|
+
[types.EventType.delete]: types$1.EventType.Delete,
|
|
19
|
+
[types.EventType.truncate]: types$1.EventType.Truncate
|
|
19
20
|
};
|
|
20
21
|
const identityIds = events.map((it) => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index);
|
|
21
22
|
const identities = await this.identityFetcher.fetchIdentities(identityIds);
|
|
@@ -38,6 +39,8 @@ class EventResponseBuilder {
|
|
|
38
39
|
return (() => EventResponseHelper.appendUpdateSpecificData(commonData, it))();
|
|
39
40
|
case types.EventType.delete:
|
|
40
41
|
return (() => EventResponseHelper.appendDeleteSpecificData(commonData, it))();
|
|
42
|
+
case types.EventType.truncate:
|
|
43
|
+
return (() => ({ ...commonData, tableName: null, primaryKey: null }))();
|
|
41
44
|
}
|
|
42
45
|
assertNever.assertNever();
|
|
43
46
|
});
|
|
@@ -50,6 +53,8 @@ class EventResponseBuilder {
|
|
|
50
53
|
return `Updating ${event.tableName}#${event.rowId.join(";")}`;
|
|
51
54
|
case types.EventType.delete:
|
|
52
55
|
return `Deleting ${event.tableName}#${event.rowId.join(";")}`;
|
|
56
|
+
case types.EventType.truncate:
|
|
57
|
+
return "Truncating content";
|
|
53
58
|
default:
|
|
54
59
|
return assertNever.assertNever();
|
|
55
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventResponseBuilder.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseBuilder.ts"],"sourcesContent":["import { ContentEvent, EventType } from './types'\nimport { CreateEvent, DeleteEvent, EventType as ApiEventType, UpdateEvent } from '../../schema'\nimport { assertNever } from '../../utils'\nimport { IdentityFetcher } from '../dependencies'\nimport { formatIdentity } from './identityUtils'\nimport { appendCreateSpecificData, appendDeleteSpecificData, appendUpdateSpecificData } from './EventResponseHelper'\n\nexport class EventResponseBuilder {\n\tconstructor(private readonly identityFetcher: IdentityFetcher) {}\n\n\tpublic async buildResponse(events: ContentEvent[]): Promise<(CreateEvent | DeleteEvent | UpdateEvent)[]> {\n\t\tconst apiEventTypeMapping = {\n\t\t\t[EventType.create]: ApiEventType.Create,\n\t\t\t[EventType.update]: ApiEventType.Update,\n\t\t\t[EventType.delete]: ApiEventType.Delete,\n\t\t}\n\t\tconst identityIds = events.map(it => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index)\n\t\tconst identities = await this.identityFetcher.fetchIdentities(identityIds)\n\t\tconst identitiesMap = Object.fromEntries(identities.map(it => [it.identityId, it]))\n\n\t\treturn events.map(it => {\n\t\t\tconst commonData = {\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tappliedAt: it.appliedAt,\n\t\t\t\tid: it.id,\n\t\t\t\ttype: apiEventTypeMapping[it.type],\n\t\t\t\tdescription: this.formatDescription(it),\n\t\t\t\ttransactionId: it.transactionId,\n\t\t\t\tidentityId: it.identityId,\n\t\t\t\tidentityDescription: formatIdentity(identitiesMap[it.identityId]),\n\t\t\t}\n\t\t\tswitch (it.type) {\n\t\t\t\tcase EventType.create:\n\t\t\t\t\treturn ((): CreateEvent => appendCreateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.update:\n\t\t\t\t\treturn ((): UpdateEvent => appendUpdateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.delete:\n\t\t\t\t\treturn ((): DeleteEvent => appendDeleteSpecificData(commonData, it))()\n\t\t\t}\n\t\t\tassertNever(it)\n\t\t})\n\t}\n\n\tprivate formatDescription(event: ContentEvent): string {\n\t\tswitch (event.type) {\n\t\t\tcase EventType.create:\n\t\t\t\treturn `Creating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.update:\n\t\t\t\treturn `Updating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.delete:\n\t\t\t\treturn `Deleting ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tdefault:\n\t\t\t\treturn assertNever(event)\n\t\t}\n\t}\n}\n"],"names":["EventType","ApiEventType","formatIdentity","appendCreateSpecificData","appendUpdateSpecificData","appendDeleteSpecificData","assertNever"],"mappings":";;;;;;;;;AAOO,MAAM,qBAAqB;AAAA,EACjC,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAa,cAAc,
|
|
1
|
+
{"version":3,"file":"EventResponseBuilder.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseBuilder.ts"],"sourcesContent":["import { ContentEvent, EventType } from './types.js'\nimport { CreateEvent, DeleteEvent, EventType as ApiEventType, TruncateEvent, UpdateEvent } from '../../schema/index.js'\nimport { assertNever } from '../../utils/index.js'\nimport { IdentityFetcher } from '../dependencies/index.js'\nimport { formatIdentity } from './identityUtils.js'\nimport { appendCreateSpecificData, appendDeleteSpecificData, appendUpdateSpecificData } from './EventResponseHelper.js'\n\nexport class EventResponseBuilder {\n\tconstructor(private readonly identityFetcher: IdentityFetcher) {}\n\n\tpublic async buildResponse(events: ContentEvent[]): Promise<(CreateEvent | DeleteEvent | TruncateEvent | UpdateEvent)[]> {\n\t\tconst apiEventTypeMapping = {\n\t\t\t[EventType.create]: ApiEventType.Create,\n\t\t\t[EventType.update]: ApiEventType.Update,\n\t\t\t[EventType.delete]: ApiEventType.Delete,\n\t\t\t[EventType.truncate]: ApiEventType.Truncate,\n\t\t}\n\t\tconst identityIds = events.map(it => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index)\n\t\tconst identities = await this.identityFetcher.fetchIdentities(identityIds)\n\t\tconst identitiesMap = Object.fromEntries(identities.map(it => [it.identityId, it]))\n\n\t\treturn events.map(it => {\n\t\t\tconst commonData = {\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tappliedAt: it.appliedAt,\n\t\t\t\tid: it.id,\n\t\t\t\ttype: apiEventTypeMapping[it.type],\n\t\t\t\tdescription: this.formatDescription(it),\n\t\t\t\ttransactionId: it.transactionId,\n\t\t\t\tidentityId: it.identityId,\n\t\t\t\tidentityDescription: formatIdentity(identitiesMap[it.identityId]),\n\t\t\t}\n\t\t\tswitch (it.type) {\n\t\t\t\tcase EventType.create:\n\t\t\t\t\treturn ((): CreateEvent => appendCreateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.update:\n\t\t\t\t\treturn ((): UpdateEvent => appendUpdateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.delete:\n\t\t\t\t\treturn ((): DeleteEvent => appendDeleteSpecificData(commonData, it))()\n\t\t\t\tcase EventType.truncate:\n\t\t\t\t\treturn ((): TruncateEvent => ({ ...commonData, tableName: null, primaryKey: null }))()\n\t\t\t}\n\t\t\tassertNever(it)\n\t\t})\n\t}\n\n\tprivate formatDescription(event: ContentEvent): string {\n\t\tswitch (event.type) {\n\t\t\tcase EventType.create:\n\t\t\t\treturn `Creating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.update:\n\t\t\t\treturn `Updating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.delete:\n\t\t\t\treturn `Deleting ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.truncate:\n\t\t\t\treturn 'Truncating content'\n\t\t\tdefault:\n\t\t\t\treturn assertNever(event)\n\t\t}\n\t}\n}\n"],"names":["EventType","ApiEventType","formatIdentity","appendCreateSpecificData","appendUpdateSpecificData","appendDeleteSpecificData","assertNever"],"mappings":";;;;;;;;;AAOO,MAAM,qBAAqB;AAAA,EACjC,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAa,cAAc,QAA8F;AACxH,UAAM,sBAAsB;AAAA,MAC3B,CAACA,MAAAA,UAAU,MAAM,GAAGC,QAAAA,UAAa;AAAA,MACjC,CAACD,MAAAA,UAAU,MAAM,GAAGC,QAAAA,UAAa;AAAA,MACjC,CAACD,MAAAA,UAAU,MAAM,GAAGC,QAAAA,UAAa;AAAA,MACjC,CAACD,MAAAA,UAAU,QAAQ,GAAGC,kBAAa;AAAA,IAAA;AAEpC,UAAM,cAAc,OAAO,IAAI,CAAA,OAAM,GAAG,UAAU,EAAE,OAAO,CAAC,IAAI,OAAO,QAAQ,IAAI,QAAQ,EAAE,MAAM,KAAK;AACxG,UAAM,aAAa,MAAM,KAAK,gBAAgB,gBAAgB,WAAW;AACzE,UAAM,gBAAgB,OAAO,YAAY,WAAW,IAAI,CAAA,OAAM,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;AAElF,WAAO,OAAO,IAAI,CAAA,OAAM;AACvB,YAAM,aAAa;AAAA,QAClB,WAAW,GAAG;AAAA,QACd,WAAW,GAAG;AAAA,QACd,IAAI,GAAG;AAAA,QACP,MAAM,oBAAoB,GAAG,IAAI;AAAA,QACjC,aAAa,KAAK,kBAAkB,EAAE;AAAA,QACtC,eAAe,GAAG;AAAA,QAClB,YAAY,GAAG;AAAA,QACf,qBAAqBC,cAAAA,eAAe,cAAc,GAAG,UAAU,CAAC;AAAA,MAAA;AAEjE,cAAQ,GAAG,MAAA;AAAA,QACV,KAAKF,MAAAA,UAAU;AACd,kBAAQ,MAAmBG,oBAAAA,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAKH,MAAAA,UAAU;AACd,kBAAQ,MAAmBI,oBAAAA,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAKJ,MAAAA,UAAU;AACd,kBAAQ,MAAmBK,oBAAAA,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAKL,MAAAA,UAAU;AACd,kBAAQ,OAAsB,EAAE,GAAG,YAAY,WAAW,MAAM,YAAY,SAAK;AAAA,MAAI;AAEvFM,kBAAAA,YAAc;AAAA,IACf,CAAC;AAAA,EACF;AAAA,EAEQ,kBAAkB,OAA6B;AACtD,YAAQ,MAAM,MAAA;AAAA,MACb,KAAKN,MAAAA,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAKA,MAAAA,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAKA,MAAAA,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAKA,MAAAA,UAAU;AACd,eAAO;AAAA,MACR;AACC,eAAOM,YAAAA,YAAiB;AAAA,IAAA;AAAA,EAE3B;AACD;;"}
|
|
@@ -13,7 +13,8 @@ class EventResponseBuilder {
|
|
|
13
13
|
const apiEventTypeMapping = {
|
|
14
14
|
[EventType.create]: EventType$1.Create,
|
|
15
15
|
[EventType.update]: EventType$1.Update,
|
|
16
|
-
[EventType.delete]: EventType$1.Delete
|
|
16
|
+
[EventType.delete]: EventType$1.Delete,
|
|
17
|
+
[EventType.truncate]: EventType$1.Truncate
|
|
17
18
|
};
|
|
18
19
|
const identityIds = events.map((it) => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index);
|
|
19
20
|
const identities = await this.identityFetcher.fetchIdentities(identityIds);
|
|
@@ -36,6 +37,8 @@ class EventResponseBuilder {
|
|
|
36
37
|
return (() => appendUpdateSpecificData(commonData, it))();
|
|
37
38
|
case EventType.delete:
|
|
38
39
|
return (() => appendDeleteSpecificData(commonData, it))();
|
|
40
|
+
case EventType.truncate:
|
|
41
|
+
return (() => ({ ...commonData, tableName: null, primaryKey: null }))();
|
|
39
42
|
}
|
|
40
43
|
assertNever();
|
|
41
44
|
});
|
|
@@ -48,6 +51,8 @@ class EventResponseBuilder {
|
|
|
48
51
|
return `Updating ${event.tableName}#${event.rowId.join(";")}`;
|
|
49
52
|
case EventType.delete:
|
|
50
53
|
return `Deleting ${event.tableName}#${event.rowId.join(";")}`;
|
|
54
|
+
case EventType.truncate:
|
|
55
|
+
return "Truncating content";
|
|
51
56
|
default:
|
|
52
57
|
return assertNever();
|
|
53
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventResponseBuilder.js","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseBuilder.ts"],"sourcesContent":["import { ContentEvent, EventType } from './types'\nimport { CreateEvent, DeleteEvent, EventType as ApiEventType, UpdateEvent } from '../../schema'\nimport { assertNever } from '../../utils'\nimport { IdentityFetcher } from '../dependencies'\nimport { formatIdentity } from './identityUtils'\nimport { appendCreateSpecificData, appendDeleteSpecificData, appendUpdateSpecificData } from './EventResponseHelper'\n\nexport class EventResponseBuilder {\n\tconstructor(private readonly identityFetcher: IdentityFetcher) {}\n\n\tpublic async buildResponse(events: ContentEvent[]): Promise<(CreateEvent | DeleteEvent | UpdateEvent)[]> {\n\t\tconst apiEventTypeMapping = {\n\t\t\t[EventType.create]: ApiEventType.Create,\n\t\t\t[EventType.update]: ApiEventType.Update,\n\t\t\t[EventType.delete]: ApiEventType.Delete,\n\t\t}\n\t\tconst identityIds = events.map(it => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index)\n\t\tconst identities = await this.identityFetcher.fetchIdentities(identityIds)\n\t\tconst identitiesMap = Object.fromEntries(identities.map(it => [it.identityId, it]))\n\n\t\treturn events.map(it => {\n\t\t\tconst commonData = {\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tappliedAt: it.appliedAt,\n\t\t\t\tid: it.id,\n\t\t\t\ttype: apiEventTypeMapping[it.type],\n\t\t\t\tdescription: this.formatDescription(it),\n\t\t\t\ttransactionId: it.transactionId,\n\t\t\t\tidentityId: it.identityId,\n\t\t\t\tidentityDescription: formatIdentity(identitiesMap[it.identityId]),\n\t\t\t}\n\t\t\tswitch (it.type) {\n\t\t\t\tcase EventType.create:\n\t\t\t\t\treturn ((): CreateEvent => appendCreateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.update:\n\t\t\t\t\treturn ((): UpdateEvent => appendUpdateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.delete:\n\t\t\t\t\treturn ((): DeleteEvent => appendDeleteSpecificData(commonData, it))()\n\t\t\t}\n\t\t\tassertNever(it)\n\t\t})\n\t}\n\n\tprivate formatDescription(event: ContentEvent): string {\n\t\tswitch (event.type) {\n\t\t\tcase EventType.create:\n\t\t\t\treturn `Creating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.update:\n\t\t\t\treturn `Updating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.delete:\n\t\t\t\treturn `Deleting ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tdefault:\n\t\t\t\treturn assertNever(event)\n\t\t}\n\t}\n}\n"],"names":["ApiEventType"],"mappings":";;;;;;;AAOO,MAAM,qBAAqB;AAAA,EACjC,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAa,cAAc,
|
|
1
|
+
{"version":3,"file":"EventResponseBuilder.js","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseBuilder.ts"],"sourcesContent":["import { ContentEvent, EventType } from './types.js'\nimport { CreateEvent, DeleteEvent, EventType as ApiEventType, TruncateEvent, UpdateEvent } from '../../schema/index.js'\nimport { assertNever } from '../../utils/index.js'\nimport { IdentityFetcher } from '../dependencies/index.js'\nimport { formatIdentity } from './identityUtils.js'\nimport { appendCreateSpecificData, appendDeleteSpecificData, appendUpdateSpecificData } from './EventResponseHelper.js'\n\nexport class EventResponseBuilder {\n\tconstructor(private readonly identityFetcher: IdentityFetcher) {}\n\n\tpublic async buildResponse(events: ContentEvent[]): Promise<(CreateEvent | DeleteEvent | TruncateEvent | UpdateEvent)[]> {\n\t\tconst apiEventTypeMapping = {\n\t\t\t[EventType.create]: ApiEventType.Create,\n\t\t\t[EventType.update]: ApiEventType.Update,\n\t\t\t[EventType.delete]: ApiEventType.Delete,\n\t\t\t[EventType.truncate]: ApiEventType.Truncate,\n\t\t}\n\t\tconst identityIds = events.map(it => it.identityId).filter((it, index, ids) => ids.indexOf(it) === index)\n\t\tconst identities = await this.identityFetcher.fetchIdentities(identityIds)\n\t\tconst identitiesMap = Object.fromEntries(identities.map(it => [it.identityId, it]))\n\n\t\treturn events.map(it => {\n\t\t\tconst commonData = {\n\t\t\t\tcreatedAt: it.createdAt,\n\t\t\t\tappliedAt: it.appliedAt,\n\t\t\t\tid: it.id,\n\t\t\t\ttype: apiEventTypeMapping[it.type],\n\t\t\t\tdescription: this.formatDescription(it),\n\t\t\t\ttransactionId: it.transactionId,\n\t\t\t\tidentityId: it.identityId,\n\t\t\t\tidentityDescription: formatIdentity(identitiesMap[it.identityId]),\n\t\t\t}\n\t\t\tswitch (it.type) {\n\t\t\t\tcase EventType.create:\n\t\t\t\t\treturn ((): CreateEvent => appendCreateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.update:\n\t\t\t\t\treturn ((): UpdateEvent => appendUpdateSpecificData(commonData, it))()\n\t\t\t\tcase EventType.delete:\n\t\t\t\t\treturn ((): DeleteEvent => appendDeleteSpecificData(commonData, it))()\n\t\t\t\tcase EventType.truncate:\n\t\t\t\t\treturn ((): TruncateEvent => ({ ...commonData, tableName: null, primaryKey: null }))()\n\t\t\t}\n\t\t\tassertNever(it)\n\t\t})\n\t}\n\n\tprivate formatDescription(event: ContentEvent): string {\n\t\tswitch (event.type) {\n\t\t\tcase EventType.create:\n\t\t\t\treturn `Creating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.update:\n\t\t\t\treturn `Updating ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.delete:\n\t\t\t\treturn `Deleting ${event.tableName}#${event.rowId.join(';')}`\n\t\t\tcase EventType.truncate:\n\t\t\t\treturn 'Truncating content'\n\t\t\tdefault:\n\t\t\t\treturn assertNever(event)\n\t\t}\n\t}\n}\n"],"names":["ApiEventType"],"mappings":";;;;;;;AAOO,MAAM,qBAAqB;AAAA,EACjC,YAA6B,iBAAkC;AAAlC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEhE,MAAa,cAAc,QAA8F;AACxH,UAAM,sBAAsB;AAAA,MAC3B,CAAC,UAAU,MAAM,GAAGA,YAAa;AAAA,MACjC,CAAC,UAAU,MAAM,GAAGA,YAAa;AAAA,MACjC,CAAC,UAAU,MAAM,GAAGA,YAAa;AAAA,MACjC,CAAC,UAAU,QAAQ,GAAGA,YAAa;AAAA,IAAA;AAEpC,UAAM,cAAc,OAAO,IAAI,CAAA,OAAM,GAAG,UAAU,EAAE,OAAO,CAAC,IAAI,OAAO,QAAQ,IAAI,QAAQ,EAAE,MAAM,KAAK;AACxG,UAAM,aAAa,MAAM,KAAK,gBAAgB,gBAAgB,WAAW;AACzE,UAAM,gBAAgB,OAAO,YAAY,WAAW,IAAI,CAAA,OAAM,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;AAElF,WAAO,OAAO,IAAI,CAAA,OAAM;AACvB,YAAM,aAAa;AAAA,QAClB,WAAW,GAAG;AAAA,QACd,WAAW,GAAG;AAAA,QACd,IAAI,GAAG;AAAA,QACP,MAAM,oBAAoB,GAAG,IAAI;AAAA,QACjC,aAAa,KAAK,kBAAkB,EAAE;AAAA,QACtC,eAAe,GAAG;AAAA,QAClB,YAAY,GAAG;AAAA,QACf,qBAAqB,eAAe,cAAc,GAAG,UAAU,CAAC;AAAA,MAAA;AAEjE,cAAQ,GAAG,MAAA;AAAA,QACV,KAAK,UAAU;AACd,kBAAQ,MAAmB,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAK,UAAU;AACd,kBAAQ,MAAmB,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAK,UAAU;AACd,kBAAQ,MAAmB,yBAAyB,YAAY,EAAE,GAAA;AAAA,QACnE,KAAK,UAAU;AACd,kBAAQ,OAAsB,EAAE,GAAG,YAAY,WAAW,MAAM,YAAY,SAAK;AAAA,MAAI;AAEvF,kBAAc;AAAA,IACf,CAAC;AAAA,EACF;AAAA,EAEQ,kBAAkB,OAA6B;AACtD,YAAQ,MAAM,MAAA;AAAA,MACb,KAAK,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAK,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAK,UAAU;AACd,eAAO,YAAY,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,GAAG,CAAC;AAAA,MAC5D,KAAK,UAAU;AACd,eAAO;AAAA,MACR;AACC,eAAO,YAAiB;AAAA,IAAA;AAAA,EAE3B;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventResponseHelper.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseHelper.ts"],"sourcesContent":["import { CreateEvent, DeleteEvent, UpdateEvent } from './types'\n\nexport const appendUpdateSpecificData = <T>(commonData: T, event: UpdateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tdiffValues: event.values,\n\toldValues: {},\n})\n\nexport const appendCreateSpecificData = <T>(commonData: T, event: CreateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tnewValues: event.values,\n})\n\nexport const appendDeleteSpecificData = <T>(commonData: T, event: DeleteEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\toldValues: {},\n})\n"],"names":[],"mappings":";;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,MAAM;AAClB;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;;;;"}
|
|
1
|
+
{"version":3,"file":"EventResponseHelper.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseHelper.ts"],"sourcesContent":["import { CreateEvent, DeleteEvent, UpdateEvent } from './types.js'\n\nexport const appendUpdateSpecificData = <T>(commonData: T, event: UpdateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tdiffValues: event.values,\n\toldValues: {},\n})\n\nexport const appendCreateSpecificData = <T>(commonData: T, event: CreateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tnewValues: event.values,\n})\n\nexport const appendDeleteSpecificData = <T>(commonData: T, event: DeleteEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\toldValues: {},\n})\n"],"names":[],"mappings":";;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,MAAM;AAClB;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventResponseHelper.js","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseHelper.ts"],"sourcesContent":["import { CreateEvent, DeleteEvent, UpdateEvent } from './types'\n\nexport const appendUpdateSpecificData = <T>(commonData: T, event: UpdateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tdiffValues: event.values,\n\toldValues: {},\n})\n\nexport const appendCreateSpecificData = <T>(commonData: T, event: CreateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tnewValues: event.values,\n})\n\nexport const appendDeleteSpecificData = <T>(commonData: T, event: DeleteEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\toldValues: {},\n})\n"],"names":[],"mappings":"AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,MAAM;AAClB;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;"}
|
|
1
|
+
{"version":3,"file":"EventResponseHelper.js","sources":["../../../../../../packages/engine-system-api/src/model/events/EventResponseHelper.ts"],"sourcesContent":["import { CreateEvent, DeleteEvent, UpdateEvent } from './types.js'\n\nexport const appendUpdateSpecificData = <T>(commonData: T, event: UpdateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tdiffValues: event.values,\n\toldValues: {},\n})\n\nexport const appendCreateSpecificData = <T>(commonData: T, event: CreateEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\tnewValues: event.values,\n})\n\nexport const appendDeleteSpecificData = <T>(commonData: T, event: DeleteEvent) => ({\n\t...commonData,\n\ttableName: event.tableName,\n\tprimaryKey: event.rowId,\n\toldValues: {},\n})\n"],"names":[],"mappings":"AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,MAAM;AAClB;AAEO,MAAM,2BAA2B,CAAI,YAAe,WAAwB;AAAA,EAClF,GAAG;AAAA,EACH,WAAW,MAAM;AAAA,EACjB,YAAY,MAAM;AAAA,EAClB,WAAW,CAAA;AACZ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identityUtils.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/identityUtils.ts"],"sourcesContent":["import { TenantIdentity } from '../dependencies/tenant/IdentityFetcher'\nimport { assertNever } from '../../utils'\n\nexport const formatIdentity = (identity: TenantIdentity): string => {\n\tif (!identity) {\n\t\treturn '(unknown)'\n\t}\n\tif (identity.type === 'person') {\n\t\treturn identity.person.name\n\t} else if (identity.type === 'apiKey') {\n\t\treturn `API key (${identity.description})`\n\t}\n\tassertNever(identity)\n}\n"],"names":["assertNever"],"mappings":";;;AAGO,MAAM,iBAAiB,CAAC,aAAqC;AACnE,MAAI,CAAC,UAAU;AACd,WAAO;AAAA,EACR;AACA,MAAI,SAAS,SAAS,UAAU;AAC/B,WAAO,SAAS,OAAO;AAAA,EACxB,WAAW,SAAS,SAAS,UAAU;AACtC,WAAO,YAAY,SAAS,WAAW;AAAA,EACxC;AACAA,cAAAA,YAAoB;AACrB;;"}
|
|
1
|
+
{"version":3,"file":"identityUtils.cjs","sources":["../../../../../../packages/engine-system-api/src/model/events/identityUtils.ts"],"sourcesContent":["import { TenantIdentity } from '../dependencies/tenant/IdentityFetcher.js'\nimport { assertNever } from '../../utils/index.js'\n\nexport const formatIdentity = (identity: TenantIdentity): string => {\n\tif (!identity) {\n\t\treturn '(unknown)'\n\t}\n\tif (identity.type === 'person') {\n\t\treturn identity.person.name\n\t} else if (identity.type === 'apiKey') {\n\t\treturn `API key (${identity.description})`\n\t}\n\tassertNever(identity)\n}\n"],"names":["assertNever"],"mappings":";;;AAGO,MAAM,iBAAiB,CAAC,aAAqC;AACnE,MAAI,CAAC,UAAU;AACd,WAAO;AAAA,EACR;AACA,MAAI,SAAS,SAAS,UAAU;AAC/B,WAAO,SAAS,OAAO;AAAA,EACxB,WAAW,SAAS,SAAS,UAAU;AACtC,WAAO,YAAY,SAAS,WAAW;AAAA,EACxC;AACAA,cAAAA,YAAoB;AACrB;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identityUtils.js","sources":["../../../../../../packages/engine-system-api/src/model/events/identityUtils.ts"],"sourcesContent":["import { TenantIdentity } from '../dependencies/tenant/IdentityFetcher'\nimport { assertNever } from '../../utils'\n\nexport const formatIdentity = (identity: TenantIdentity): string => {\n\tif (!identity) {\n\t\treturn '(unknown)'\n\t}\n\tif (identity.type === 'person') {\n\t\treturn identity.person.name\n\t} else if (identity.type === 'apiKey') {\n\t\treturn `API key (${identity.description})`\n\t}\n\tassertNever(identity)\n}\n"],"names":[],"mappings":";AAGO,MAAM,iBAAiB,CAAC,aAAqC;AACnE,MAAI,CAAC,UAAU;AACd,WAAO;AAAA,EACR;AACA,MAAI,SAAS,SAAS,UAAU;AAC/B,WAAO,SAAS,OAAO;AAAA,EACxB,WAAW,SAAS,SAAS,UAAU;AACtC,WAAO,YAAY,SAAS,WAAW;AAAA,EACxC;AACA,cAAoB;AACrB;"}
|
|
1
|
+
{"version":3,"file":"identityUtils.js","sources":["../../../../../../packages/engine-system-api/src/model/events/identityUtils.ts"],"sourcesContent":["import { TenantIdentity } from '../dependencies/tenant/IdentityFetcher.js'\nimport { assertNever } from '../../utils/index.js'\n\nexport const formatIdentity = (identity: TenantIdentity): string => {\n\tif (!identity) {\n\t\treturn '(unknown)'\n\t}\n\tif (identity.type === 'person') {\n\t\treturn identity.person.name\n\t} else if (identity.type === 'apiKey') {\n\t\treturn `API key (${identity.description})`\n\t}\n\tassertNever(identity)\n}\n"],"names":[],"mappings":";AAGO,MAAM,iBAAiB,CAAC,aAAqC;AACnE,MAAI,CAAC,UAAU;AACd,WAAO;AAAA,EACR;AACA,MAAI,SAAS,SAAS,UAAU;AAC/B,WAAO,SAAS,OAAO;AAAA,EACxB,WAAW,SAAS,SAAS,UAAU;AACtC,WAAO,YAAY,SAAS,WAAW;AAAA,EACxC;AACA,cAAoB;AACrB;"}
|
|
@@ -7,6 +7,7 @@ var EventType = /* @__PURE__ */ ((EventType2) => {
|
|
|
7
7
|
EventType2["delete"] = "delete";
|
|
8
8
|
EventType2["update"] = "update";
|
|
9
9
|
EventType2["create"] = "create";
|
|
10
|
+
EventType2["truncate"] = "truncate";
|
|
10
11
|
return EventType2;
|
|
11
12
|
})(EventType || {});
|
|
12
13
|
class UpdateEvent {
|
|
@@ -62,8 +63,24 @@ class DeleteEvent {
|
|
|
62
63
|
);
|
|
63
64
|
}
|
|
64
65
|
}
|
|
66
|
+
class TruncateEvent {
|
|
67
|
+
constructor(id, createdAt, appliedAt, identityId, transactionId) {
|
|
68
|
+
this.id = id;
|
|
69
|
+
this.createdAt = createdAt;
|
|
70
|
+
this.appliedAt = appliedAt;
|
|
71
|
+
this.identityId = identityId;
|
|
72
|
+
this.transactionId = transactionId;
|
|
73
|
+
__publicField(
|
|
74
|
+
this,
|
|
75
|
+
"type",
|
|
76
|
+
"truncate"
|
|
77
|
+
/* truncate */
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
65
81
|
exports.CreateEvent = CreateEvent;
|
|
66
82
|
exports.DeleteEvent = DeleteEvent;
|
|
67
83
|
exports.EventType = EventType;
|
|
84
|
+
exports.TruncateEvent = TruncateEvent;
|
|
68
85
|
exports.UpdateEvent = UpdateEvent;
|
|
69
86
|
//# sourceMappingURL=types.cjs.map
|