@contember/engine-actions 2.1.0-alpha.9 → 2.1.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +47 -0
- package/dist/development/index.cjs +45 -21
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +45 -21
- package/dist/development/index.js.map +1 -1
- package/dist/development/src/ActionsExecutionContainerHookFactory.cjs +23 -11
- package/dist/development/src/ActionsExecutionContainerHookFactory.cjs.map +1 -1
- package/dist/development/src/ActionsExecutionContainerHookFactory.js +23 -11
- package/dist/development/src/ActionsExecutionContainerHookFactory.js.map +1 -1
- package/dist/development/src/ListenerStoreProvider.cjs.map +1 -1
- package/dist/development/src/ListenerStoreProvider.js.map +1 -1
- package/dist/development/src/authorization/ActionsAuthorizationActions.cjs +2 -0
- package/dist/development/src/authorization/ActionsAuthorizationActions.cjs.map +1 -1
- package/dist/development/src/authorization/ActionsAuthorizationActions.js +2 -0
- package/dist/development/src/authorization/ActionsAuthorizationActions.js.map +1 -1
- package/dist/development/src/authorization/ActionsPermissionsFactory.cjs.map +1 -1
- package/dist/development/src/authorization/ActionsPermissionsFactory.js.map +1 -1
- package/dist/development/src/dispatch/DispatchWorkerSupervisor.cjs +16 -14
- package/dist/development/src/dispatch/DispatchWorkerSupervisor.cjs.map +1 -1
- package/dist/development/src/dispatch/DispatchWorkerSupervisor.js +16 -14
- package/dist/development/src/dispatch/DispatchWorkerSupervisor.js.map +1 -1
- package/dist/development/src/dispatch/EventDispatcher.cjs.map +1 -1
- package/dist/development/src/dispatch/EventDispatcher.js.map +1 -1
- package/dist/development/src/dispatch/EventsRepository.cjs +33 -15
- package/dist/development/src/dispatch/EventsRepository.cjs.map +1 -1
- package/dist/development/src/dispatch/EventsRepository.js +33 -15
- package/dist/development/src/dispatch/EventsRepository.js.map +1 -1
- package/dist/development/src/dispatch/ProjectDispatcher.cjs +3 -3
- package/dist/development/src/dispatch/ProjectDispatcher.cjs.map +1 -1
- package/dist/development/src/dispatch/ProjectDispatcher.js +2 -2
- package/dist/development/src/dispatch/ProjectDispatcher.js.map +1 -1
- package/dist/development/src/dispatch/TargetHandlerResolver.cjs.map +1 -1
- package/dist/development/src/dispatch/TargetHandlerResolver.js.map +1 -1
- package/dist/development/src/dispatch/WebhookFetcher.cjs.map +1 -1
- package/dist/development/src/dispatch/WebhookFetcher.js.map +1 -1
- package/dist/development/src/dispatch/WebhookTargetHandler.cjs +6 -1
- package/dist/development/src/dispatch/WebhookTargetHandler.cjs.map +1 -1
- package/dist/development/src/dispatch/WebhookTargetHandler.js +6 -1
- package/dist/development/src/dispatch/WebhookTargetHandler.js.map +1 -1
- package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.cjs +1 -0
- package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.cjs.map +1 -1
- package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.js +1 -0
- package/dist/development/src/graphql/http/ActionsApiMiddlewareFactory.js.map +1 -1
- package/dist/development/src/graphql/http/ActionsContextResolver.cjs +8 -11
- package/dist/development/src/graphql/http/ActionsContextResolver.cjs.map +1 -1
- package/dist/development/src/graphql/http/ActionsContextResolver.js +8 -11
- package/dist/development/src/graphql/http/ActionsContextResolver.js.map +1 -1
- package/dist/development/src/graphql/http/ActionsGraphQLHandlerFactory.cjs.map +1 -1
- package/dist/development/src/graphql/http/ActionsGraphQLHandlerFactory.js.map +1 -1
- package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.cjs +6 -3
- package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.cjs.map +1 -1
- package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.js +6 -3
- package/dist/development/src/graphql/http/ActionsWebsocketControllerFactory.js.map +1 -1
- package/dist/development/src/graphql/resolvers/ResolversFactory.cjs +7 -2
- package/dist/development/src/graphql/resolvers/ResolversFactory.cjs.map +1 -1
- package/dist/development/src/graphql/resolvers/ResolversFactory.js +8 -3
- package/dist/development/src/graphql/resolvers/ResolversFactory.js.map +1 -1
- package/dist/development/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.cjs.map +1 -1
- package/dist/development/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js.map +1 -1
- package/dist/development/src/graphql/resolvers/mutation/RetryEventMutationResolver.cjs +21 -0
- package/dist/development/src/graphql/resolvers/mutation/RetryEventMutationResolver.cjs.map +1 -0
- package/dist/development/src/graphql/resolvers/mutation/RetryEventMutationResolver.js +21 -0
- package/dist/development/src/graphql/resolvers/mutation/RetryEventMutationResolver.js.map +1 -0
- package/dist/development/src/graphql/resolvers/mutation/SetVariablesMutationResolver.cjs.map +1 -1
- package/dist/development/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js.map +1 -1
- package/dist/development/src/graphql/resolvers/mutation/StopEventMutationResolver.cjs +19 -0
- package/dist/development/src/graphql/resolvers/mutation/StopEventMutationResolver.cjs.map +1 -0
- package/dist/development/src/graphql/resolvers/mutation/StopEventMutationResolver.js +19 -0
- package/dist/development/src/graphql/resolvers/mutation/StopEventMutationResolver.js.map +1 -0
- package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.cjs +14 -1
- package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.cjs.map +1 -1
- package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.js +14 -1
- package/dist/development/src/graphql/resolvers/query/EventsQueryResolver.js.map +1 -1
- package/dist/development/src/graphql/resolvers/query/VariablesQueryResolver.cjs.map +1 -1
- package/dist/development/src/graphql/resolvers/query/VariablesQueryResolver.js.map +1 -1
- package/dist/development/src/graphql/schema/actions.graphql.cjs +18 -4
- package/dist/development/src/graphql/schema/actions.graphql.cjs.map +1 -1
- package/dist/development/src/graphql/schema/actions.graphql.js +18 -4
- package/dist/development/src/graphql/schema/actions.graphql.js.map +1 -1
- package/dist/development/src/migrations/2023-03-10-145000-actions-variables.cjs.map +1 -1
- package/dist/development/src/migrations/2023-03-10-145000-actions-variables.js.map +1 -1
- package/dist/development/src/migrations/2025-05-28-160000-action-event-user.cjs +16 -0
- package/dist/development/src/migrations/2025-05-28-160000-action-event-user.cjs.map +1 -0
- package/dist/development/src/migrations/2025-05-28-160000-action-event-user.js +17 -0
- package/dist/development/src/migrations/2025-05-28-160000-action-event-user.js.map +1 -0
- package/dist/development/src/migrations/index.cjs +3 -1
- package/dist/development/src/migrations/index.cjs.map +1 -1
- package/dist/development/src/migrations/index.js +3 -1
- package/dist/development/src/migrations/index.js.map +1 -1
- package/dist/development/src/migrations/snapshot.cjs +5 -2
- package/dist/development/src/migrations/snapshot.cjs.map +1 -1
- package/dist/development/src/migrations/snapshot.js +5 -2
- package/dist/development/src/migrations/snapshot.js.map +1 -1
- package/dist/development/src/model/EventByIdQuery.cjs +17 -0
- package/dist/development/src/model/EventByIdQuery.cjs.map +1 -0
- package/dist/development/src/model/EventByIdQuery.js +17 -0
- package/dist/development/src/model/EventByIdQuery.js.map +1 -0
- package/dist/development/src/model/EventsInProcessingQuery.cjs.map +1 -1
- package/dist/development/src/model/EventsInProcessingQuery.js.map +1 -1
- package/dist/development/src/model/EventsToProcessQuery.cjs.map +1 -1
- package/dist/development/src/model/EventsToProcessQuery.js.map +1 -1
- package/dist/development/src/model/EventsToProcessSpecification.cjs.map +1 -1
- package/dist/development/src/model/EventsToProcessSpecification.js.map +1 -1
- package/dist/development/src/model/FailedEventsQuery.cjs.map +1 -1
- package/dist/development/src/model/FailedEventsQuery.js.map +1 -1
- package/dist/development/src/model/SetVariableCommand.cjs.map +1 -1
- package/dist/development/src/model/SetVariableCommand.js.map +1 -1
- package/dist/development/src/model/VariablesManager.cjs.map +1 -1
- package/dist/development/src/model/VariablesManager.js.map +1 -1
- package/dist/development/src/model/VariablesQuery.cjs.map +1 -1
- package/dist/development/src/model/VariablesQuery.js.map +1 -1
- package/dist/development/src/triggers/TriggerHandler.cjs +17 -14
- package/dist/development/src/triggers/TriggerHandler.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerHandler.js +17 -14
- package/dist/development/src/triggers/TriggerHandler.js.map +1 -1
- package/dist/development/src/triggers/TriggerIndirectChangesFetcher.cjs +44 -2
- package/dist/development/src/triggers/TriggerIndirectChangesFetcher.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerIndirectChangesFetcher.js +44 -2
- package/dist/development/src/triggers/TriggerIndirectChangesFetcher.js.map +1 -1
- package/dist/development/src/triggers/TriggerListenersBuilder.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerListenersBuilder.js.map +1 -1
- package/dist/development/src/triggers/TriggerListenersFactory.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerListenersFactory.js.map +1 -1
- package/dist/development/src/triggers/TriggerListenersStore.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerListenersStore.js.map +1 -1
- package/dist/development/src/triggers/TriggerPayloadBuilder.cjs +45 -16
- package/dist/development/src/triggers/TriggerPayloadBuilder.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerPayloadBuilder.js +45 -16
- package/dist/development/src/triggers/TriggerPayloadBuilder.js.map +1 -1
- package/dist/development/src/triggers/TriggerPayloadManager.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerPayloadManager.js.map +1 -1
- package/dist/development/src/triggers/TriggerPayloadPersister.cjs +9 -5
- package/dist/development/src/triggers/TriggerPayloadPersister.cjs.map +1 -1
- package/dist/development/src/triggers/TriggerPayloadPersister.js +9 -5
- package/dist/development/src/triggers/TriggerPayloadPersister.js.map +1 -1
- package/dist/development/src/utils/assertNever.cjs.map +1 -1
- package/dist/development/src/utils/assertNever.js.map +1 -1
- package/dist/development/src/utils/map.cjs.map +1 -1
- package/dist/development/src/utils/map.js.map +1 -1
- package/dist/development/src/utils/notifyChannel.cjs +9 -0
- package/dist/development/src/utils/notifyChannel.cjs.map +1 -0
- package/dist/development/src/utils/notifyChannel.js +9 -0
- package/dist/development/src/utils/notifyChannel.js.map +1 -0
- package/dist/production/index.cjs +45 -21
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +45 -21
- package/dist/production/index.js.map +1 -1
- package/dist/production/src/ActionsExecutionContainerHookFactory.cjs +23 -11
- package/dist/production/src/ActionsExecutionContainerHookFactory.cjs.map +1 -1
- package/dist/production/src/ActionsExecutionContainerHookFactory.js +23 -11
- package/dist/production/src/ActionsExecutionContainerHookFactory.js.map +1 -1
- package/dist/production/src/ListenerStoreProvider.cjs.map +1 -1
- package/dist/production/src/ListenerStoreProvider.js.map +1 -1
- package/dist/production/src/authorization/ActionsAuthorizationActions.cjs +2 -0
- package/dist/production/src/authorization/ActionsAuthorizationActions.cjs.map +1 -1
- package/dist/production/src/authorization/ActionsAuthorizationActions.js +2 -0
- package/dist/production/src/authorization/ActionsAuthorizationActions.js.map +1 -1
- package/dist/production/src/authorization/ActionsPermissionsFactory.cjs.map +1 -1
- package/dist/production/src/authorization/ActionsPermissionsFactory.js.map +1 -1
- package/dist/production/src/dispatch/DispatchWorkerSupervisor.cjs +16 -14
- package/dist/production/src/dispatch/DispatchWorkerSupervisor.cjs.map +1 -1
- package/dist/production/src/dispatch/DispatchWorkerSupervisor.js +16 -14
- package/dist/production/src/dispatch/DispatchWorkerSupervisor.js.map +1 -1
- package/dist/production/src/dispatch/EventDispatcher.cjs.map +1 -1
- package/dist/production/src/dispatch/EventDispatcher.js.map +1 -1
- package/dist/production/src/dispatch/EventsRepository.cjs +33 -15
- package/dist/production/src/dispatch/EventsRepository.cjs.map +1 -1
- package/dist/production/src/dispatch/EventsRepository.js +33 -15
- package/dist/production/src/dispatch/EventsRepository.js.map +1 -1
- package/dist/production/src/dispatch/ProjectDispatcher.cjs +3 -3
- package/dist/production/src/dispatch/ProjectDispatcher.cjs.map +1 -1
- package/dist/production/src/dispatch/ProjectDispatcher.js +2 -2
- package/dist/production/src/dispatch/ProjectDispatcher.js.map +1 -1
- package/dist/production/src/dispatch/TargetHandlerResolver.cjs.map +1 -1
- package/dist/production/src/dispatch/TargetHandlerResolver.js.map +1 -1
- package/dist/production/src/dispatch/WebhookFetcher.cjs.map +1 -1
- package/dist/production/src/dispatch/WebhookFetcher.js.map +1 -1
- package/dist/production/src/dispatch/WebhookTargetHandler.cjs +6 -1
- package/dist/production/src/dispatch/WebhookTargetHandler.cjs.map +1 -1
- package/dist/production/src/dispatch/WebhookTargetHandler.js +6 -1
- package/dist/production/src/dispatch/WebhookTargetHandler.js.map +1 -1
- package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.cjs +1 -0
- package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.cjs.map +1 -1
- package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.js +1 -0
- package/dist/production/src/graphql/http/ActionsApiMiddlewareFactory.js.map +1 -1
- package/dist/production/src/graphql/http/ActionsContextResolver.cjs +8 -11
- package/dist/production/src/graphql/http/ActionsContextResolver.cjs.map +1 -1
- package/dist/production/src/graphql/http/ActionsContextResolver.js +8 -11
- package/dist/production/src/graphql/http/ActionsContextResolver.js.map +1 -1
- package/dist/production/src/graphql/http/ActionsGraphQLHandlerFactory.cjs.map +1 -1
- package/dist/production/src/graphql/http/ActionsGraphQLHandlerFactory.js.map +1 -1
- package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.cjs +6 -3
- package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.cjs.map +1 -1
- package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.js +6 -3
- package/dist/production/src/graphql/http/ActionsWebsocketControllerFactory.js.map +1 -1
- package/dist/production/src/graphql/resolvers/ResolversFactory.cjs +7 -2
- package/dist/production/src/graphql/resolvers/ResolversFactory.cjs.map +1 -1
- package/dist/production/src/graphql/resolvers/ResolversFactory.js +8 -3
- package/dist/production/src/graphql/resolvers/ResolversFactory.js.map +1 -1
- package/dist/production/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.cjs.map +1 -1
- package/dist/production/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js.map +1 -1
- package/dist/production/src/graphql/resolvers/mutation/RetryEventMutationResolver.cjs +21 -0
- package/dist/production/src/graphql/resolvers/mutation/RetryEventMutationResolver.cjs.map +1 -0
- package/dist/production/src/graphql/resolvers/mutation/RetryEventMutationResolver.js +21 -0
- package/dist/production/src/graphql/resolvers/mutation/RetryEventMutationResolver.js.map +1 -0
- package/dist/production/src/graphql/resolvers/mutation/SetVariablesMutationResolver.cjs.map +1 -1
- package/dist/production/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js.map +1 -1
- package/dist/production/src/graphql/resolvers/mutation/StopEventMutationResolver.cjs +19 -0
- package/dist/production/src/graphql/resolvers/mutation/StopEventMutationResolver.cjs.map +1 -0
- package/dist/production/src/graphql/resolvers/mutation/StopEventMutationResolver.js +19 -0
- package/dist/production/src/graphql/resolvers/mutation/StopEventMutationResolver.js.map +1 -0
- package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.cjs +14 -1
- package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.cjs.map +1 -1
- package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.js +14 -1
- package/dist/production/src/graphql/resolvers/query/EventsQueryResolver.js.map +1 -1
- package/dist/production/src/graphql/resolvers/query/VariablesQueryResolver.cjs.map +1 -1
- package/dist/production/src/graphql/resolvers/query/VariablesQueryResolver.js.map +1 -1
- package/dist/production/src/graphql/schema/actions.graphql.cjs +18 -4
- package/dist/production/src/graphql/schema/actions.graphql.cjs.map +1 -1
- package/dist/production/src/graphql/schema/actions.graphql.js +18 -4
- package/dist/production/src/graphql/schema/actions.graphql.js.map +1 -1
- package/dist/production/src/migrations/2023-03-10-145000-actions-variables.cjs.map +1 -1
- package/dist/production/src/migrations/2023-03-10-145000-actions-variables.js.map +1 -1
- package/dist/production/src/migrations/2025-05-28-160000-action-event-user.cjs +16 -0
- package/dist/production/src/migrations/2025-05-28-160000-action-event-user.cjs.map +1 -0
- package/dist/production/src/migrations/2025-05-28-160000-action-event-user.js +17 -0
- package/dist/production/src/migrations/2025-05-28-160000-action-event-user.js.map +1 -0
- package/dist/production/src/migrations/index.cjs +3 -1
- package/dist/production/src/migrations/index.cjs.map +1 -1
- package/dist/production/src/migrations/index.js +3 -1
- package/dist/production/src/migrations/index.js.map +1 -1
- package/dist/production/src/migrations/snapshot.cjs +5 -2
- package/dist/production/src/migrations/snapshot.cjs.map +1 -1
- package/dist/production/src/migrations/snapshot.js +5 -2
- package/dist/production/src/migrations/snapshot.js.map +1 -1
- package/dist/production/src/model/EventByIdQuery.cjs +17 -0
- package/dist/production/src/model/EventByIdQuery.cjs.map +1 -0
- package/dist/production/src/model/EventByIdQuery.js +17 -0
- package/dist/production/src/model/EventByIdQuery.js.map +1 -0
- package/dist/production/src/model/EventsInProcessingQuery.cjs.map +1 -1
- package/dist/production/src/model/EventsInProcessingQuery.js.map +1 -1
- package/dist/production/src/model/EventsToProcessQuery.cjs.map +1 -1
- package/dist/production/src/model/EventsToProcessQuery.js.map +1 -1
- package/dist/production/src/model/EventsToProcessSpecification.cjs.map +1 -1
- package/dist/production/src/model/EventsToProcessSpecification.js.map +1 -1
- package/dist/production/src/model/FailedEventsQuery.cjs.map +1 -1
- package/dist/production/src/model/FailedEventsQuery.js.map +1 -1
- package/dist/production/src/model/SetVariableCommand.cjs.map +1 -1
- package/dist/production/src/model/SetVariableCommand.js.map +1 -1
- package/dist/production/src/model/VariablesManager.cjs.map +1 -1
- package/dist/production/src/model/VariablesManager.js.map +1 -1
- package/dist/production/src/model/VariablesQuery.cjs.map +1 -1
- package/dist/production/src/model/VariablesQuery.js.map +1 -1
- package/dist/production/src/triggers/TriggerHandler.cjs +17 -14
- package/dist/production/src/triggers/TriggerHandler.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerHandler.js +17 -14
- package/dist/production/src/triggers/TriggerHandler.js.map +1 -1
- package/dist/production/src/triggers/TriggerIndirectChangesFetcher.cjs +44 -2
- package/dist/production/src/triggers/TriggerIndirectChangesFetcher.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerIndirectChangesFetcher.js +44 -2
- package/dist/production/src/triggers/TriggerIndirectChangesFetcher.js.map +1 -1
- package/dist/production/src/triggers/TriggerListenersBuilder.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerListenersBuilder.js.map +1 -1
- package/dist/production/src/triggers/TriggerListenersFactory.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerListenersFactory.js.map +1 -1
- package/dist/production/src/triggers/TriggerListenersStore.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerListenersStore.js.map +1 -1
- package/dist/production/src/triggers/TriggerPayloadBuilder.cjs +45 -16
- package/dist/production/src/triggers/TriggerPayloadBuilder.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerPayloadBuilder.js +45 -16
- package/dist/production/src/triggers/TriggerPayloadBuilder.js.map +1 -1
- package/dist/production/src/triggers/TriggerPayloadManager.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerPayloadManager.js.map +1 -1
- package/dist/production/src/triggers/TriggerPayloadPersister.cjs +9 -5
- package/dist/production/src/triggers/TriggerPayloadPersister.cjs.map +1 -1
- package/dist/production/src/triggers/TriggerPayloadPersister.js +9 -5
- package/dist/production/src/triggers/TriggerPayloadPersister.js.map +1 -1
- package/dist/production/src/utils/assertNever.cjs.map +1 -1
- package/dist/production/src/utils/assertNever.js.map +1 -1
- package/dist/production/src/utils/map.cjs.map +1 -1
- package/dist/production/src/utils/map.js.map +1 -1
- package/dist/production/src/utils/notifyChannel.cjs +9 -0
- package/dist/production/src/utils/notifyChannel.cjs.map +1 -0
- package/dist/production/src/utils/notifyChannel.js +9 -0
- package/dist/production/src/utils/notifyChannel.js.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/ActionsExecutionContainerHookFactory.d.ts.map +1 -1
- package/dist/types/authorization/ActionsAuthorizationActions.d.ts +10 -0
- package/dist/types/authorization/ActionsAuthorizationActions.d.ts.map +1 -1
- package/dist/types/dispatch/DispatchWorkerSupervisor.d.ts.map +1 -1
- package/dist/types/dispatch/EventDispatcher.d.ts.map +1 -1
- package/dist/types/dispatch/EventsRepository.d.ts +2 -1
- package/dist/types/dispatch/EventsRepository.d.ts.map +1 -1
- package/dist/types/dispatch/ProjectDispatcher.d.ts.map +1 -1
- package/dist/types/dispatch/WebhookTargetHandler.d.ts.map +1 -1
- package/dist/types/dispatch/types.d.ts +1 -1
- package/dist/types/dispatch/types.d.ts.map +1 -1
- package/dist/types/graphql/http/ActionsApiMiddlewareFactory.d.ts.map +1 -1
- package/dist/types/graphql/http/ActionsContextResolver.d.ts.map +1 -1
- package/dist/types/graphql/http/ActionsGraphQLHandlerFactory.d.ts.map +1 -1
- package/dist/types/graphql/http/ActionsWebsocketControllerFactory.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/ActionsContext.d.ts +3 -0
- package/dist/types/graphql/resolvers/ActionsContext.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/ResolversFactory.d.ts +4 -2
- package/dist/types/graphql/resolvers/ResolversFactory.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/mutation/RetryEventMutationResolver.d.ts +11 -0
- package/dist/types/graphql/resolvers/mutation/RetryEventMutationResolver.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/mutation/SetVariablesMutationResolver.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/mutation/StopEventMutationResolver.d.ts +11 -0
- package/dist/types/graphql/resolvers/mutation/StopEventMutationResolver.d.ts.map +1 -0
- package/dist/types/graphql/resolvers/mutation/index.d.ts +2 -0
- package/dist/types/graphql/resolvers/mutation/index.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/query/EventsQueryResolver.d.ts +3 -0
- package/dist/types/graphql/resolvers/query/EventsQueryResolver.d.ts.map +1 -1
- package/dist/types/graphql/resolvers/query/VariablesQueryResolver.d.ts.map +1 -1
- package/dist/types/graphql/schema/actions.graphql.d.ts.map +1 -1
- package/dist/types/graphql/schema/index.d.ts +45 -2
- package/dist/types/graphql/schema/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/migrations/2023-03-10-145000-actions-variables.d.ts.map +1 -1
- package/dist/types/migrations/2025-05-28-160000-action-event-user.d.ts +3 -0
- package/dist/types/migrations/2025-05-28-160000-action-event-user.d.ts.map +1 -0
- package/dist/types/migrations/index.d.ts.map +1 -1
- package/dist/types/migrations/snapshot.d.ts.map +1 -1
- package/dist/types/model/EventByIdQuery.d.ts +8 -0
- package/dist/types/model/EventByIdQuery.d.ts.map +1 -0
- package/dist/types/model/EventsToProcessSpecification.d.ts.map +1 -1
- package/dist/types/model/SetVariableCommand.d.ts.map +1 -1
- package/dist/types/model/types.d.ts +3 -0
- package/dist/types/model/types.d.ts.map +1 -1
- package/dist/types/triggers/TriggerHandler.d.ts.map +1 -1
- package/dist/types/triggers/TriggerIndirectChangesFetcher.d.ts +11 -3
- package/dist/types/triggers/TriggerIndirectChangesFetcher.d.ts.map +1 -1
- package/dist/types/triggers/TriggerListeners.d.ts.map +1 -1
- package/dist/types/triggers/TriggerListenersBuilder.d.ts.map +1 -1
- package/dist/types/triggers/TriggerListenersStore.d.ts +2 -2
- package/dist/types/triggers/TriggerListenersStore.d.ts.map +1 -1
- package/dist/types/triggers/TriggerPayloadBuilder.d.ts.map +1 -1
- package/dist/types/triggers/TriggerPayloadManager.d.ts +2 -1
- package/dist/types/triggers/TriggerPayloadManager.d.ts.map +1 -1
- package/dist/types/triggers/TriggerPayloadPersister.d.ts +7 -3
- package/dist/types/triggers/TriggerPayloadPersister.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/utils/notifyChannel.d.ts +4 -0
- package/dist/types/utils/notifyChannel.d.ts.map +1 -0
- package/graphql.codegen.yml +2 -2
- package/package.json +26 -21
- package/src/ActionsExecutionContainerHookFactory.ts +23 -11
- package/src/authorization/ActionsAuthorizationActions.ts +2 -0
- package/src/dispatch/DispatchWorkerSupervisor.ts +17 -16
- package/src/dispatch/EventDispatcher.ts +0 -2
- package/src/dispatch/EventsRepository.ts +63 -43
- package/src/dispatch/ProjectDispatcher.ts +6 -11
- package/src/dispatch/WebhookTargetHandler.ts +18 -9
- package/src/dispatch/types.ts +1 -2
- package/src/graphql/http/ActionsApiMiddlewareFactory.ts +7 -5
- package/src/graphql/http/ActionsContextResolver.ts +1 -2
- package/src/graphql/http/ActionsGraphQLHandlerFactory.ts +0 -1
- package/src/graphql/http/ActionsWebsocketControllerFactory.ts +7 -5
- package/src/graphql/resolvers/ActionsContext.ts +1 -0
- package/src/graphql/resolvers/ResolversFactory.ts +9 -2
- package/src/graphql/resolvers/mutation/RetryEventMutationResolver.ts +22 -0
- package/src/graphql/resolvers/mutation/SetVariablesMutationResolver.ts +0 -1
- package/src/graphql/resolvers/mutation/StopEventMutationResolver.ts +19 -0
- package/src/graphql/resolvers/mutation/index.ts +2 -0
- package/src/graphql/resolvers/query/EventsQueryResolver.ts +15 -8
- package/src/graphql/resolvers/query/VariablesQueryResolver.ts +0 -1
- package/src/graphql/schema/actions.graphql.ts +18 -4
- package/src/graphql/schema/index.ts +84 -30
- package/src/index.ts +55 -30
- package/src/migrations/2023-03-10-145000-actions-variables.ts +1 -1
- package/src/migrations/2025-05-28-160000-action-event-user.ts +16 -0
- package/src/migrations/index.ts +2 -0
- package/src/migrations/snapshot.ts +6 -3
- package/src/model/EventByIdQuery.ts +21 -0
- package/src/model/EventsToProcessSpecification.ts +9 -8
- package/src/model/SetVariableCommand.ts +0 -1
- package/src/model/types.ts +3 -0
- package/src/triggers/TriggerHandler.ts +16 -15
- package/src/triggers/TriggerIndirectChangesFetcher.ts +62 -3
- package/src/triggers/TriggerListeners.ts +1 -8
- package/src/triggers/TriggerListenersBuilder.ts +3 -6
- package/src/triggers/TriggerListenersStore.ts +2 -2
- package/src/triggers/TriggerPayloadBuilder.ts +43 -13
- package/src/triggers/TriggerPayloadManager.ts +2 -4
- package/src/triggers/TriggerPayloadPersister.ts +8 -3
- package/src/utils/notifyChannel.ts +6 -0
- package/tests/cases/unit/generator.test.ts +133 -136
- package/tests/cases/unit/webhookHandler.test.ts +47 -35
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# engine-actions
|
|
2
|
+
|
|
3
|
+
Event-driven webhook system. Captures entity changes, queues events, and dispatches them to external HTTP endpoints with retry logic.
|
|
4
|
+
|
|
5
|
+
## Trigger Types
|
|
6
|
+
|
|
7
|
+
- **BasicTrigger**: Direct CRUD operations (create, update on specific fields, delete)
|
|
8
|
+
- **WatchTrigger**: Deep change tracking through relations — fires when any watched nested field changes
|
|
9
|
+
|
|
10
|
+
## Architecture
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
Entity mutation → EventManager listeners (TriggerHandler)
|
|
14
|
+
→ TriggerPayloadManager accumulates events
|
|
15
|
+
→ TriggerPayloadPersister saves to actions_event table (before commit)
|
|
16
|
+
→ DispatchWorkerSupervisor runs ProjectDispatcher per project
|
|
17
|
+
→ EventDispatcher.processBatch() fetches queued events
|
|
18
|
+
→ WebhookTargetHandler sends HTTP POST to target URL
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Event Lifecycle
|
|
22
|
+
|
|
23
|
+
States: `created` → `processing` → `succeed` | `retrying` → `failed` | `stopped`
|
|
24
|
+
|
|
25
|
+
- 10-minute ACK timeout on processing
|
|
26
|
+
- Exponential backoff: 5s initial, 2x multiplier, max 10 attempts
|
|
27
|
+
- Pessimistic locking with `FOR NO KEY UPDATE SKIP LOCKED` for concurrent dispatch
|
|
28
|
+
|
|
29
|
+
## Webhook Target
|
|
30
|
+
|
|
31
|
+
- Configurable: URL, headers, timeout (default 30s), batch size, max attempts
|
|
32
|
+
- Variable interpolation in URL/headers: `{{variableName}}`
|
|
33
|
+
- Response: optional `{ failures: [{ eventId, error }] }`
|
|
34
|
+
- Payload wrapped in meta envelope (eventId, transactionId, identity, timestamps, retries)
|
|
35
|
+
|
|
36
|
+
## GraphQL API (mounted at `/actions/:projectSlug`)
|
|
37
|
+
|
|
38
|
+
Mutations: `processBatch`, `retryEvent`, `stopEvent`, `setVariables` (MERGE/SET/APPEND_ONLY_MISSING)
|
|
39
|
+
|
|
40
|
+
Queries: `failedEvents`, `eventsToProcess`, `eventsInProcessing`, `event`, `variables`
|
|
41
|
+
|
|
42
|
+
## Plugin Integration
|
|
43
|
+
|
|
44
|
+
Implements `Plugin` interface with:
|
|
45
|
+
- `getExecutionContainerHook()` — attaches TriggerHandler to EventManager per request
|
|
46
|
+
- `getMasterContainerHook()` — adds dispatch worker, HTTP/WebSocket routes
|
|
47
|
+
- `getSystemMigrations()` — creates `actions_event`, `actions_variable` tables
|
|
@@ -8,6 +8,8 @@ const ActionsGraphQLHandlerFactory = require("./src/graphql/http/ActionsGraphQLH
|
|
|
8
8
|
const ResolversFactory = require("./src/graphql/resolvers/ResolversFactory.cjs");
|
|
9
9
|
const ProcessBatchMutationResolver = require("./src/graphql/resolvers/mutation/ProcessBatchMutationResolver.cjs");
|
|
10
10
|
const SetVariablesMutationResolver = require("./src/graphql/resolvers/mutation/SetVariablesMutationResolver.cjs");
|
|
11
|
+
const RetryEventMutationResolver = require("./src/graphql/resolvers/mutation/RetryEventMutationResolver.cjs");
|
|
12
|
+
const StopEventMutationResolver = require("./src/graphql/resolvers/mutation/StopEventMutationResolver.cjs");
|
|
11
13
|
const EventsQueryResolver = require("./src/graphql/resolvers/query/EventsQueryResolver.cjs");
|
|
12
14
|
const EventDispatcher = require("./src/dispatch/EventDispatcher.cjs");
|
|
13
15
|
const EventsRepository = require("./src/dispatch/EventsRepository.cjs");
|
|
@@ -47,34 +49,56 @@ class ActionsPlugin {
|
|
|
47
49
|
const hook = (builder) => {
|
|
48
50
|
return builder.addService("actions_variableManager", () => {
|
|
49
51
|
return new VariablesManager.VariablesManager();
|
|
50
|
-
}).addService("
|
|
51
|
-
|
|
52
|
+
}).addService("actions_eventRepository", () => {
|
|
53
|
+
return new EventsRepository.EventsRepository();
|
|
54
|
+
}).addService("actions_eventDispatcher", ({ actions_eventRepository, actions_variableManager }) => {
|
|
52
55
|
const webhookTargetHandler = new WebhookTargetHandler.WebhookTargetHandler(new WebhookFetcher.WebhookFetcherNative());
|
|
53
56
|
const targetHandlerResolver = new TargetHandlerResolver.TargetHandlerResolver(webhookTargetHandler);
|
|
54
|
-
return new EventDispatcher.EventDispatcher(
|
|
57
|
+
return new EventDispatcher.EventDispatcher(actions_eventRepository, actions_variableManager, targetHandlerResolver);
|
|
55
58
|
}).addService("actions_dispatchWorkerSupervisorFactory", ({ actions_eventDispatcher }) => {
|
|
56
59
|
const projectDispatcherFactory = new ProjectDispatcher.ProjectDispatcherFactory(actions_eventDispatcher);
|
|
57
60
|
return new DispatchWorkerSupervisor.DispatchWorkerSupervisorFactory(projectDispatcherFactory);
|
|
58
61
|
}).addService("actions_authorizator", () => {
|
|
59
62
|
return new authorization.Authorizator.Default(new authorization.AccessEvaluator.PermissionEvaluator(new ActionsPermissionsFactory.ActionsPermissionsFactory().create()));
|
|
60
|
-
}).setupService(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
63
|
+
}).setupService(
|
|
64
|
+
"application",
|
|
65
|
+
(it, {
|
|
66
|
+
projectContextResolver,
|
|
67
|
+
debugMode,
|
|
68
|
+
actions_eventRepository,
|
|
69
|
+
actions_eventDispatcher,
|
|
70
|
+
actions_dispatchWorkerSupervisorFactory,
|
|
71
|
+
actions_variableManager,
|
|
72
|
+
actions_authorizator
|
|
73
|
+
}) => {
|
|
74
|
+
const handlerFactory = new ActionsGraphQLHandlerFactory.ActionsGraphQLHandlerFactory();
|
|
75
|
+
const eventsQueryResolver = new EventsQueryResolver.EventsQueryResolver();
|
|
76
|
+
const processBatchMutationResolver = new ProcessBatchMutationResolver.ProcessBatchMutationResolver(actions_eventDispatcher);
|
|
77
|
+
const variablesQueryResolver = new VariablesQueryResolver.VariablesQueryResolver(actions_variableManager);
|
|
78
|
+
const setVariablesMutationResolver = new SetVariablesMutationResolver.SetVariablesMutationResolver(actions_variableManager);
|
|
79
|
+
const resolversFactory = new ResolversFactory.ResolversFactory(
|
|
80
|
+
eventsQueryResolver,
|
|
81
|
+
processBatchMutationResolver,
|
|
82
|
+
variablesQueryResolver,
|
|
83
|
+
setVariablesMutationResolver,
|
|
84
|
+
new RetryEventMutationResolver.RetryEventMutationResolver(actions_eventRepository),
|
|
85
|
+
new StopEventMutationResolver.StopEventMutationResolver(actions_eventRepository)
|
|
86
|
+
);
|
|
87
|
+
const actionsContextResolver = new ActionsContextResolver.ActionsContextResolver(debugMode, projectContextResolver);
|
|
88
|
+
const actionsMiddlewareFactory = new ActionsApiMiddlewareFactory.ActionsApiMiddlewareFactory(
|
|
89
|
+
actionsContextResolver,
|
|
90
|
+
handlerFactory.create(resolversFactory),
|
|
91
|
+
actions_authorizator
|
|
92
|
+
);
|
|
93
|
+
const actionsWebsocketMiddlewareFactory = new ActionsWebsocketControllerFactory.ActionsWebsocketControllerFactory(
|
|
94
|
+
debugMode,
|
|
95
|
+
actionsContextResolver,
|
|
96
|
+
actions_dispatchWorkerSupervisorFactory
|
|
97
|
+
);
|
|
98
|
+
it.addRoute("actions", "/actions/:projectSlug", actionsMiddlewareFactory.create());
|
|
99
|
+
it.addWebsocketRoute("actions", "/actions/_worker", actionsWebsocketMiddlewareFactory.create());
|
|
100
|
+
}
|
|
101
|
+
).setupService("applicationWorkers", (it, { actions_dispatchWorkerSupervisorFactory, projectGroupContainer, serverConfig }) => {
|
|
78
102
|
if (!serverConfig.projectGroup) {
|
|
79
103
|
it.registerWorker(this.name, actions_dispatchWorkerSupervisorFactory.create(projectGroupContainer));
|
|
80
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../packages/engine-actions/src/index.ts"],"sourcesContent":["import { Plugin } from '@contember/engine-plugins'\nimport { migrationsGroup } from './migrations'\nimport { ActionsExecutionContainerHookFactory } from './ActionsExecutionContainerHookFactory'\nimport { ListenerStoreProvider } from './ListenerStoreProvider'\nimport { MigrationGroup } from '@contember/database-migrations'\nimport { MasterContainerBuilder, MasterContainerHook } from '@contember/engine-http'\nimport { ActionsApiMiddlewareFactory } from './graphql/http/ActionsApiMiddlewareFactory'\nimport { ActionsGraphQLHandlerFactory } from './graphql/http/ActionsGraphQLHandlerFactory'\nimport { ResolversFactory } from './graphql/resolvers/ResolversFactory'\nimport {
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../packages/engine-actions/src/index.ts"],"sourcesContent":["import { Plugin } from '@contember/engine-plugins'\nimport { migrationsGroup } from './migrations'\nimport { ActionsExecutionContainerHookFactory } from './ActionsExecutionContainerHookFactory'\nimport { ListenerStoreProvider } from './ListenerStoreProvider'\nimport { MigrationGroup } from '@contember/database-migrations'\nimport { MasterContainerBuilder, MasterContainerHook } from '@contember/engine-http'\nimport { ActionsApiMiddlewareFactory } from './graphql/http/ActionsApiMiddlewareFactory'\nimport { ActionsGraphQLHandlerFactory } from './graphql/http/ActionsGraphQLHandlerFactory'\nimport { ResolversFactory } from './graphql/resolvers/ResolversFactory'\nimport {\n\tEventsQueryResolver,\n\tProcessBatchMutationResolver,\n\tRetryEventMutationResolver,\n\tSetVariablesMutationResolver,\n\tStopEventMutationResolver,\n} from './graphql/resolvers'\nimport { EventDispatcher } from './dispatch/EventDispatcher'\nimport { EventsRepository } from './dispatch/EventsRepository'\nimport { TargetHandlerResolver } from './dispatch/TargetHandlerResolver'\nimport { WebhookTargetHandler } from './dispatch/WebhookTargetHandler'\nimport { ActionsContextResolver } from './graphql/http/ActionsContextResolver'\nimport { ActionsWebsocketControllerFactory } from './graphql/http/ActionsWebsocketControllerFactory'\nimport { DispatchWorkerSupervisorFactory } from './dispatch/DispatchWorkerSupervisor'\nimport { ProjectDispatcherFactory } from './dispatch/ProjectDispatcher'\nimport { VariablesQueryResolver } from './graphql/resolvers/query/VariablesQueryResolver'\nimport { VariablesManager } from './model/VariablesManager'\nimport { AccessEvaluator, Authorizator } from '@contember/authorization'\nimport { ActionsPermissionsFactory } from './authorization'\nimport { WebhookFetcherNative } from './dispatch/WebhookFetcher'\n\nexport { TriggerHandler, TriggerIndirectChangesFetcher, TriggerListenersFactory, TriggerListenersStore, TriggerPayloadManager } from './triggers'\nexport { ActionsExecutionContainerHookFactory } from './ActionsExecutionContainerHookFactory'\nexport { ListenerStoreProvider } from './ListenerStoreProvider'\n\nexport default class ActionsPlugin implements Plugin {\n\tname = 'contember/actions'\n\n\tgetSystemMigrations(): MigrationGroup {\n\t\treturn migrationsGroup\n\t}\n\n\tgetExecutionContainerHook() {\n\t\tconst hookFactory = new ActionsExecutionContainerHookFactory(new ListenerStoreProvider())\n\t\treturn hookFactory.create()\n\t}\n\n\tgetMasterContainerHook() {\n\t\tconst hook: MasterContainerHook = (builder: MasterContainerBuilder) => {\n\t\t\treturn builder\n\t\t\t\t.addService('actions_variableManager', () => {\n\t\t\t\t\treturn new VariablesManager()\n\t\t\t\t})\n\t\t\t\t.addService('actions_eventRepository', () => {\n\t\t\t\t\treturn new EventsRepository()\n\t\t\t\t})\n\t\t\t\t.addService('actions_eventDispatcher', ({ actions_eventRepository, actions_variableManager }) => {\n\t\t\t\t\tconst webhookTargetHandler = new WebhookTargetHandler(new WebhookFetcherNative())\n\t\t\t\t\tconst targetHandlerResolver = new TargetHandlerResolver(webhookTargetHandler)\n\t\t\t\t\treturn new EventDispatcher(actions_eventRepository, actions_variableManager, targetHandlerResolver)\n\t\t\t\t})\n\t\t\t\t.addService('actions_dispatchWorkerSupervisorFactory', ({ actions_eventDispatcher }) => {\n\t\t\t\t\tconst projectDispatcherFactory = new ProjectDispatcherFactory(actions_eventDispatcher)\n\t\t\t\t\treturn new DispatchWorkerSupervisorFactory(projectDispatcherFactory)\n\t\t\t\t})\n\t\t\t\t.addService('actions_authorizator', () => {\n\t\t\t\t\treturn new Authorizator.Default(new AccessEvaluator.PermissionEvaluator(new ActionsPermissionsFactory().create()))\n\t\t\t\t})\n\t\t\t\t.setupService(\n\t\t\t\t\t'application',\n\t\t\t\t\t(\n\t\t\t\t\t\tit,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tprojectContextResolver,\n\t\t\t\t\t\t\tdebugMode,\n\t\t\t\t\t\t\tactions_eventRepository,\n\t\t\t\t\t\t\tactions_eventDispatcher,\n\t\t\t\t\t\t\tactions_dispatchWorkerSupervisorFactory,\n\t\t\t\t\t\t\tactions_variableManager,\n\t\t\t\t\t\t\tactions_authorizator,\n\t\t\t\t\t\t},\n\t\t\t\t\t) => {\n\t\t\t\t\t\tconst handlerFactory = new ActionsGraphQLHandlerFactory()\n\t\t\t\t\t\tconst eventsQueryResolver = new EventsQueryResolver()\n\t\t\t\t\t\tconst processBatchMutationResolver = new ProcessBatchMutationResolver(actions_eventDispatcher)\n\t\t\t\t\t\tconst variablesQueryResolver = new VariablesQueryResolver(actions_variableManager)\n\t\t\t\t\t\tconst setVariablesMutationResolver = new SetVariablesMutationResolver(actions_variableManager)\n\t\t\t\t\t\tconst resolversFactory = new ResolversFactory(\n\t\t\t\t\t\t\teventsQueryResolver,\n\t\t\t\t\t\t\tprocessBatchMutationResolver,\n\t\t\t\t\t\t\tvariablesQueryResolver,\n\t\t\t\t\t\t\tsetVariablesMutationResolver,\n\t\t\t\t\t\t\tnew RetryEventMutationResolver(actions_eventRepository),\n\t\t\t\t\t\t\tnew StopEventMutationResolver(actions_eventRepository),\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\tconst actionsContextResolver = new ActionsContextResolver(debugMode, projectContextResolver)\n\t\t\t\t\t\tconst actionsMiddlewareFactory = new ActionsApiMiddlewareFactory(\n\t\t\t\t\t\t\tactionsContextResolver,\n\t\t\t\t\t\t\thandlerFactory.create(resolversFactory),\n\t\t\t\t\t\t\tactions_authorizator,\n\t\t\t\t\t\t)\n\t\t\t\t\t\tconst actionsWebsocketMiddlewareFactory = new ActionsWebsocketControllerFactory(\n\t\t\t\t\t\t\tdebugMode,\n\t\t\t\t\t\t\tactionsContextResolver,\n\t\t\t\t\t\t\tactions_dispatchWorkerSupervisorFactory,\n\t\t\t\t\t\t)\n\t\t\t\t\t\tit.addRoute('actions', '/actions/:projectSlug', actionsMiddlewareFactory.create())\n\t\t\t\t\t\tit.addWebsocketRoute('actions', '/actions/_worker', actionsWebsocketMiddlewareFactory.create())\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t\t.setupService('applicationWorkers', (it, { actions_dispatchWorkerSupervisorFactory, projectGroupContainer, serverConfig }) => {\n\t\t\t\t\tif (!(serverConfig as any).projectGroup) {\n\t\t\t\t\t\tit.registerWorker(this.name, actions_dispatchWorkerSupervisorFactory.create(projectGroupContainer))\n\t\t\t\t\t}\n\t\t\t\t}) as unknown as MasterContainerBuilder\n\t\t}\n\t\treturn hook\n\t}\n}\n"],"names":["migrationsGroup","ActionsExecutionContainerHookFactory","ListenerStoreProvider","VariablesManager","EventsRepository","WebhookTargetHandler","WebhookFetcherNative","TargetHandlerResolver","EventDispatcher","ProjectDispatcherFactory","DispatchWorkerSupervisorFactory","Authorizator","AccessEvaluator","ActionsPermissionsFactory","ActionsGraphQLHandlerFactory","EventsQueryResolver","ProcessBatchMutationResolver","VariablesQueryResolver","SetVariablesMutationResolver","ResolversFactory","RetryEventMutationResolver","StopEventMutationResolver","ActionsContextResolver","ActionsApiMiddlewareFactory","ActionsWebsocketControllerFactory"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAqB,cAAgC;AAAA,EAArD,cAAA;AACC,kBAAA,MAAA,QAAO,mBAAA;AAAA,EAAA;AAAA,EAEP,sBAAsC;AACrC,WAAOA,MAAAA;AAAAA,EACR;AAAA,EAEA,4BAA4B;AAC3B,UAAM,cAAc,IAAIC,0EAAqC,IAAIC,sBAAAA,uBAAuB;AACxF,WAAO,YAAY,OAAA;AAAA,EACpB;AAAA,EAEA,yBAAyB;AACxB,UAAM,OAA4B,CAAC,YAAoC;AACtE,aAAO,QACL,WAAW,2BAA2B,MAAM;AAC5C,eAAO,IAAIC,iBAAAA,iBAAA;AAAA,MACZ,CAAC,EACA,WAAW,2BAA2B,MAAM;AAC5C,eAAO,IAAIC,iBAAAA,iBAAA;AAAA,MACZ,CAAC,EACA,WAAW,2BAA2B,CAAC,EAAE,yBAAyB,8BAA8B;AAChG,cAAM,uBAAuB,IAAIC,0CAAqB,IAAIC,eAAAA,sBAAsB;AAChF,cAAM,wBAAwB,IAAIC,sBAAAA,sBAAsB,oBAAoB;AAC5E,eAAO,IAAIC,gBAAAA,gBAAgB,yBAAyB,yBAAyB,qBAAqB;AAAA,MACnG,CAAC,EACA,WAAW,2CAA2C,CAAC,EAAE,8BAA8B;AACvF,cAAM,2BAA2B,IAAIC,kBAAAA,yBAAyB,uBAAuB;AACrF,eAAO,IAAIC,yBAAAA,gCAAgC,wBAAwB;AAAA,MACpE,CAAC,EACA,WAAW,wBAAwB,MAAM;AACzC,eAAO,IAAIC,cAAAA,aAAa,QAAQ,IAAIC,cAAAA,gBAAgB,oBAAoB,IAAIC,0BAAAA,0BAAA,EAA4B,OAAA,CAAQ,CAAC;AAAA,MAClH,CAAC,EACA;AAAA,QACA;AAAA,QACA,CACC,IACA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA,MAEG;AACJ,gBAAM,iBAAiB,IAAIC,0DAAA;AAC3B,gBAAM,sBAAsB,IAAIC,wCAAA;AAChC,gBAAM,+BAA+B,IAAIC,6BAAAA,6BAA6B,uBAAuB;AAC7F,gBAAM,yBAAyB,IAAIC,uBAAAA,uBAAuB,uBAAuB;AACjF,gBAAM,+BAA+B,IAAIC,6BAAAA,6BAA6B,uBAAuB;AAC7F,gBAAM,mBAAmB,IAAIC,iBAAAA;AAAAA,YAC5B;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,IAAIC,2BAAAA,2BAA2B,uBAAuB;AAAA,YACtD,IAAIC,0BAAAA,0BAA0B,uBAAuB;AAAA,UAAA;AAGtD,gBAAM,yBAAyB,IAAIC,8CAAuB,WAAW,sBAAsB;AAC3F,gBAAM,2BAA2B,IAAIC,4BAAAA;AAAAA,YACpC;AAAA,YACA,eAAe,OAAO,gBAAgB;AAAA,YACtC;AAAA,UAAA;AAED,gBAAM,oCAAoC,IAAIC,kCAAAA;AAAAA,YAC7C;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAED,aAAG,SAAS,WAAW,yBAAyB,yBAAyB,QAAQ;AACjF,aAAG,kBAAkB,WAAW,oBAAoB,kCAAkC,QAAQ;AAAA,QAC/F;AAAA,MAAA,EAEA,aAAa,sBAAsB,CAAC,IAAI,EAAE,yCAAyC,uBAAuB,mBAAmB;AAC7H,YAAI,CAAE,aAAqB,cAAc;AACxC,aAAG,eAAe,KAAK,MAAM,wCAAwC,OAAO,qBAAqB,CAAC;AAAA,QACnG;AAAA,MACD,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACR;AACD;;;;;;;;;"}
|
|
@@ -6,6 +6,8 @@ import { ActionsGraphQLHandlerFactory } from "./src/graphql/http/ActionsGraphQLH
|
|
|
6
6
|
import { ResolversFactory } from "./src/graphql/resolvers/ResolversFactory.js";
|
|
7
7
|
import { ProcessBatchMutationResolver } from "./src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js";
|
|
8
8
|
import { SetVariablesMutationResolver } from "./src/graphql/resolvers/mutation/SetVariablesMutationResolver.js";
|
|
9
|
+
import { RetryEventMutationResolver } from "./src/graphql/resolvers/mutation/RetryEventMutationResolver.js";
|
|
10
|
+
import { StopEventMutationResolver } from "./src/graphql/resolvers/mutation/StopEventMutationResolver.js";
|
|
9
11
|
import { EventsQueryResolver } from "./src/graphql/resolvers/query/EventsQueryResolver.js";
|
|
10
12
|
import { EventDispatcher } from "./src/dispatch/EventDispatcher.js";
|
|
11
13
|
import { EventsRepository } from "./src/dispatch/EventsRepository.js";
|
|
@@ -45,34 +47,56 @@ class ActionsPlugin {
|
|
|
45
47
|
const hook = (builder) => {
|
|
46
48
|
return builder.addService("actions_variableManager", () => {
|
|
47
49
|
return new VariablesManager();
|
|
48
|
-
}).addService("
|
|
49
|
-
|
|
50
|
+
}).addService("actions_eventRepository", () => {
|
|
51
|
+
return new EventsRepository();
|
|
52
|
+
}).addService("actions_eventDispatcher", ({ actions_eventRepository, actions_variableManager }) => {
|
|
50
53
|
const webhookTargetHandler = new WebhookTargetHandler(new WebhookFetcherNative());
|
|
51
54
|
const targetHandlerResolver = new TargetHandlerResolver(webhookTargetHandler);
|
|
52
|
-
return new EventDispatcher(
|
|
55
|
+
return new EventDispatcher(actions_eventRepository, actions_variableManager, targetHandlerResolver);
|
|
53
56
|
}).addService("actions_dispatchWorkerSupervisorFactory", ({ actions_eventDispatcher }) => {
|
|
54
57
|
const projectDispatcherFactory = new ProjectDispatcherFactory(actions_eventDispatcher);
|
|
55
58
|
return new DispatchWorkerSupervisorFactory(projectDispatcherFactory);
|
|
56
59
|
}).addService("actions_authorizator", () => {
|
|
57
60
|
return new Authorizator.Default(new AccessEvaluator.PermissionEvaluator(new ActionsPermissionsFactory().create()));
|
|
58
|
-
}).setupService(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
61
|
+
}).setupService(
|
|
62
|
+
"application",
|
|
63
|
+
(it, {
|
|
64
|
+
projectContextResolver,
|
|
65
|
+
debugMode,
|
|
66
|
+
actions_eventRepository,
|
|
67
|
+
actions_eventDispatcher,
|
|
68
|
+
actions_dispatchWorkerSupervisorFactory,
|
|
69
|
+
actions_variableManager,
|
|
70
|
+
actions_authorizator
|
|
71
|
+
}) => {
|
|
72
|
+
const handlerFactory = new ActionsGraphQLHandlerFactory();
|
|
73
|
+
const eventsQueryResolver = new EventsQueryResolver();
|
|
74
|
+
const processBatchMutationResolver = new ProcessBatchMutationResolver(actions_eventDispatcher);
|
|
75
|
+
const variablesQueryResolver = new VariablesQueryResolver(actions_variableManager);
|
|
76
|
+
const setVariablesMutationResolver = new SetVariablesMutationResolver(actions_variableManager);
|
|
77
|
+
const resolversFactory = new ResolversFactory(
|
|
78
|
+
eventsQueryResolver,
|
|
79
|
+
processBatchMutationResolver,
|
|
80
|
+
variablesQueryResolver,
|
|
81
|
+
setVariablesMutationResolver,
|
|
82
|
+
new RetryEventMutationResolver(actions_eventRepository),
|
|
83
|
+
new StopEventMutationResolver(actions_eventRepository)
|
|
84
|
+
);
|
|
85
|
+
const actionsContextResolver = new ActionsContextResolver(debugMode, projectContextResolver);
|
|
86
|
+
const actionsMiddlewareFactory = new ActionsApiMiddlewareFactory(
|
|
87
|
+
actionsContextResolver,
|
|
88
|
+
handlerFactory.create(resolversFactory),
|
|
89
|
+
actions_authorizator
|
|
90
|
+
);
|
|
91
|
+
const actionsWebsocketMiddlewareFactory = new ActionsWebsocketControllerFactory(
|
|
92
|
+
debugMode,
|
|
93
|
+
actionsContextResolver,
|
|
94
|
+
actions_dispatchWorkerSupervisorFactory
|
|
95
|
+
);
|
|
96
|
+
it.addRoute("actions", "/actions/:projectSlug", actionsMiddlewareFactory.create());
|
|
97
|
+
it.addWebsocketRoute("actions", "/actions/_worker", actionsWebsocketMiddlewareFactory.create());
|
|
98
|
+
}
|
|
99
|
+
).setupService("applicationWorkers", (it, { actions_dispatchWorkerSupervisorFactory, projectGroupContainer, serverConfig }) => {
|
|
76
100
|
if (!serverConfig.projectGroup) {
|
|
77
101
|
it.registerWorker(this.name, actions_dispatchWorkerSupervisorFactory.create(projectGroupContainer));
|
|
78
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../packages/engine-actions/src/index.ts"],"sourcesContent":["import { Plugin } from '@contember/engine-plugins'\nimport { migrationsGroup } from './migrations'\nimport { ActionsExecutionContainerHookFactory } from './ActionsExecutionContainerHookFactory'\nimport { ListenerStoreProvider } from './ListenerStoreProvider'\nimport { MigrationGroup } from '@contember/database-migrations'\nimport { MasterContainerBuilder, MasterContainerHook } from '@contember/engine-http'\nimport { ActionsApiMiddlewareFactory } from './graphql/http/ActionsApiMiddlewareFactory'\nimport { ActionsGraphQLHandlerFactory } from './graphql/http/ActionsGraphQLHandlerFactory'\nimport { ResolversFactory } from './graphql/resolvers/ResolversFactory'\nimport {
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../packages/engine-actions/src/index.ts"],"sourcesContent":["import { Plugin } from '@contember/engine-plugins'\nimport { migrationsGroup } from './migrations'\nimport { ActionsExecutionContainerHookFactory } from './ActionsExecutionContainerHookFactory'\nimport { ListenerStoreProvider } from './ListenerStoreProvider'\nimport { MigrationGroup } from '@contember/database-migrations'\nimport { MasterContainerBuilder, MasterContainerHook } from '@contember/engine-http'\nimport { ActionsApiMiddlewareFactory } from './graphql/http/ActionsApiMiddlewareFactory'\nimport { ActionsGraphQLHandlerFactory } from './graphql/http/ActionsGraphQLHandlerFactory'\nimport { ResolversFactory } from './graphql/resolvers/ResolversFactory'\nimport {\n\tEventsQueryResolver,\n\tProcessBatchMutationResolver,\n\tRetryEventMutationResolver,\n\tSetVariablesMutationResolver,\n\tStopEventMutationResolver,\n} from './graphql/resolvers'\nimport { EventDispatcher } from './dispatch/EventDispatcher'\nimport { EventsRepository } from './dispatch/EventsRepository'\nimport { TargetHandlerResolver } from './dispatch/TargetHandlerResolver'\nimport { WebhookTargetHandler } from './dispatch/WebhookTargetHandler'\nimport { ActionsContextResolver } from './graphql/http/ActionsContextResolver'\nimport { ActionsWebsocketControllerFactory } from './graphql/http/ActionsWebsocketControllerFactory'\nimport { DispatchWorkerSupervisorFactory } from './dispatch/DispatchWorkerSupervisor'\nimport { ProjectDispatcherFactory } from './dispatch/ProjectDispatcher'\nimport { VariablesQueryResolver } from './graphql/resolvers/query/VariablesQueryResolver'\nimport { VariablesManager } from './model/VariablesManager'\nimport { AccessEvaluator, Authorizator } from '@contember/authorization'\nimport { ActionsPermissionsFactory } from './authorization'\nimport { WebhookFetcherNative } from './dispatch/WebhookFetcher'\n\nexport { TriggerHandler, TriggerIndirectChangesFetcher, TriggerListenersFactory, TriggerListenersStore, TriggerPayloadManager } from './triggers'\nexport { ActionsExecutionContainerHookFactory } from './ActionsExecutionContainerHookFactory'\nexport { ListenerStoreProvider } from './ListenerStoreProvider'\n\nexport default class ActionsPlugin implements Plugin {\n\tname = 'contember/actions'\n\n\tgetSystemMigrations(): MigrationGroup {\n\t\treturn migrationsGroup\n\t}\n\n\tgetExecutionContainerHook() {\n\t\tconst hookFactory = new ActionsExecutionContainerHookFactory(new ListenerStoreProvider())\n\t\treturn hookFactory.create()\n\t}\n\n\tgetMasterContainerHook() {\n\t\tconst hook: MasterContainerHook = (builder: MasterContainerBuilder) => {\n\t\t\treturn builder\n\t\t\t\t.addService('actions_variableManager', () => {\n\t\t\t\t\treturn new VariablesManager()\n\t\t\t\t})\n\t\t\t\t.addService('actions_eventRepository', () => {\n\t\t\t\t\treturn new EventsRepository()\n\t\t\t\t})\n\t\t\t\t.addService('actions_eventDispatcher', ({ actions_eventRepository, actions_variableManager }) => {\n\t\t\t\t\tconst webhookTargetHandler = new WebhookTargetHandler(new WebhookFetcherNative())\n\t\t\t\t\tconst targetHandlerResolver = new TargetHandlerResolver(webhookTargetHandler)\n\t\t\t\t\treturn new EventDispatcher(actions_eventRepository, actions_variableManager, targetHandlerResolver)\n\t\t\t\t})\n\t\t\t\t.addService('actions_dispatchWorkerSupervisorFactory', ({ actions_eventDispatcher }) => {\n\t\t\t\t\tconst projectDispatcherFactory = new ProjectDispatcherFactory(actions_eventDispatcher)\n\t\t\t\t\treturn new DispatchWorkerSupervisorFactory(projectDispatcherFactory)\n\t\t\t\t})\n\t\t\t\t.addService('actions_authorizator', () => {\n\t\t\t\t\treturn new Authorizator.Default(new AccessEvaluator.PermissionEvaluator(new ActionsPermissionsFactory().create()))\n\t\t\t\t})\n\t\t\t\t.setupService(\n\t\t\t\t\t'application',\n\t\t\t\t\t(\n\t\t\t\t\t\tit,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tprojectContextResolver,\n\t\t\t\t\t\t\tdebugMode,\n\t\t\t\t\t\t\tactions_eventRepository,\n\t\t\t\t\t\t\tactions_eventDispatcher,\n\t\t\t\t\t\t\tactions_dispatchWorkerSupervisorFactory,\n\t\t\t\t\t\t\tactions_variableManager,\n\t\t\t\t\t\t\tactions_authorizator,\n\t\t\t\t\t\t},\n\t\t\t\t\t) => {\n\t\t\t\t\t\tconst handlerFactory = new ActionsGraphQLHandlerFactory()\n\t\t\t\t\t\tconst eventsQueryResolver = new EventsQueryResolver()\n\t\t\t\t\t\tconst processBatchMutationResolver = new ProcessBatchMutationResolver(actions_eventDispatcher)\n\t\t\t\t\t\tconst variablesQueryResolver = new VariablesQueryResolver(actions_variableManager)\n\t\t\t\t\t\tconst setVariablesMutationResolver = new SetVariablesMutationResolver(actions_variableManager)\n\t\t\t\t\t\tconst resolversFactory = new ResolversFactory(\n\t\t\t\t\t\t\teventsQueryResolver,\n\t\t\t\t\t\t\tprocessBatchMutationResolver,\n\t\t\t\t\t\t\tvariablesQueryResolver,\n\t\t\t\t\t\t\tsetVariablesMutationResolver,\n\t\t\t\t\t\t\tnew RetryEventMutationResolver(actions_eventRepository),\n\t\t\t\t\t\t\tnew StopEventMutationResolver(actions_eventRepository),\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\tconst actionsContextResolver = new ActionsContextResolver(debugMode, projectContextResolver)\n\t\t\t\t\t\tconst actionsMiddlewareFactory = new ActionsApiMiddlewareFactory(\n\t\t\t\t\t\t\tactionsContextResolver,\n\t\t\t\t\t\t\thandlerFactory.create(resolversFactory),\n\t\t\t\t\t\t\tactions_authorizator,\n\t\t\t\t\t\t)\n\t\t\t\t\t\tconst actionsWebsocketMiddlewareFactory = new ActionsWebsocketControllerFactory(\n\t\t\t\t\t\t\tdebugMode,\n\t\t\t\t\t\t\tactionsContextResolver,\n\t\t\t\t\t\t\tactions_dispatchWorkerSupervisorFactory,\n\t\t\t\t\t\t)\n\t\t\t\t\t\tit.addRoute('actions', '/actions/:projectSlug', actionsMiddlewareFactory.create())\n\t\t\t\t\t\tit.addWebsocketRoute('actions', '/actions/_worker', actionsWebsocketMiddlewareFactory.create())\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t\t.setupService('applicationWorkers', (it, { actions_dispatchWorkerSupervisorFactory, projectGroupContainer, serverConfig }) => {\n\t\t\t\t\tif (!(serverConfig as any).projectGroup) {\n\t\t\t\t\t\tit.registerWorker(this.name, actions_dispatchWorkerSupervisorFactory.create(projectGroupContainer))\n\t\t\t\t\t}\n\t\t\t\t}) as unknown as MasterContainerBuilder\n\t\t}\n\t\treturn hook\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAqB,cAAgC;AAAA,EAArD,cAAA;AACC,kBAAA,MAAA,QAAO,mBAAA;AAAA,EAAA;AAAA,EAEP,sBAAsC;AACrC,WAAO;AAAA,EACR;AAAA,EAEA,4BAA4B;AAC3B,UAAM,cAAc,IAAI,qCAAqC,IAAI,uBAAuB;AACxF,WAAO,YAAY,OAAA;AAAA,EACpB;AAAA,EAEA,yBAAyB;AACxB,UAAM,OAA4B,CAAC,YAAoC;AACtE,aAAO,QACL,WAAW,2BAA2B,MAAM;AAC5C,eAAO,IAAI,iBAAA;AAAA,MACZ,CAAC,EACA,WAAW,2BAA2B,MAAM;AAC5C,eAAO,IAAI,iBAAA;AAAA,MACZ,CAAC,EACA,WAAW,2BAA2B,CAAC,EAAE,yBAAyB,8BAA8B;AAChG,cAAM,uBAAuB,IAAI,qBAAqB,IAAI,sBAAsB;AAChF,cAAM,wBAAwB,IAAI,sBAAsB,oBAAoB;AAC5E,eAAO,IAAI,gBAAgB,yBAAyB,yBAAyB,qBAAqB;AAAA,MACnG,CAAC,EACA,WAAW,2CAA2C,CAAC,EAAE,8BAA8B;AACvF,cAAM,2BAA2B,IAAI,yBAAyB,uBAAuB;AACrF,eAAO,IAAI,gCAAgC,wBAAwB;AAAA,MACpE,CAAC,EACA,WAAW,wBAAwB,MAAM;AACzC,eAAO,IAAI,aAAa,QAAQ,IAAI,gBAAgB,oBAAoB,IAAI,0BAAA,EAA4B,OAAA,CAAQ,CAAC;AAAA,MAClH,CAAC,EACA;AAAA,QACA;AAAA,QACA,CACC,IACA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA,MAEG;AACJ,gBAAM,iBAAiB,IAAI,6BAAA;AAC3B,gBAAM,sBAAsB,IAAI,oBAAA;AAChC,gBAAM,+BAA+B,IAAI,6BAA6B,uBAAuB;AAC7F,gBAAM,yBAAyB,IAAI,uBAAuB,uBAAuB;AACjF,gBAAM,+BAA+B,IAAI,6BAA6B,uBAAuB;AAC7F,gBAAM,mBAAmB,IAAI;AAAA,YAC5B;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,IAAI,2BAA2B,uBAAuB;AAAA,YACtD,IAAI,0BAA0B,uBAAuB;AAAA,UAAA;AAGtD,gBAAM,yBAAyB,IAAI,uBAAuB,WAAW,sBAAsB;AAC3F,gBAAM,2BAA2B,IAAI;AAAA,YACpC;AAAA,YACA,eAAe,OAAO,gBAAgB;AAAA,YACtC;AAAA,UAAA;AAED,gBAAM,oCAAoC,IAAI;AAAA,YAC7C;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAED,aAAG,SAAS,WAAW,yBAAyB,yBAAyB,QAAQ;AACjF,aAAG,kBAAkB,WAAW,oBAAoB,kCAAkC,QAAQ;AAAA,QAC/F;AAAA,MAAA,EAEA,aAAa,sBAAsB,CAAC,IAAI,EAAE,yCAAyC,uBAAuB,mBAAmB;AAC7H,YAAI,CAAE,aAAqB,cAAc;AACxC,aAAG,eAAe,KAAK,MAAM,wCAAwC,OAAO,qBAAqB,CAAC;AAAA,QACnG;AAAA,MACD,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACR;AACD;"}
|
|
@@ -12,17 +12,29 @@ class ActionsExecutionContainerHookFactory {
|
|
|
12
12
|
}
|
|
13
13
|
create() {
|
|
14
14
|
return (builder) => {
|
|
15
|
-
return builder.setupService(
|
|
16
|
-
mapperFactory
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
15
|
+
return builder.setupService(
|
|
16
|
+
"mapperFactory",
|
|
17
|
+
(mapperFactory, { whereBuilder, schema, pathFactory, systemSchema, providers, stage, project, schemaMeta, joinBuilder, userInfo }) => {
|
|
18
|
+
mapperFactory.hooks.push((mapper) => {
|
|
19
|
+
const triggerPayloadPersister = new TriggerPayloadPersister.TriggerPayloadPersister(
|
|
20
|
+
mapper,
|
|
21
|
+
mapper.db.forSchema(systemSchema),
|
|
22
|
+
providers,
|
|
23
|
+
project.slug,
|
|
24
|
+
stage.id,
|
|
25
|
+
schemaMeta.id,
|
|
26
|
+
mapper.identityId,
|
|
27
|
+
userInfo
|
|
28
|
+
);
|
|
29
|
+
const triggerPayloadBuilder = new TriggerPayloadBuilder.TriggerPayloadBuilder(mapper);
|
|
30
|
+
const payloadManager = new TriggerPayloadManager.TriggerPayloadManager(triggerPayloadBuilder, triggerPayloadPersister);
|
|
31
|
+
const changesFetcher = new TriggerIndirectChangesFetcher.TriggerIndirectChangesFetcher(schema.model, mapper, whereBuilder, joinBuilder, pathFactory);
|
|
32
|
+
const listenersStore = this.listenerStoreProvider.getListenerStore(schema);
|
|
33
|
+
const triggerHandler = new TriggerHandler.TriggerHandler(payloadManager, listenersStore, changesFetcher);
|
|
34
|
+
triggerHandler.attach(mapper.eventManager);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
);
|
|
26
38
|
};
|
|
27
39
|
}
|
|
28
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsExecutionContainerHookFactory.cjs","sources":["../../../../packages/engine-actions/src/ActionsExecutionContainerHookFactory.ts"],"sourcesContent":["import { TriggerHandler, TriggerIndirectChangesFetcher, TriggerPayloadManager } from './triggers'\nimport { ListenerStoreProvider } from './ListenerStoreProvider'\nimport { TriggerPayloadBuilder } from './triggers/TriggerPayloadBuilder'\nimport { TriggerPayloadPersister } from './triggers/TriggerPayloadPersister'\nimport { ExecutionContainerHook } from '@contember/engine-content-api'\n\nexport class ActionsExecutionContainerHookFactory {\n\tconstructor(\n\t\tprivate readonly listenerStoreProvider: ListenerStoreProvider,\n\t) {\n\t}\n\n\tcreate(): ExecutionContainerHook {\n\t\treturn builder => {\n\t\t\treturn builder.setupService('mapperFactory'
|
|
1
|
+
{"version":3,"file":"ActionsExecutionContainerHookFactory.cjs","sources":["../../../../packages/engine-actions/src/ActionsExecutionContainerHookFactory.ts"],"sourcesContent":["import { TriggerHandler, TriggerIndirectChangesFetcher, TriggerPayloadManager } from './triggers'\nimport { ListenerStoreProvider } from './ListenerStoreProvider'\nimport { TriggerPayloadBuilder } from './triggers/TriggerPayloadBuilder'\nimport { TriggerPayloadPersister } from './triggers/TriggerPayloadPersister'\nimport { ExecutionContainerHook } from '@contember/engine-content-api'\n\nexport class ActionsExecutionContainerHookFactory {\n\tconstructor(\n\t\tprivate readonly listenerStoreProvider: ListenerStoreProvider,\n\t) {\n\t}\n\n\tcreate(): ExecutionContainerHook {\n\t\treturn builder => {\n\t\t\treturn builder.setupService(\n\t\t\t\t'mapperFactory',\n\t\t\t\t(mapperFactory, { whereBuilder, schema, pathFactory, systemSchema, providers, stage, project, schemaMeta, joinBuilder, userInfo }) => {\n\t\t\t\t\tmapperFactory.hooks.push(mapper => {\n\t\t\t\t\t\tconst triggerPayloadPersister = new TriggerPayloadPersister(\n\t\t\t\t\t\t\tmapper,\n\t\t\t\t\t\t\tmapper.db.forSchema(systemSchema),\n\t\t\t\t\t\t\tproviders,\n\t\t\t\t\t\t\tproject.slug,\n\t\t\t\t\t\t\tstage.id,\n\t\t\t\t\t\t\tschemaMeta.id,\n\t\t\t\t\t\t\tmapper.identityId,\n\t\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\t)\n\t\t\t\t\t\tconst triggerPayloadBuilder = new TriggerPayloadBuilder(mapper)\n\t\t\t\t\t\tconst payloadManager = new TriggerPayloadManager(triggerPayloadBuilder, triggerPayloadPersister)\n\t\t\t\t\t\tconst changesFetcher = new TriggerIndirectChangesFetcher(schema.model, mapper, whereBuilder, joinBuilder, pathFactory)\n\t\t\t\t\t\tconst listenersStore = this.listenerStoreProvider.getListenerStore(schema)\n\t\t\t\t\t\tconst triggerHandler = new TriggerHandler(payloadManager, listenersStore, changesFetcher)\n\t\t\t\t\t\ttriggerHandler.attach(mapper.eventManager)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t}\n}\n"],"names":["TriggerPayloadPersister","TriggerPayloadBuilder","TriggerPayloadManager","TriggerIndirectChangesFetcher","TriggerHandler"],"mappings":";;;;;;;;AAMO,MAAM,qCAAqC;AAAA,EACjD,YACkB,uBAChB;AADgB,SAAA,wBAAA;AAAA,EAElB;AAAA,EAEA,SAAiC;AAChC,WAAO,CAAA,YAAW;AACjB,aAAO,QAAQ;AAAA,QACd;AAAA,QACA,CAAC,eAAe,EAAE,cAAc,QAAQ,aAAa,cAAc,WAAW,OAAO,SAAS,YAAY,aAAa,eAAe;AACrI,wBAAc,MAAM,KAAK,CAAA,WAAU;AAClC,kBAAM,0BAA0B,IAAIA,wBAAAA;AAAAA,cACnC;AAAA,cACA,OAAO,GAAG,UAAU,YAAY;AAAA,cAChC;AAAA,cACA,QAAQ;AAAA,cACR,MAAM;AAAA,cACN,WAAW;AAAA,cACX,OAAO;AAAA,cACP;AAAA,YAAA;AAED,kBAAM,wBAAwB,IAAIC,sBAAAA,sBAAsB,MAAM;AAC9D,kBAAM,iBAAiB,IAAIC,4CAAsB,uBAAuB,uBAAuB;AAC/F,kBAAM,iBAAiB,IAAIC,8BAAAA,8BAA8B,OAAO,OAAO,QAAQ,cAAc,aAAa,WAAW;AACrH,kBAAM,iBAAiB,KAAK,sBAAsB,iBAAiB,MAAM;AACzE,kBAAM,iBAAiB,IAAIC,eAAAA,eAAe,gBAAgB,gBAAgB,cAAc;AACxF,2BAAe,OAAO,OAAO,YAAY;AAAA,UAC1C,CAAC;AAAA,QACF;AAAA,MAAA;AAAA,IAEF;AAAA,EACD;AACD;;"}
|
|
@@ -10,17 +10,29 @@ class ActionsExecutionContainerHookFactory {
|
|
|
10
10
|
}
|
|
11
11
|
create() {
|
|
12
12
|
return (builder) => {
|
|
13
|
-
return builder.setupService(
|
|
14
|
-
mapperFactory
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
return builder.setupService(
|
|
14
|
+
"mapperFactory",
|
|
15
|
+
(mapperFactory, { whereBuilder, schema, pathFactory, systemSchema, providers, stage, project, schemaMeta, joinBuilder, userInfo }) => {
|
|
16
|
+
mapperFactory.hooks.push((mapper) => {
|
|
17
|
+
const triggerPayloadPersister = new TriggerPayloadPersister(
|
|
18
|
+
mapper,
|
|
19
|
+
mapper.db.forSchema(systemSchema),
|
|
20
|
+
providers,
|
|
21
|
+
project.slug,
|
|
22
|
+
stage.id,
|
|
23
|
+
schemaMeta.id,
|
|
24
|
+
mapper.identityId,
|
|
25
|
+
userInfo
|
|
26
|
+
);
|
|
27
|
+
const triggerPayloadBuilder = new TriggerPayloadBuilder(mapper);
|
|
28
|
+
const payloadManager = new TriggerPayloadManager(triggerPayloadBuilder, triggerPayloadPersister);
|
|
29
|
+
const changesFetcher = new TriggerIndirectChangesFetcher(schema.model, mapper, whereBuilder, joinBuilder, pathFactory);
|
|
30
|
+
const listenersStore = this.listenerStoreProvider.getListenerStore(schema);
|
|
31
|
+
const triggerHandler = new TriggerHandler(payloadManager, listenersStore, changesFetcher);
|
|
32
|
+
triggerHandler.attach(mapper.eventManager);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
);
|
|
24
36
|
};
|
|
25
37
|
}
|
|
26
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsExecutionContainerHookFactory.js","sources":["../../../../packages/engine-actions/src/ActionsExecutionContainerHookFactory.ts"],"sourcesContent":["import { TriggerHandler, TriggerIndirectChangesFetcher, TriggerPayloadManager } from './triggers'\nimport { ListenerStoreProvider } from './ListenerStoreProvider'\nimport { TriggerPayloadBuilder } from './triggers/TriggerPayloadBuilder'\nimport { TriggerPayloadPersister } from './triggers/TriggerPayloadPersister'\nimport { ExecutionContainerHook } from '@contember/engine-content-api'\n\nexport class ActionsExecutionContainerHookFactory {\n\tconstructor(\n\t\tprivate readonly listenerStoreProvider: ListenerStoreProvider,\n\t) {\n\t}\n\n\tcreate(): ExecutionContainerHook {\n\t\treturn builder => {\n\t\t\treturn builder.setupService('mapperFactory'
|
|
1
|
+
{"version":3,"file":"ActionsExecutionContainerHookFactory.js","sources":["../../../../packages/engine-actions/src/ActionsExecutionContainerHookFactory.ts"],"sourcesContent":["import { TriggerHandler, TriggerIndirectChangesFetcher, TriggerPayloadManager } from './triggers'\nimport { ListenerStoreProvider } from './ListenerStoreProvider'\nimport { TriggerPayloadBuilder } from './triggers/TriggerPayloadBuilder'\nimport { TriggerPayloadPersister } from './triggers/TriggerPayloadPersister'\nimport { ExecutionContainerHook } from '@contember/engine-content-api'\n\nexport class ActionsExecutionContainerHookFactory {\n\tconstructor(\n\t\tprivate readonly listenerStoreProvider: ListenerStoreProvider,\n\t) {\n\t}\n\n\tcreate(): ExecutionContainerHook {\n\t\treturn builder => {\n\t\t\treturn builder.setupService(\n\t\t\t\t'mapperFactory',\n\t\t\t\t(mapperFactory, { whereBuilder, schema, pathFactory, systemSchema, providers, stage, project, schemaMeta, joinBuilder, userInfo }) => {\n\t\t\t\t\tmapperFactory.hooks.push(mapper => {\n\t\t\t\t\t\tconst triggerPayloadPersister = new TriggerPayloadPersister(\n\t\t\t\t\t\t\tmapper,\n\t\t\t\t\t\t\tmapper.db.forSchema(systemSchema),\n\t\t\t\t\t\t\tproviders,\n\t\t\t\t\t\t\tproject.slug,\n\t\t\t\t\t\t\tstage.id,\n\t\t\t\t\t\t\tschemaMeta.id,\n\t\t\t\t\t\t\tmapper.identityId,\n\t\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\t)\n\t\t\t\t\t\tconst triggerPayloadBuilder = new TriggerPayloadBuilder(mapper)\n\t\t\t\t\t\tconst payloadManager = new TriggerPayloadManager(triggerPayloadBuilder, triggerPayloadPersister)\n\t\t\t\t\t\tconst changesFetcher = new TriggerIndirectChangesFetcher(schema.model, mapper, whereBuilder, joinBuilder, pathFactory)\n\t\t\t\t\t\tconst listenersStore = this.listenerStoreProvider.getListenerStore(schema)\n\t\t\t\t\t\tconst triggerHandler = new TriggerHandler(payloadManager, listenersStore, changesFetcher)\n\t\t\t\t\t\ttriggerHandler.attach(mapper.eventManager)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAMO,MAAM,qCAAqC;AAAA,EACjD,YACkB,uBAChB;AADgB,SAAA,wBAAA;AAAA,EAElB;AAAA,EAEA,SAAiC;AAChC,WAAO,CAAA,YAAW;AACjB,aAAO,QAAQ;AAAA,QACd;AAAA,QACA,CAAC,eAAe,EAAE,cAAc,QAAQ,aAAa,cAAc,WAAW,OAAO,SAAS,YAAY,aAAa,eAAe;AACrI,wBAAc,MAAM,KAAK,CAAA,WAAU;AAClC,kBAAM,0BAA0B,IAAI;AAAA,cACnC;AAAA,cACA,OAAO,GAAG,UAAU,YAAY;AAAA,cAChC;AAAA,cACA,QAAQ;AAAA,cACR,MAAM;AAAA,cACN,WAAW;AAAA,cACX,OAAO;AAAA,cACP;AAAA,YAAA;AAED,kBAAM,wBAAwB,IAAI,sBAAsB,MAAM;AAC9D,kBAAM,iBAAiB,IAAI,sBAAsB,uBAAuB,uBAAuB;AAC/F,kBAAM,iBAAiB,IAAI,8BAA8B,OAAO,OAAO,QAAQ,cAAc,aAAa,WAAW;AACrH,kBAAM,iBAAiB,KAAK,sBAAsB,iBAAiB,MAAM;AACzE,kBAAM,iBAAiB,IAAI,eAAe,gBAAgB,gBAAgB,cAAc;AACxF,2BAAe,OAAO,OAAO,YAAY;AAAA,UAC1C,CAAC;AAAA,QACF;AAAA,MAAA;AAAA,IAEF;AAAA,EACD;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListenerStoreProvider.cjs","sources":["../../../../packages/engine-actions/src/ListenerStoreProvider.ts"],"sourcesContent":["import { TriggerListenersFactory, TriggerListenersStore } from './triggers'\nimport { Schema } from '@contember/schema'\n\nexport class ListenerStoreProvider {\n\tprivate listenersStoreCache = new WeakMap<Schema, TriggerListenersStore>()\n\n\tpublic getListenerStore(schema: Schema): TriggerListenersStore {\n\t\tconst currentStore = this.listenersStoreCache.get(schema)\n\t\tif (currentStore) {\n\t\t\treturn currentStore\n\t\t}\n\t\tconst listenersFactory = new TriggerListenersFactory(schema)\n\t\tconst newStore = listenersFactory.create()\n\t\tthis.listenersStoreCache.set(schema, newStore)\n\t\treturn newStore\n\t}\n}\n"],"names":["TriggerListenersFactory"],"mappings":";;;;;;;;AAGO,MAAM,sBAAsB;AAAA,EAA5B,cAAA;
|
|
1
|
+
{"version":3,"file":"ListenerStoreProvider.cjs","sources":["../../../../packages/engine-actions/src/ListenerStoreProvider.ts"],"sourcesContent":["import { TriggerListenersFactory, TriggerListenersStore } from './triggers'\nimport { Schema } from '@contember/schema'\n\nexport class ListenerStoreProvider {\n\tprivate listenersStoreCache = new WeakMap<Schema, TriggerListenersStore>()\n\n\tpublic getListenerStore(schema: Schema): TriggerListenersStore {\n\t\tconst currentStore = this.listenersStoreCache.get(schema)\n\t\tif (currentStore) {\n\t\t\treturn currentStore\n\t\t}\n\t\tconst listenersFactory = new TriggerListenersFactory(schema)\n\t\tconst newStore = listenersFactory.create()\n\t\tthis.listenersStoreCache.set(schema, newStore)\n\t\treturn newStore\n\t}\n}\n"],"names":["TriggerListenersFactory"],"mappings":";;;;;;;;AAGO,MAAM,sBAAsB;AAAA,EAA5B,cAAA;AACN,kBAAA,MAAQ,2CAA0B,QAAA,CAAuC;AAAA,EAAA;AAAA,EAElE,iBAAiB,QAAuC;AAC9D,UAAM,eAAe,KAAK,oBAAoB,IAAI,MAAM;AACxD,QAAI,cAAc;AACjB,aAAO;AAAA,IACR;AACA,UAAM,mBAAmB,IAAIA,wBAAAA,wBAAwB,MAAM;AAC3D,UAAM,WAAW,iBAAiB,OAAA;AAClC,SAAK,oBAAoB,IAAI,QAAQ,QAAQ;AAC7C,WAAO;AAAA,EACR;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListenerStoreProvider.js","sources":["../../../../packages/engine-actions/src/ListenerStoreProvider.ts"],"sourcesContent":["import { TriggerListenersFactory, TriggerListenersStore } from './triggers'\nimport { Schema } from '@contember/schema'\n\nexport class ListenerStoreProvider {\n\tprivate listenersStoreCache = new WeakMap<Schema, TriggerListenersStore>()\n\n\tpublic getListenerStore(schema: Schema): TriggerListenersStore {\n\t\tconst currentStore = this.listenersStoreCache.get(schema)\n\t\tif (currentStore) {\n\t\t\treturn currentStore\n\t\t}\n\t\tconst listenersFactory = new TriggerListenersFactory(schema)\n\t\tconst newStore = listenersFactory.create()\n\t\tthis.listenersStoreCache.set(schema, newStore)\n\t\treturn newStore\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAGO,MAAM,sBAAsB;AAAA,EAA5B,cAAA;
|
|
1
|
+
{"version":3,"file":"ListenerStoreProvider.js","sources":["../../../../packages/engine-actions/src/ListenerStoreProvider.ts"],"sourcesContent":["import { TriggerListenersFactory, TriggerListenersStore } from './triggers'\nimport { Schema } from '@contember/schema'\n\nexport class ListenerStoreProvider {\n\tprivate listenersStoreCache = new WeakMap<Schema, TriggerListenersStore>()\n\n\tpublic getListenerStore(schema: Schema): TriggerListenersStore {\n\t\tconst currentStore = this.listenersStoreCache.get(schema)\n\t\tif (currentStore) {\n\t\t\treturn currentStore\n\t\t}\n\t\tconst listenersFactory = new TriggerListenersFactory(schema)\n\t\tconst newStore = listenersFactory.create()\n\t\tthis.listenersStoreCache.set(schema, newStore)\n\t\treturn newStore\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAGO,MAAM,sBAAsB;AAAA,EAA5B,cAAA;AACN,kBAAA,MAAQ,2CAA0B,QAAA,CAAuC;AAAA,EAAA;AAAA,EAElE,iBAAiB,QAAuC;AAC9D,UAAM,eAAe,KAAK,oBAAoB,IAAI,MAAM;AACxD,QAAI,cAAc;AACjB,aAAO;AAAA,IACR;AACA,UAAM,mBAAmB,IAAI,wBAAwB,MAAM;AAC3D,UAAM,WAAW,iBAAiB,OAAA;AAClC,SAAK,oBAAoB,IAAI,QAAQ,QAAQ;AAC7C,WAAO;AAAA,EACR;AACD;"}
|
|
@@ -11,5 +11,7 @@ exports.ActionsAuthorizationActions = void 0;
|
|
|
11
11
|
ActionsAuthorizationActions2.VARIABLES_SET = authorization.Authorizator.createAction("variables", "set");
|
|
12
12
|
ActionsAuthorizationActions2.EVENTS_VIEW = authorization.Authorizator.createAction("events", "view");
|
|
13
13
|
ActionsAuthorizationActions2.EVENTS_PROCESS = authorization.Authorizator.createAction("events", "process");
|
|
14
|
+
ActionsAuthorizationActions2.EVENTS_RETRY = authorization.Authorizator.createAction("events", "retry");
|
|
15
|
+
ActionsAuthorizationActions2.EVENTS_STOP = authorization.Authorizator.createAction("events", "stop");
|
|
14
16
|
})(exports.ActionsAuthorizationActions || (exports.ActionsAuthorizationActions = {}));
|
|
15
17
|
//# sourceMappingURL=ActionsAuthorizationActions.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsAuthorizationActions.cjs","sources":["../../../../../packages/engine-actions/src/authorization/ActionsAuthorizationActions.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\n\nexport namespace ActionsAuthorizationActions {\n\texport enum Resources {\n\t\tvariables = 'variables',\n\t\tevents = 'events',\n\t}\n\n\texport const VARIABLES_VIEW = Authorizator.createAction(Resources.variables, 'view')\n\texport const VARIABLES_SET = Authorizator.createAction(Resources.variables, 'set')\n\n\texport const EVENTS_VIEW = Authorizator.createAction(Resources.events, 'view')\n\texport const EVENTS_PROCESS = Authorizator.createAction(Resources.events, 'process')\n}\n"],"names":["ActionsAuthorizationActions","Resources","Authorizator"],"mappings":";;;AAEiBA,QAAAA,8BAAAA;AAAAA,CAAV,CAAUA,iCAAV;AACC,GAAA,CAAKC,eAAL;AACNA,eAAA,
|
|
1
|
+
{"version":3,"file":"ActionsAuthorizationActions.cjs","sources":["../../../../../packages/engine-actions/src/authorization/ActionsAuthorizationActions.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\n\nexport namespace ActionsAuthorizationActions {\n\texport enum Resources {\n\t\tvariables = 'variables',\n\t\tevents = 'events',\n\t}\n\n\texport const VARIABLES_VIEW = Authorizator.createAction(Resources.variables, 'view')\n\texport const VARIABLES_SET = Authorizator.createAction(Resources.variables, 'set')\n\n\texport const EVENTS_VIEW = Authorizator.createAction(Resources.events, 'view')\n\texport const EVENTS_PROCESS = Authorizator.createAction(Resources.events, 'process')\n\texport const EVENTS_RETRY = Authorizator.createAction(Resources.events, 'retry')\n\texport const EVENTS_STOP = Authorizator.createAction(Resources.events, 'stop')\n}\n"],"names":["ActionsAuthorizationActions","Resources","Authorizator"],"mappings":";;;AAEiBA,QAAAA,8BAAAA;AAAAA,CAAV,CAAUA,iCAAV;AACC,GAAA,CAAKC,eAAL;AACNA,eAAA,WAAA,IAAY;AACZA,eAAA,QAAA,IAAS;AAAA,EAAA,GAFED,6BAAA,cAAAA,6BAAA,YAAA,CAAA,EAAA;AAKCA,+BAAA,iBAAiBE,cAAAA,aAAa,aAAa,aAAqB,MAAM;AACtEF,+BAAA,gBAAgBE,cAAAA,aAAa,aAAa,aAAqB,KAAK;AAEpEF,+BAAA,cAAcE,cAAAA,aAAa,aAAa,UAAkB,MAAM;AAChEF,+BAAA,iBAAiBE,cAAAA,aAAa,aAAa,UAAkB,SAAS;AACtEF,+BAAA,eAAeE,cAAAA,aAAa,aAAa,UAAkB,OAAO;AAClEF,+BAAA,cAAcE,cAAAA,aAAa,aAAa,UAAkB,MAAM;AAAA,GAZ7DF,QAAAA,gCAAAA,sCAAA,CAAA,EAAA;"}
|
|
@@ -9,6 +9,8 @@ var ActionsAuthorizationActions;
|
|
|
9
9
|
ActionsAuthorizationActions2.VARIABLES_SET = Authorizator.createAction("variables", "set");
|
|
10
10
|
ActionsAuthorizationActions2.EVENTS_VIEW = Authorizator.createAction("events", "view");
|
|
11
11
|
ActionsAuthorizationActions2.EVENTS_PROCESS = Authorizator.createAction("events", "process");
|
|
12
|
+
ActionsAuthorizationActions2.EVENTS_RETRY = Authorizator.createAction("events", "retry");
|
|
13
|
+
ActionsAuthorizationActions2.EVENTS_STOP = Authorizator.createAction("events", "stop");
|
|
12
14
|
})(ActionsAuthorizationActions || (ActionsAuthorizationActions = {}));
|
|
13
15
|
export {
|
|
14
16
|
ActionsAuthorizationActions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsAuthorizationActions.js","sources":["../../../../../packages/engine-actions/src/authorization/ActionsAuthorizationActions.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\n\nexport namespace ActionsAuthorizationActions {\n\texport enum Resources {\n\t\tvariables = 'variables',\n\t\tevents = 'events',\n\t}\n\n\texport const VARIABLES_VIEW = Authorizator.createAction(Resources.variables, 'view')\n\texport const VARIABLES_SET = Authorizator.createAction(Resources.variables, 'set')\n\n\texport const EVENTS_VIEW = Authorizator.createAction(Resources.events, 'view')\n\texport const EVENTS_PROCESS = Authorizator.createAction(Resources.events, 'process')\n}\n"],"names":["ActionsAuthorizationActions","Resources"],"mappings":";
|
|
1
|
+
{"version":3,"file":"ActionsAuthorizationActions.js","sources":["../../../../../packages/engine-actions/src/authorization/ActionsAuthorizationActions.ts"],"sourcesContent":["import { Authorizator } from '@contember/authorization'\n\nexport namespace ActionsAuthorizationActions {\n\texport enum Resources {\n\t\tvariables = 'variables',\n\t\tevents = 'events',\n\t}\n\n\texport const VARIABLES_VIEW = Authorizator.createAction(Resources.variables, 'view')\n\texport const VARIABLES_SET = Authorizator.createAction(Resources.variables, 'set')\n\n\texport const EVENTS_VIEW = Authorizator.createAction(Resources.events, 'view')\n\texport const EVENTS_PROCESS = Authorizator.createAction(Resources.events, 'process')\n\texport const EVENTS_RETRY = Authorizator.createAction(Resources.events, 'retry')\n\texport const EVENTS_STOP = Authorizator.createAction(Resources.events, 'stop')\n}\n"],"names":["ActionsAuthorizationActions","Resources"],"mappings":";AAEO,IAAU;AAAA,CAAV,CAAUA,iCAAV;AACC,GAAA,CAAKC,eAAL;AACNA,eAAA,WAAA,IAAY;AACZA,eAAA,QAAA,IAAS;AAAA,EAAA,GAFED,6BAAA,cAAAA,6BAAA,YAAA,CAAA,EAAA;AAKCA,+BAAA,iBAAiB,aAAa,aAAa,aAAqB,MAAM;AACtEA,+BAAA,gBAAgB,aAAa,aAAa,aAAqB,KAAK;AAEpEA,+BAAA,cAAc,aAAa,aAAa,UAAkB,MAAM;AAChEA,+BAAA,iBAAiB,aAAa,aAAa,UAAkB,SAAS;AACtEA,+BAAA,eAAe,aAAa,aAAa,UAAkB,OAAO;AAClEA,+BAAA,cAAc,aAAa,aAAa,UAAkB,MAAM;AAAA,GAZ7D,gCAAA,8BAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsPermissionsFactory.cjs","sources":["../../../../../packages/engine-actions/src/authorization/ActionsPermissionsFactory.ts"],"sourcesContent":["import { Permissions } from '@contember/authorization'\nimport { ProjectRole } from '@contember/schema'\nimport { ActionsAuthorizationActions } from './ActionsAuthorizationActions'\n\nexport class ActionsPermissionsFactory {\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, ActionsAuthorizationActions.VARIABLES_SET)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, ActionsAuthorizationActions.VARIABLES_VIEW)\n\n\t\treturn permissions\n\t}\n}\n"],"names":["Permissions","ProjectRole","ActionsAuthorizationActions"],"mappings":";;;;;AAIO,MAAM,0BAA0B;AAAA,EAC/B,SAAsB;
|
|
1
|
+
{"version":3,"file":"ActionsPermissionsFactory.cjs","sources":["../../../../../packages/engine-actions/src/authorization/ActionsPermissionsFactory.ts"],"sourcesContent":["import { Permissions } from '@contember/authorization'\nimport { ProjectRole } from '@contember/schema'\nimport { ActionsAuthorizationActions } from './ActionsAuthorizationActions'\n\nexport class ActionsPermissionsFactory {\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, ActionsAuthorizationActions.VARIABLES_SET)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, ActionsAuthorizationActions.VARIABLES_VIEW)\n\n\t\treturn permissions\n\t}\n}\n"],"names":["Permissions","ProjectRole","ActionsAuthorizationActions"],"mappings":";;;;;AAIO,MAAM,0BAA0B;AAAA,EAC/B,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,4BAAAA,4BAA4B,aAAa;AACjF,gBAAY,MAAMD,OAAAA,YAAY,UAAUC,4BAAAA,4BAA4B,cAAc;AAElF,WAAO;AAAA,EACR;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsPermissionsFactory.js","sources":["../../../../../packages/engine-actions/src/authorization/ActionsPermissionsFactory.ts"],"sourcesContent":["import { Permissions } from '@contember/authorization'\nimport { ProjectRole } from '@contember/schema'\nimport { ActionsAuthorizationActions } from './ActionsAuthorizationActions'\n\nexport class ActionsPermissionsFactory {\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, ActionsAuthorizationActions.VARIABLES_SET)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, ActionsAuthorizationActions.VARIABLES_VIEW)\n\n\t\treturn permissions\n\t}\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,0BAA0B;AAAA,EAC/B,SAAsB;
|
|
1
|
+
{"version":3,"file":"ActionsPermissionsFactory.js","sources":["../../../../../packages/engine-actions/src/authorization/ActionsPermissionsFactory.ts"],"sourcesContent":["import { Permissions } from '@contember/authorization'\nimport { ProjectRole } from '@contember/schema'\nimport { ActionsAuthorizationActions } from './ActionsAuthorizationActions'\n\nexport class ActionsPermissionsFactory {\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, ActionsAuthorizationActions.VARIABLES_SET)\n\t\tpermissions.allow(ProjectRole.DEPLOYER, ActionsAuthorizationActions.VARIABLES_VIEW)\n\n\t\treturn permissions\n\t}\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,0BAA0B;AAAA,EAC/B,SAAsB;AAC5B,UAAM,cAAc,IAAI,YAAA;AACxB,gBAAY,MAAM,YAAY,OAAO,EAAE,UAAU,YAAY,KAAK,WAAW,YAAY,IAAA,CAAK;AAC9F,gBAAY,MAAM,YAAY,UAAU,4BAA4B,aAAa;AACjF,gBAAY,MAAM,YAAY,UAAU,4BAA4B,cAAc;AAElF,WAAO;AAAA,EACR;AACD;"}
|
|
@@ -63,21 +63,23 @@ class DispatchWorkerSupervisor {
|
|
|
63
63
|
throw e;
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
|
-
const projectTracker = new engineCommon.Supervisor(
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
66
|
+
const projectTracker = new engineCommon.Supervisor(
|
|
67
|
+
new Database.AcquiringListener(
|
|
68
|
+
tenantContainer.databaseContext.client,
|
|
69
|
+
"project_updated",
|
|
70
|
+
async () => {
|
|
71
|
+
logger.debug("Project config change detected, reloading dispatch workers");
|
|
72
|
+
await endProjectWorkers();
|
|
73
|
+
try {
|
|
74
|
+
await startWorkers(true);
|
|
75
|
+
} catch (e) {
|
|
76
|
+
logger.error(e, { message: "Dispatch workers reload failed, terminating" });
|
|
77
|
+
await endAll();
|
|
78
|
+
onError(e);
|
|
79
|
+
}
|
|
78
80
|
}
|
|
79
|
-
|
|
80
|
-
)
|
|
81
|
+
)
|
|
82
|
+
);
|
|
81
83
|
const runningProjectTracker = await projectTracker.run({
|
|
82
84
|
logger,
|
|
83
85
|
onError: () => {
|