From 405d3417a26109f1b476e8b4244fd3ee708d51dd Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Mon, 1 Sep 2025 01:20:12 +0300 Subject: [PATCH] [feature] Add install:AdminPanel instructions; Fix info.json --- AdminPanel/server/sources/server.js | 20 ++++++++++++++++++-- package.json | 2 ++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/AdminPanel/server/sources/server.js b/AdminPanel/server/sources/server.js index a2e6e234..212d7427 100644 --- a/AdminPanel/server/sources/server.js +++ b/AdminPanel/server/sources/server.js @@ -14,6 +14,7 @@ try { const config = moduleReloader.requireConfigWithRuntime(); const operationContext = require('../../../Common/sources/operationContext'); const tenantManager = require('../../../Common/sources/tenantManager'); +const license = require('../../../Common/sources/license'); const utils = require('../../../Common/sources/utils'); const commonDefines = require('../../../Common/sources/commondefines'); @@ -30,6 +31,22 @@ app.disable('x-powered-by'); const server = http.createServer(app); +// Initialize license on startup +(async () => { + try { + let licenseFile; + try { + licenseFile = config.get('license.license_file'); + } catch (_) { + licenseFile = null; + } + const [info, original] = await license.readLicense(licenseFile); + tenantManager.setDefLicense(info, original); + } catch (e) { + operationContext.global.logger.warn('License init error: %s', e.message); + } +})(); + const corsWithCredentials = cors({ origin: true, credentials: true, @@ -73,8 +90,7 @@ app.get('/info/info.json', cors(), utils.checkClientIp, async (req, res) => { } catch (e) { ctx.logger && ctx.logger.warn('info.json error: %s', e.stack); } finally { - res.setHeader('Content-Type', 'application/json'); - res.send(JSON.stringify(output)); + res.json(output); } }); diff --git a/package.json b/package.json index 97ce66f3..da8b2a91 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,8 @@ "install:DocService": "npm ci --prefix ./DocService", "install:FileConverter": "npm ci --prefix ./FileConverter", "install:Metrics": "npm ci --prefix ./Metrics", + "install:AdminPanel/server": "npm ci --prefix ./AdminPanel/server", + "install:AdminPanel/client": "npm ci --prefix ./AdminPanel/client", "3d-party-lic-json:Common": "license-report --output=json --package=./Common/package.json --config ./3d-party-lic-report/license-report-config.json > ./3d-party-lic-report/license-report.json", "3d-party-lic-json:DocService": "license-report --output=json --package=./DocService/package.json --config ./3d-party-lic-report/license-report-config.json > ./3d-party-lic-report/license-report.json", "3d-party-lic-json:FileConverter": "license-report --output=json --package=./FileConverter/package.json --config ./3d-party-lic-report/license-report-config.json > ./3d-party-lic-report/license-report.json",