app info is now logged after startup

This commit is contained in:
azivner 2017-11-21 00:25:53 -05:00
parent a3030f845b
commit 163a03663f
6 changed files with 40 additions and 26 deletions

View File

@ -15,6 +15,7 @@ const http = require('http');
const https = require('https'); const https = require('https');
const config = require('../services/config'); const config = require('../services/config');
const log = require('../services/log'); const log = require('../services/log');
const app_info = require('../services/app_info');
const port = normalizePort(config['Network']['port'] || '3000'); const port = normalizePort(config['Network']['port'] || '3000');
app.set('port', port); app.set('port', port);
@ -40,6 +41,8 @@ else {
log.info("App HTTP server starting up at port " + port); 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. * Listen on provided port, on all network interfaces.
*/ */

View File

@ -27,7 +27,9 @@ const settings = (function() {
tabsEl.tabs(); tabsEl.tabs();
for (const module of settingModules) { 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 appVersionEl = $("#app-version");
const dbVersionEl = $("#db-version"); const dbVersionEl = $("#db-version");
const buildDateEl = $("#build-date"); const buildDateEl = $("#build-date");
const buildRevisionEl = $("#build-revision"); const buildRevisionEl = $("#build-revision");
function settingsLoaded(settings) { const appInfo = await $.get(baseApiUrl + 'app-info');
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);
}
return { appVersionEl.html(appInfo.app_version);
settingsLoaded 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 {};
})()); })());

11
routes/api/app_info.js Normal file
View File

@ -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;

View File

@ -7,25 +7,13 @@ const options = require('../../services/options');
const audit_category = require('../../services/audit_category'); const audit_category = require('../../services/audit_category');
const auth = require('../../services/auth'); const auth = require('../../services/auth');
const utils = require('../../services/utils'); 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 // options allowed to be updated directly in settings dialog
const ALLOWED_OPTIONS = ['protected_session_timeout', 'history_snapshot_time_interval']; 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) => { router.get('/all', auth.checkApiAuth, async (req, res, next) => {
const settings = await sql.getMap("SELECT opt_name, opt_value FROM options"); const settings = await sql.getMap("SELECT opt_name, opt_value FROM options");
addExtraSettings(settings);
res.send(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 (" const settings = await sql.getMap("SELECT opt_name, opt_value FROM options WHERE opt_name IN ("
+ ALLOWED_OPTIONS.map(x => '?').join(",") + ")", ALLOWED_OPTIONS); + ALLOWED_OPTIONS.map(x => '?').join(",") + ")", ALLOWED_OPTIONS);
addExtraSettings(settings);
res.send(settings); res.send(settings);
}); });

View File

@ -17,6 +17,7 @@ const syncApiRoute = require('./api/sync');
const loginApiRoute = require('./api/login'); const loginApiRoute = require('./api/login');
const eventLogRoute = require('./api/event_log'); const eventLogRoute = require('./api/event_log');
const recentNotesRoute = require('./api/recent_notes'); const recentNotesRoute = require('./api/recent_notes');
const appInfoRoute = require('./api/app_info');
function register(app) { function register(app) {
app.use('/', indexRoute); app.use('/', indexRoute);
@ -37,6 +38,7 @@ function register(app) {
app.use('/api/login', loginApiRoute); app.use('/api/login', loginApiRoute);
app.use('/api/event-log', eventLogRoute); app.use('/api/event-log', eventLogRoute);
app.use('/api/recent-notes', recentNotesRoute); app.use('/api/recent-notes', recentNotesRoute);
app.use('/api/app-info', appInfoRoute);
} }
module.exports = { module.exports = {

12
services/app_info.js Normal file
View File

@ -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
};