diff --git a/packages/api/src/utility/cloudUpgrade.js b/packages/api/src/utility/cloudUpgrade.js index e9844eca0..00520ba2e 100644 --- a/packages/api/src/utility/cloudUpgrade.js +++ b/packages/api/src/utility/cloudUpgrade.js @@ -1,74 +1,3 @@ -const axios = require('axios'); -const fs = require('fs'); -const fsp = require('fs/promises'); -const semver = require('semver'); -const currentVersion = require('../currentVersion'); -const { getLogger, extractErrorLogData } = require('dbgate-tools'); -const { storageReadConfig } = require('../controllers/storageDb'); - -const logger = getLogger('cloudUpgrade'); - -async function checkCloudUpgrade() { - try { - if (process.env.STORAGE_DATABASE) { - const settings = await storageReadConfig('settings'); - if (settings['cloud.useAutoUpgrade'] != 1) { - // auto-upgrade not allowed - return; - } - } - - const resp = await axios.default.get('https://api.github.com/repos/dbgate/dbgate/releases/latest'); - const json = resp.data; - const version = json.name.substring(1); - let cloudDownloadedVersion = null; - try { - cloudDownloadedVersion = await fsp.readFile(process.env.CLOUD_UPGRADE_FILE + '.version', 'utf-8'); - } catch (err) { - cloudDownloadedVersion = null; - } - if ( - semver.gt(version, currentVersion.version) && - (!cloudDownloadedVersion || semver.gt(version, cloudDownloadedVersion)) - ) { - logger.info(`New version available: ${version}`); - const zipUrl = json.assets.find(x => x.name == 'cloud-build.zip').browser_download_url; - - const writer = fs.createWriteStream(process.env.CLOUD_UPGRADE_FILE); - - const response = await axios.default({ - url: zipUrl, - method: 'GET', - responseType: 'stream', - }); - - response.data.pipe(writer); - - await new Promise((resolve, reject) => { - writer.on('finish', resolve); - writer.on('error', reject); - }); - await fsp.writeFile(process.env.CLOUD_UPGRADE_FILE + '.version', version); - - logger.info(`Downloaded new version from ${zipUrl}`); - } else { - logger.info( - `Checked version ${version} is not newer than ${ - cloudDownloadedVersion ?? currentVersion.version - }, upgrade skippped` - ); - } - } catch (err) { - logger.error(extractErrorLogData(err), 'Error checking cloud upgrade'); - } -} - -function startCloudUpgradeTimer() { - // at first in 5 seconds - setTimeout(checkCloudUpgrade, 5000); - - // hourly - setInterval(checkCloudUpgrade, 60 * 60 * 1000); -} +function startCloudUpgradeTimer() {} module.exports = startCloudUpgradeTimer;