From 72abda9f2932045553634bbc689bd62328ae67c3 Mon Sep 17 00:00:00 2001 From: Brian Gough Date: Mon, 24 Apr 2023 14:29:15 +0100 Subject: [PATCH] Merge pull request #12757 from overleaf/bg-clean-up-recurly-prices-script clean up recurly prices script GitOrigin-RevId: b9afa05a0931bb11fd9be2d9a92a6d4beaab2f7d --- .../web/scripts/recurly/recurly_prices.js | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/services/web/scripts/recurly/recurly_prices.js b/services/web/scripts/recurly/recurly_prices.js index c73f913488..e483f33bd6 100644 --- a/services/web/scripts/recurly/recurly_prices.js +++ b/services/web/scripts/recurly/recurly_prices.js @@ -45,7 +45,11 @@ async function getRecurlyPlanAddOns(plan) { }) const result = [] for await (const addOn of addOns.each()) { - result.push(addOn) + if (addOn.code === 'additional-license') { + result.push(addOn) + } else { + console.error('UNRECOGNISED ADD-ON CODE', plan.code, addOn.code) + } } return result } @@ -131,7 +135,17 @@ async function updatePlanAddOn(plan, localAddOn) { } const planCodeId = `code-${plan.code}` const addOnId = 'code-additional-license' - const originalPlanAddOn = await client.getPlanAddOn(planCodeId, addOnId) + let originalPlanAddOn + try { + originalPlanAddOn = await client.getPlanAddOn(planCodeId, addOnId) + } catch (error) { + if (error instanceof recurly.errors.NotFoundError) { + console.error('plan add-on not found', planCodeId, addOnId) + return + } else { + throw error + } + } const changes = _.differenceWith( localAddOn.currencies, originalPlanAddOn.currencies, @@ -146,7 +160,7 @@ async function updatePlanAddOn(plan, localAddOn) { const planAddOnUpdate = { currencies: localAddOn.currencies } try { if (DRY_RUN) { - console.error('skipping update to additional licencse for', planCodeId) + console.error('skipping update to additional license for', planCodeId) return } const newPlanAddOn = await client.updatePlanAddOn(