2022-04-22 10:29:55 +08:00
|
|
|
const APIVersionCompatibilityService = require('@tryghost/api-version-compatibility-service');
|
2022-04-22 14:52:00 +08:00
|
|
|
const VersionNotificationsDataService = require('@tryghost/version-notifications-data-service');
|
2022-05-02 16:00:15 +01:00
|
|
|
const versionMismatchHandler = require('@tryghost/mw-api-version-mismatch');
|
2022-04-28 14:58:43 +01:00
|
|
|
// const {GhostMailer} = require('../mail');
|
2022-04-22 14:52:00 +08:00
|
|
|
const settingsService = require('../../services/settings');
|
|
|
|
const models = require('../../models');
|
2022-04-28 14:58:43 +01:00
|
|
|
const logging = require('@tryghost/logging');
|
2022-04-22 10:29:55 +08:00
|
|
|
|
2022-05-02 16:00:15 +01:00
|
|
|
let serviceInstance;
|
|
|
|
|
2022-04-22 10:29:55 +08:00
|
|
|
const init = () => {
|
2022-04-28 14:58:43 +01:00
|
|
|
//const ghostMailer = new GhostMailer();
|
2022-04-22 14:52:00 +08:00
|
|
|
const versionNotificationsDataService = new VersionNotificationsDataService({
|
|
|
|
UserModel: models.User,
|
|
|
|
settingsService: settingsService.getSettingsBREADServiceInstance()
|
|
|
|
});
|
|
|
|
|
2022-05-02 16:00:15 +01:00
|
|
|
serviceInstance = new APIVersionCompatibilityService({
|
2022-04-22 10:29:55 +08:00
|
|
|
sendEmail: (options) => {
|
2022-04-22 12:58:22 +08:00
|
|
|
// NOTE: not using bind here because mockMailer is having trouble mocking bound methods
|
2022-04-28 14:58:43 +01:00
|
|
|
//return ghostMailer.send(options);
|
|
|
|
// For now log a warning, rather than sending an email
|
|
|
|
logging.warn(options.html);
|
2022-04-22 10:29:55 +08:00
|
|
|
},
|
2022-04-22 14:52:00 +08:00
|
|
|
fetchEmailsToNotify: versionNotificationsDataService.getNotificationEmails.bind(versionNotificationsDataService),
|
|
|
|
fetchHandled: versionNotificationsDataService.fetchNotification.bind(versionNotificationsDataService),
|
|
|
|
saveHandled: versionNotificationsDataService.saveNotification.bind(versionNotificationsDataService)
|
2022-04-22 10:29:55 +08:00
|
|
|
});
|
|
|
|
};
|
|
|
|
|
2022-05-02 16:00:15 +01:00
|
|
|
module.exports.errorHandler = (req, res, next) => {
|
|
|
|
return versionMismatchHandler(serviceInstance)(req, res, next);
|
|
|
|
};
|
2022-04-22 10:29:55 +08:00
|
|
|
module.exports.init = init;
|