mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-01-06 22:40:14 -05:00
42efa043d8
refs https://github.com/TryGhost/Team/issues/728 - This is continuation of the previous commit. TLDR: Passing only the necessary parameter data makes it easier to reason about what dependencies the UpdateCheckService has to deal with - Burned ghostVersion module passing in vafor of just one additional config parameter. Now the module along with unit tests can be easily extracted out of the codebase!
58 lines
1.9 KiB
JavaScript
58 lines
1.9 KiB
JavaScript
const _ = require('lodash');
|
|
|
|
const api = require('./api').v2;
|
|
const GhostMailer = require('./services/mail').GhostMailer;
|
|
const config = require('../shared/config');
|
|
const urlUtils = require('./../shared/url-utils');
|
|
|
|
const i18n = require('../shared/i18n');
|
|
const logging = require('../shared/logging');
|
|
const request = require('./lib/request');
|
|
const ghostVersion = require('./lib/ghost-version');
|
|
const UpdateCheckService = require('./update-check-service');
|
|
|
|
const ghostMailer = new GhostMailer();
|
|
let updateChecker;
|
|
|
|
module.exports = () => {
|
|
const allowedCheckEnvironments = ['development', 'production'];
|
|
|
|
// CASE: The check will not happen if your NODE_ENV is not in the allowed defined environments.
|
|
if (_.indexOf(allowedCheckEnvironments, process.env.NODE_ENV) === -1) {
|
|
return;
|
|
}
|
|
|
|
if (updateChecker === undefined) {
|
|
updateChecker = new UpdateCheckService({
|
|
api: {
|
|
settings: {
|
|
read: api.settings.read,
|
|
edit: api.settings.edit
|
|
},
|
|
posts: {
|
|
browse: api.posts.browse
|
|
},
|
|
users: {
|
|
browse: api.users.browse
|
|
}
|
|
},
|
|
config: {
|
|
mail: config.get('mail'),
|
|
env: config.get('env'),
|
|
databaseType: config.get('database').client,
|
|
checkEndpoint: config.get('updateCheck:url'),
|
|
isPrivacyDisabled: config.isPrivacyDisabled('useUpdateCheck'),
|
|
notificationGroups: this.config.get('notificationGroups'),
|
|
siteUrl: urlUtils.urlFor('home', true),
|
|
forceUpdate: config.get('updateCheck:forceUpdate'),
|
|
ghostVersion: ghostVersion.original
|
|
},
|
|
i18n,
|
|
logging,
|
|
request,
|
|
ghostMailer
|
|
});
|
|
}
|
|
|
|
updateChecker.check();
|
|
};
|