From acb0bd47af7a19c83087b90f429fbfd0b5db8f5c Mon Sep 17 00:00:00 2001 From: Rishabh Garg Date: Mon, 21 Jun 2021 17:59:20 +0530 Subject: [PATCH] Added sentry config to frontend site settings for Portal (#13086) no refs - adds sentry config for portal when available to integrate error handling --- core/server/services/members/middleware.js | 10 ++++++++++ core/shared/config/defaults.json | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/core/server/services/members/middleware.js b/core/server/services/members/middleware.js index fde4067de9..87b275ce84 100644 --- a/core/server/services/members/middleware.js +++ b/core/server/services/members/middleware.js @@ -6,6 +6,7 @@ const ghostVersion = require('@tryghost/version'); const settingsCache = require('../settings/cache'); const {formattedMemberResponse} = require('./utils'); const labsService = require('../labs'); +const config = require('../../../shared/config'); // @TODO: This piece of middleware actually belongs to the frontend, not to the member app // Need to figure a way to separate these things (e.g. frontend actually talks to members API) @@ -124,6 +125,8 @@ const getMemberSiteData = async function (req, res) { supportAddress = `${supportAddress}@${blogDomain}`; } const {products = [], prices = []} = await getPortalProductPrices() || {}; + const portalVersion = config.get('portal:version'); + const response = { title: settingsCache.get('title'), description: settingsCache.get('description'), @@ -132,6 +135,7 @@ const getMemberSiteData = async function (req, res) { accent_color: settingsCache.get('accent_color'), url: urlUtils.urlFor('home', true), version: ghostVersion.safe, + portal_version: portalVersion, free_price_name: settingsCache.get('members_free_price_name'), free_price_description: settingsCache.get('members_free_price_description'), allow_self_signup: membersService.config.getAllowSelfSignup(), @@ -151,6 +155,12 @@ const getMemberSiteData = async function (req, res) { if (labsService.isSet('multipleProducts')) { response.portal_products = settingsCache.get('portal_products'); } + if (config.get('portal_sentry') && !config.get('portal_sentry').disabled) { + response.portal_sentry = { + sentry_dsn: config.get('portal_sentry').dsn, + sentry_env: config.get('env') + }; + } res.json({site: response}); }; diff --git a/core/shared/config/defaults.json b/core/shared/config/defaults.json index 5da7a3deb9..b66259727c 100644 --- a/core/shared/config/defaults.json +++ b/core/shared/config/defaults.json @@ -122,6 +122,6 @@ }, "portal": { "url": "https://unpkg.com/@tryghost/portal@~1.6.0/umd/portal.min.js", - "version": "~1.6.0" + "version": "1.6" } }