joola.io.engine
Version:
joola.io's Framework Engine
105 lines (98 loc) • 3.05 kB
JavaScript
/**
* 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);
}
}
};