From 16d2a9bf99c519411edb5290e0406040e8a4f113 Mon Sep 17 00:00:00 2001 From: "SPRINX0\\prochazka" Date: Mon, 14 Jul 2025 13:41:36 +0200 Subject: [PATCH] SYNC: renew license from set license page --- packages/api/src/controllers/config.js | 21 ++++++++++++++----- packages/web/src/EnterLicensePage.svelte | 2 +- .../web/src/widgets/SpecialPageLayout.svelte | 2 +- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/packages/api/src/controllers/config.js b/packages/api/src/controllers/config.js index a9862ffeb..5c1698c4d 100644 --- a/packages/api/src/controllers/config.js +++ b/packages/api/src/controllers/config.js @@ -209,7 +209,7 @@ module.exports = { }, saveLicenseKey_meta: true, - async saveLicenseKey({ licenseKey, forceSave = false }) { + async saveLicenseKey({ licenseKey, forceSave = false, tryToRenew = false }) { if (!forceSave) { const decoded = jwt.decode(licenseKey?.trim()); if (!decoded) { @@ -221,10 +221,21 @@ module.exports = { const { exp } = decoded; if (exp * 1000 < Date.now()) { - return { - status: 'error', - errorMessage: 'License key is expired', - }; + let renewed = false; + if (tryToRenew) { + const newLicenseKey = await tryToGetRefreshedLicense(licenseKey); + if (newLicenseKey.status == 'ok') { + licenseKey = newLicenseKey.token; + renewed = true; + } + } + + if (!renewed) { + return { + status: 'error', + errorMessage: 'License key is expired', + }; + } } } diff --git a/packages/web/src/EnterLicensePage.svelte b/packages/web/src/EnterLicensePage.svelte index 340dc6971..79fdf6104 100644 --- a/packages/web/src/EnterLicensePage.svelte +++ b/packages/web/src/EnterLicensePage.svelte @@ -50,7 +50,7 @@ on:click={async e => { sessionStorage.setItem('continueTrialConfirmed', '1'); const { licenseKey } = e.detail; - const resp = await apiCall('config/save-license-key', { licenseKey }); + const resp = await apiCall('config/save-license-key', { licenseKey, tryToRenew: true }); if (resp?.status == 'ok') { internalRedirectTo(isOneOfPage('admin-license') ? '/admin.html' : '/index.html'); } else { diff --git a/packages/web/src/widgets/SpecialPageLayout.svelte b/packages/web/src/widgets/SpecialPageLayout.svelte index c3fa045fa..71534d19b 100644 --- a/packages/web/src/widgets/SpecialPageLayout.svelte +++ b/packages/web/src/widgets/SpecialPageLayout.svelte @@ -84,7 +84,7 @@ } .wrap { - margin-top: 20vh; + margin-top: 5vh; } .heading {