mirror of https://github.com/lissy93/dashy
Get conf.yml on client side
This commit is contained in:
parent
6553f1463d
commit
727f6b1fc0
11
server.js
11
server.js
|
@ -27,7 +27,6 @@ const rebuild = require('./services/rebuild-app'); // A script to programmatical
|
||||||
const systemInfo = require('./services/system-info'); // Basic system info, for resource widget
|
const systemInfo = require('./services/system-info'); // Basic system info, for resource widget
|
||||||
const sslServer = require('./services/ssl-server'); // TLS-enabled web server
|
const sslServer = require('./services/ssl-server'); // TLS-enabled web server
|
||||||
const corsProxy = require('./services/cors-proxy'); // Enables API requests to CORS-blocked services
|
const corsProxy = require('./services/cors-proxy'); // Enables API requests to CORS-blocked services
|
||||||
const getConf = require('./services/get-conf'); // Returns the configuration as a JSON object
|
|
||||||
|
|
||||||
/* Helper functions, and default config */
|
/* Helper functions, and default config */
|
||||||
const printMessage = require('./services/print-message'); // Function to print welcome msg on start
|
const printMessage = require('./services/print-message'); // Function to print welcome msg on start
|
||||||
|
@ -69,7 +68,7 @@ const method = (m, mw) => (req, res, next) => (req.method === m ? mw(req, res, n
|
||||||
const app = express()
|
const app = express()
|
||||||
// Serves up static files
|
// Serves up static files
|
||||||
.use(express.static(path.join(__dirname, 'dist')))
|
.use(express.static(path.join(__dirname, 'dist')))
|
||||||
.use(express.static(path.join(__dirname, 'public'), { index: 'initialization.html' }))
|
.use(express.static(path.join(__dirname, 'public')))
|
||||||
// Load middlewares for parsing JSON, and supporting HTML5 history routing
|
// Load middlewares for parsing JSON, and supporting HTML5 history routing
|
||||||
.use(express.json({ limit: '1mb' }))
|
.use(express.json({ limit: '1mb' }))
|
||||||
.use(history())
|
.use(history())
|
||||||
|
@ -117,14 +116,6 @@ const app = express()
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
res.end(JSON.stringify({ success: false, message: e }));
|
res.end(JSON.stringify({ success: false, message: e }));
|
||||||
}
|
}
|
||||||
})
|
|
||||||
// GET endpoint returns the app configuration
|
|
||||||
.use(ENDPOINTS.getConf, (req, res) => {
|
|
||||||
try {
|
|
||||||
res.end(JSON.stringify(getConf()));
|
|
||||||
} catch (e) {
|
|
||||||
res.end(JSON.stringify({ success: false, message: e }));
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
/* Create HTTP server from app on port, and print welcome message */
|
/* Create HTTP server from app on port, and print welcome message */
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import Vuex from 'vuex';
|
import Vuex from 'vuex';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
import yaml from 'js-yaml';
|
||||||
import Keys from '@/utils/StoreMutations';
|
import Keys from '@/utils/StoreMutations';
|
||||||
import ConfigAccumulator from '@/utils/ConfigAccumalator';
|
import ConfigAccumulator from '@/utils/ConfigAccumalator';
|
||||||
import { componentVisibility } from '@/utils/ConfigHelpers';
|
import { componentVisibility } from '@/utils/ConfigHelpers';
|
||||||
|
@ -9,7 +10,6 @@ import { applyItemId } from '@/utils/SectionHelpers';
|
||||||
import filterUserSections from '@/utils/CheckSectionVisibility';
|
import filterUserSections from '@/utils/CheckSectionVisibility';
|
||||||
import { InfoHandler, InfoKeys } from '@/utils/ErrorHandler';
|
import { InfoHandler, InfoKeys } from '@/utils/ErrorHandler';
|
||||||
import { isUserAdmin } from '@/utils/Auth';
|
import { isUserAdmin } from '@/utils/Auth';
|
||||||
import { serviceEndpoints } from '@/utils/defaults';
|
|
||||||
|
|
||||||
Vue.use(Vuex);
|
Vue.use(Vuex);
|
||||||
|
|
||||||
|
@ -280,7 +280,7 @@ const store = new Vuex.Store({
|
||||||
/* Called when app first loaded. Reads config and sets state */
|
/* Called when app first loaded. Reads config and sets state */
|
||||||
async [INITIALIZE_CONFIG]({ commit }) {
|
async [INITIALIZE_CONFIG]({ commit }) {
|
||||||
// Get the config file from the server and store it for use by the accumulator
|
// Get the config file from the server and store it for use by the accumulator
|
||||||
commit(SET_REMOTE_CONFIG, (await axios.get(serviceEndpoints.getConf)).data);
|
commit(SET_REMOTE_CONFIG, yaml.load((await axios.get('conf.yml')).data));
|
||||||
const deepCopy = (json) => JSON.parse(JSON.stringify(json));
|
const deepCopy = (json) => JSON.parse(JSON.stringify(json));
|
||||||
const config = deepCopy(new ConfigAccumulator().config());
|
const config = deepCopy(new ConfigAccumulator().config());
|
||||||
commit(SET_CONFIG, config);
|
commit(SET_CONFIG, config);
|
||||||
|
|
|
@ -42,7 +42,6 @@ module.exports = {
|
||||||
statusCheck: '/status-check',
|
statusCheck: '/status-check',
|
||||||
save: '/config-manager/save',
|
save: '/config-manager/save',
|
||||||
rebuild: '/config-manager/rebuild',
|
rebuild: '/config-manager/rebuild',
|
||||||
getConf: '/config-manager/get',
|
|
||||||
systemInfo: '/system-info',
|
systemInfo: '/system-info',
|
||||||
corsProxy: '/cors-proxy',
|
corsProxy: '/cors-proxy',
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue