From 656846018a5fe4e2eda0e88370692ec0b2c37425 Mon Sep 17 00:00:00 2001 From: Sag Date: Wed, 6 Mar 2024 22:14:17 +0100 Subject: [PATCH] Fixed tiers paywall selecting all paid tiers (#19817) refs INC-36 - oversight in parent commit 00cff0a --- .../api/endpoints/utils/serializers/output/mappers/posts.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ghost/core/core/server/api/endpoints/utils/serializers/output/mappers/posts.js b/ghost/core/core/server/api/endpoints/utils/serializers/output/mappers/posts.js index cef1588d64..6ab36cd8f0 100644 --- a/ghost/core/core/server/api/endpoints/utils/serializers/output/mappers/posts.js +++ b/ghost/core/core/server/api/endpoints/utils/serializers/output/mappers/posts.js @@ -62,10 +62,14 @@ module.exports = async (model, frame, options = {}) => { jsonModel.tiers = tiersData || []; } - if (['tiers', 'paid'].includes(jsonModel.visibility) && jsonModel.tiers) { + if (jsonModel.visibility === 'paid' && jsonModel.tiers) { jsonModel.tiers = tiersData ? tiersData.filter(t => t.type === 'paid') : []; } + if (jsonModel.visibility === 'tiers' && Array.isArray(jsonModel.tiers)) { + jsonModel.tiers = jsonModel.tiers.filter(t => t.type === 'paid'); + } + if (!['members', 'public', 'paid', 'tiers'].includes(jsonModel.visibility)) { const tiers = await postsService.getProductsFromVisibilityFilter(jsonModel.visibility);