UNPKG

joola.io.engine

Version:
105 lines (98 loc) 3.05 kB
/** * joola.io * * Copyright Joola Smart Solutions, Ltd. <info@joo.la> * * Licensed under GNU General Public License 3.0 or later. * Some rights reserved. See LICENSE, AUTHORS. * * @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+> */ var router = require('./index'), auth = require('../lib/auth/validate'), cache = require('../lib/caching/manager'), _datasources = require('../lib/objects/datasources'), _datatables = require('../lib/objects/datatables'); var commonInputs = { required: [], optional: [] }; /** * Lists current status of the system. * * @method current * @return {Object} json object containing information about the system status. */ exports.index = exports.current = { name: 'status/current', description: 'i list the current status of the system', inputs: commonInputs, outputExample: {}, permission: 'access_system', run: function (req, res) { var status = joola.state; router.responseSuccess(status, req, res); } }; exports.systemStartDate = { name: 'status/systemStartDate', description: 'i return the system start date', inputs: commonInputs, outputExample: {}, permission: ['access_system'], run: function (req, res) { var response = {}; try { try { response.startDate = eval(joola.config.content.system.startdate); return router.responseSuccess(response, req, res); } catch (ex) { var datasource = _datasources.get(joola.config.content.system.datasource); var datatable = _datatables.get(joola.config.content.system.startdate); datatable.datasourceid = datasource.id; datatable.datasource = datasource; cache.minCacheDate(datatable, function (err, date) { response.startDate = date; return router.responseSuccess(response, req, res); }); } } catch (ex) { joola.logger.error('Exception status.systemStartDate: ' + ex.message); return router.responseError(ex, req, res); } } }; exports.systemEndDate = { name: 'status/systemEndDate', description: 'i return the system end date', inputs: commonInputs, outputExample: {}, permission: ['access_system'], run: function (req, res) { var response = {}; try { try { response.endDate = eval(joola.config.content.system.enddate); return router.responseSuccess(response, req, res); } catch (ex) { var datasource = _datasources.get(joola.config.content.system.datasource); var datatable = _datatables.get(joola.config.content.system.enddate); datatable.datasourceid = datasource.id; datatable.datasource = datasource; cache.maxCacheDate(datatable, function (err, date) { //date.addDays(-1); response.endDate = date; return router.responseSuccess(response, req, res); }); } } catch (ex) { joola.logger.error('Exception status.systemEndDate: ' + ex.message); return router.responseError(ex, req, res); } } };