diff --git a/ghost/core/core/boot.js b/ghost/core/core/boot.js index 6ab851dd8f..21a27e93ca 100644 --- a/ghost/core/core/boot.js +++ b/ghost/core/core/boot.js @@ -326,6 +326,7 @@ async function initServices({config}) { const slackNotifications = require('./server/services/slack-notifications'); const mediaInliner = require('./server/services/media-inliner'); const collections = require('./server/services/collections'); + const modelToDomainEventInterceptor = require('./server/services/model-to-domain-event-interceptor'); const mailEvents = require('./server/services/mail-events'); const donationService = require('./server/services/donations'); @@ -365,6 +366,7 @@ async function initServices({config}) { emailSuppressionList.init(), slackNotifications.init(), collections.init(), + modelToDomainEventInterceptor.init(), mediaInliner.init(), mailEvents.init(), donationService.init() diff --git a/ghost/core/core/server/services/collections/service.js b/ghost/core/core/server/services/collections/service.js index 32d7ed6c7c..db50168f3a 100644 --- a/ghost/core/core/server/services/collections/service.js +++ b/ghost/core/core/server/services/collections/service.js @@ -36,7 +36,6 @@ class CollectionsServiceWrapper { } inited = true; this.api.subscribeToEvents(); - require('./intercept-events')(); } } diff --git a/ghost/core/core/server/services/collections/intercept-events.js b/ghost/core/core/server/services/model-to-domain-event-interceptor/index.js similarity index 77% rename from ghost/core/core/server/services/collections/intercept-events.js rename to ghost/core/core/server/services/model-to-domain-event-interceptor/index.js index 4020d9abb8..e40077eced 100644 --- a/ghost/core/core/server/services/collections/intercept-events.js +++ b/ghost/core/core/server/services/model-to-domain-event-interceptor/index.js @@ -1,4 +1,11 @@ -module.exports = () => { +let inited = false; + +module.exports.init = async () => { + if (inited) { + return; + } + inited = true; + const DomainEvents = require('@tryghost/domain-events/lib/DomainEvents'); const {ModelToDomainEventInterceptor} = require('@tryghost/model-to-domain-event-interceptor'); const events = require('../../lib/common/events'); @@ -6,5 +13,6 @@ module.exports = () => { ModelEvents: events, DomainEvents: DomainEvents }); + eventInterceptor.init(); };