diff --git a/core/server/services/api-version-compatibility/index.js b/core/server/services/api-version-compatibility/index.js index 975c0d8231..299a51e63f 100644 --- a/core/server/services/api-version-compatibility/index.js +++ b/core/server/services/api-version-compatibility/index.js @@ -1,12 +1,13 @@ +const routeMatch = require('path-match')(); const APIVersionCompatibilityService = require('@tryghost/api-version-compatibility-service'); const VersionNotificationsDataService = require('@tryghost/version-notifications-data-service'); const versionMismatchHandler = require('@tryghost/mw-api-version-mismatch'); const ghostVersion = require('@tryghost/version'); const {GhostMailer} = require('../mail'); const settingsService = require('../../services/settings'); -const urlUtils = require('../../../shared/url-utils'); const models = require('../../models'); -const routeMatch = require('path-match')(); +const urlUtils = require('../../../shared/url-utils'); +const settingsCache = require('../../../shared/settings-cache'); let serviceInstance; @@ -24,7 +25,9 @@ const init = () => { }, fetchEmailsToNotify: versionNotificationsDataService.getNotificationEmails.bind(versionNotificationsDataService), fetchHandled: versionNotificationsDataService.fetchNotification.bind(versionNotificationsDataService), - saveHandled: versionNotificationsDataService.saveNotification.bind(versionNotificationsDataService) + saveHandled: versionNotificationsDataService.saveNotification.bind(versionNotificationsDataService), + getSiteUrl: () => urlUtils.urlFor('home', true), + getSiteTitle: () => settingsCache.get('title') }); }; diff --git a/core/server/web/api/canary/content/app.js b/core/server/web/api/canary/content/app.js index c710e3adb3..e468622953 100644 --- a/core/server/web/api/canary/content/app.js +++ b/core/server/web/api/canary/content/app.js @@ -6,8 +6,7 @@ const sentry = require('../../../../../shared/sentry'); const shared = require('../../../shared'); const routes = require('./routes'); const errorHandler = require('@tryghost/mw-error-handler'); -const versionMissmatchHandler = require('@tryghost/mw-api-version-mismatch'); -const {APIVersionCompatibilityServiceInstance} = require('../../../../services/api-version-compatibility'); +const apiVersionCompatibility = require('../../../../services/api-version-compatibility'); module.exports = function setupApiApp() { debug('Content API canary setup start'); @@ -29,7 +28,7 @@ module.exports = function setupApiApp() { // API error handling apiApp.use(errorHandler.resourceNotFound); - apiApp.use(versionMissmatchHandler(APIVersionCompatibilityServiceInstance)); + apiApp.use(apiVersionCompatibility.errorHandler); apiApp.use(errorHandler.handleJSONResponse(sentry)); debug('Content API canary setup end'); diff --git a/package.json b/package.json index 177824e3e2..a910dbe8cd 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "@sentry/node": "6.19.7", "@tryghost/adapter-manager": "0.2.29", "@tryghost/admin-api-schema": "2.14.0", - "@tryghost/api-version-compatibility-service": "0.1.1", + "@tryghost/api-version-compatibility-service": "0.2.0", "@tryghost/bookshelf-plugins": "0.4.1", "@tryghost/bootstrap-socket": "0.2.18", "@tryghost/color-utils": "0.1.13", @@ -93,7 +93,7 @@ "@tryghost/members-stripe-service": "0.10.3", "@tryghost/metrics": "1.0.11", "@tryghost/minifier": "0.1.13", - "@tryghost/mw-api-version-mismatch": "0.1.1", + "@tryghost/mw-api-version-mismatch": "0.1.3", "@tryghost/mw-error-handler": "0.2.4", "@tryghost/mw-session-from-token": "0.1.30", "@tryghost/nodemailer": "0.3.22", diff --git a/yarn.lock b/yarn.lock index 5bccc06eef..a0cab72d3f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1727,10 +1727,12 @@ "@tryghost/errors" "^1.0.0" lodash "^4.17.11" -"@tryghost/api-version-compatibility-service@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@tryghost/api-version-compatibility-service/-/api-version-compatibility-service-0.1.1.tgz#037ec31a745f59577d531abc0e67558fb83b287e" - integrity sha512-NLpSqTQIP4be8keF8L9vwXtoFeiwldH/WNyieMlqjBWVnAEHVpdGqQzEpltDVkIrkti1T6jT2NP0OIddM3GMYQ== +"@tryghost/api-version-compatibility-service@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@tryghost/api-version-compatibility-service/-/api-version-compatibility-service-0.2.0.tgz#439cb89ab09f5af276ed2649ba9924122a960ffd" + integrity sha512-/i0zqxNhZ2yao0EtUiAdgOeEggXJDs+yyGwBP2Kzmt8cpe3hB7FnMvSSPfJDVGowhCEXWsKn4/SWwLB2AY1W3g== + dependencies: + "@tryghost/email-content-generator" "^0.1.1" "@tryghost/bookshelf-collision@^0.1.22": version "0.1.22" @@ -1937,6 +1939,13 @@ dependencies: html-to-text "^5.1.1" +"@tryghost/email-content-generator@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@tryghost/email-content-generator/-/email-content-generator-0.1.1.tgz#95bf2eb1cc8e3eb1c3c0e5d7d4950de30aa30811" + integrity sha512-FWtIrmCs3EU+RptoTCElTSoxf/HiAfdVe15tGJIQNArJ7OVAA9dQgHGIgXIiK6cvUYoE6KqxGKX15TJsyXc2rQ== + dependencies: + html-to-text "^5.1.1" + "@tryghost/errors@1.2.10": version "1.2.10" resolved "https://registry.yarnpkg.com/@tryghost/errors/-/errors-1.2.10.tgz#b01b16744986005784ffd6916eec48a3e93976a9" @@ -2296,10 +2305,10 @@ dependencies: lodash "^4.17.11" -"@tryghost/mw-api-version-mismatch@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@tryghost/mw-api-version-mismatch/-/mw-api-version-mismatch-0.1.1.tgz#913c8941ebe274eac4c3ac872fbe6268534f0003" - integrity sha512-N1H3P/ua7MCJTQrhFd6RjBFL95pjB+y3Ih1ZyKToBzicU3RShLUsgVlBC7YNaJVGFG/RYCImzlm09QCV8qwgpg== +"@tryghost/mw-api-version-mismatch@0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@tryghost/mw-api-version-mismatch/-/mw-api-version-mismatch-0.1.3.tgz#64304d65d6cf6c92cae270801be466c154932283" + integrity sha512-+J/s4KGnSGZ4LBQCzx2fvkkeyTqeOEJBcfUHOF5726r1L32wQnwJ+WVIS7KHNNPevGSXyZupG4jmyLZub9RGsw== "@tryghost/mw-error-handler@0.2.4": version "0.2.4"