From 163a03663ffebda1469e3f690c4a7a274b9b8bf7 Mon Sep 17 00:00:00 2001 From: azivner Date: Tue, 21 Nov 2017 00:25:53 -0500 Subject: [PATCH] app info is now logged after startup --- bin/www | 3 +++ public/javascripts/dialogs/settings.js | 24 ++++++++++++------------ routes/api/app_info.js | 11 +++++++++++ routes/api/settings.js | 14 -------------- routes/routes.js | 2 ++ services/app_info.js | 12 ++++++++++++ 6 files changed, 40 insertions(+), 26 deletions(-) create mode 100644 routes/api/app_info.js create mode 100644 services/app_info.js diff --git a/bin/www b/bin/www index 9d2f738c0..b08686707 100755 --- a/bin/www +++ b/bin/www @@ -15,6 +15,7 @@ const http = require('http'); const https = require('https'); const config = require('../services/config'); const log = require('../services/log'); +const app_info = require('../services/app_info'); const port = normalizePort(config['Network']['port'] || '3000'); app.set('port', port); @@ -40,6 +41,8 @@ else { log.info("App HTTP server starting up at port " + port); } +log.info(JSON.stringify(app_info, null, 2)); + /** * Listen on provided port, on all network interfaces. */ diff --git a/public/javascripts/dialogs/settings.js b/public/javascripts/dialogs/settings.js index 482a0d39f..95bd15bfe 100644 --- a/public/javascripts/dialogs/settings.js +++ b/public/javascripts/dialogs/settings.js @@ -27,7 +27,9 @@ const settings = (function() { tabsEl.tabs(); for (const module of settingModules) { - module.settingsLoaded(settings); + if (module.settingsLoaded) { + module.settingsLoaded(settings); + } } } @@ -151,21 +153,19 @@ settings.addModule((function () { }; })()); -settings.addModule((function () { +settings.addModule((async function () { const appVersionEl = $("#app-version"); const dbVersionEl = $("#db-version"); const buildDateEl = $("#build-date"); const buildRevisionEl = $("#build-revision"); - function settingsLoaded(settings) { - appVersionEl.html(settings.app_version); - dbVersionEl.html(settings.db_version); - buildDateEl.html(settings.build_date); - buildRevisionEl.html(settings.build_revision); - buildRevisionEl.attr('href', 'https://github.com/zadam/trilium/commit/' + settings.build_revision); - } + const appInfo = await $.get(baseApiUrl + 'app-info'); - return { - settingsLoaded - }; + appVersionEl.html(appInfo.app_version); + dbVersionEl.html(appInfo.db_version); + buildDateEl.html(appInfo.build_date); + buildRevisionEl.html(appInfo.build_revision); + buildRevisionEl.attr('href', 'https://github.com/zadam/trilium/commit/' + appInfo.build_revision); + + return {}; })()); \ No newline at end of file diff --git a/routes/api/app_info.js b/routes/api/app_info.js new file mode 100644 index 000000000..35a6e9842 --- /dev/null +++ b/routes/api/app_info.js @@ -0,0 +1,11 @@ +"use strict"; + +const express = require('express'); +const router = express.Router(); +const app_info = require('../../services/app_info'); + +router.get('', async (req, res, next) => { + res.send(app_info); +}); + +module.exports = router; \ No newline at end of file diff --git a/routes/api/settings.js b/routes/api/settings.js index db40e3f7d..a981e697c 100644 --- a/routes/api/settings.js +++ b/routes/api/settings.js @@ -7,25 +7,13 @@ const options = require('../../services/options'); const audit_category = require('../../services/audit_category'); const auth = require('../../services/auth'); const utils = require('../../services/utils'); -const build = require('../../services/build'); -const packageJson = require('../../package'); -const migration = require('../../services/migration'); // options allowed to be updated directly in settings dialog const ALLOWED_OPTIONS = ['protected_session_timeout', 'history_snapshot_time_interval']; -function addExtraSettings(settings) { - Object.assign(settings, build); - - settings['app_version'] = packageJson.version; - settings['db_version'] = migration.APP_DB_VERSION; -} - router.get('/all', auth.checkApiAuth, async (req, res, next) => { const settings = await sql.getMap("SELECT opt_name, opt_value FROM options"); - addExtraSettings(settings); - res.send(settings); }); @@ -33,8 +21,6 @@ router.get('/', auth.checkApiAuth, async (req, res, next) => { const settings = await sql.getMap("SELECT opt_name, opt_value FROM options WHERE opt_name IN (" + ALLOWED_OPTIONS.map(x => '?').join(",") + ")", ALLOWED_OPTIONS); - addExtraSettings(settings); - res.send(settings); }); diff --git a/routes/routes.js b/routes/routes.js index c917e8705..88c31eb33 100644 --- a/routes/routes.js +++ b/routes/routes.js @@ -17,6 +17,7 @@ const syncApiRoute = require('./api/sync'); const loginApiRoute = require('./api/login'); const eventLogRoute = require('./api/event_log'); const recentNotesRoute = require('./api/recent_notes'); +const appInfoRoute = require('./api/app_info'); function register(app) { app.use('/', indexRoute); @@ -37,6 +38,7 @@ function register(app) { app.use('/api/login', loginApiRoute); app.use('/api/event-log', eventLogRoute); app.use('/api/recent-notes', recentNotesRoute); + app.use('/api/app-info', appInfoRoute); } module.exports = { diff --git a/services/app_info.js b/services/app_info.js new file mode 100644 index 000000000..74bab1ec0 --- /dev/null +++ b/services/app_info.js @@ -0,0 +1,12 @@ +"use strict"; + +const build = require('./build'); +const packageJson = require('../package'); +const migration = require('./migration'); + +module.exports = { + app_version: packageJson.version, + db_version: migration.APP_DB_VERSION, + build_date: build.build_date, + build_revision: build.build_revision +}; \ No newline at end of file