diff --git a/src/appstore.js b/src/appstore.js index 9863c9f0d..975cbbc1c 100644 --- a/src/appstore.js +++ b/src/appstore.js @@ -3,8 +3,6 @@ exports = module.exports = { getFeatures, - checkSubscription, - getApiServerOrigin, getWebServerOrigin, getConsoleServerOrigin, @@ -20,6 +18,7 @@ exports = module.exports = { unlinkAccount, getSubscription, + checkSubscription, // cron hook isFreePlan, getAppUpdate, @@ -175,14 +174,6 @@ async function getState() { return state; } -async function checkSubscription() { - // getSubscription() also updates the feature cache - const [error, result] = await safe(getSubscription()); - if (error && error.reason !== BoxError.LICENSE_ERROR) return debug('Checking subscription failed:', error.reason, error.message); - - debug(`Checking subscription: Cloudron ${result.cloudronId} is on the ${result.plan.name} plan.`); -} - async function getApiServerOrigin() { return await settings.get(settings.API_SERVER_ORIGIN_KEY) || 'https://api.cloudron.io'; } @@ -229,6 +220,13 @@ async function getSubscription() { return response.body; } +// cron hook +async function checkSubscription() { + const [error, result] = await safe(getSubscription()); + if (error) debug('checkSubscription error:', error); + else debug(`checkSubscription: Cloudron ${result.cloudronId} is on the ${result.plan.name} plan.`); +} + function isFreePlan(subscription) { return !subscription || subscription.plan.id === 'free'; } @@ -322,6 +320,7 @@ async function registerCloudron3() { const token = await settings.get(settings.APPSTORE_API_TOKEN_KEY); if (token) { // when installed using setupToken, this updates the domain record when called during provisioning debug('registerCloudron3: already registered. Just updating the record.'); + await getSubscription(); return await updateCloudron({ domain, version }); } @@ -340,6 +339,8 @@ async function registerCloudron3() { await settings.set(settings.APPSTORE_API_TOKEN_KEY, response.body.cloudronToken); debug(`registerCloudron3: Cloudron registered with id ${response.body.cloudronId}`); + + await getSubscription(); } async function unlinkAccount() {