UNPKG

3.24 kBJavaScriptView Raw
1/**
2 * joola.io
3 *
4 * Copyright Joola Smart Solutions, Ltd. <info@joo.la>
5 *
6 * Licensed under GNU General Public License 3.0 or later.
7 * Some rights reserved. See LICENSE, AUTHORS.
8 *
9 * @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+>
10 */
11
12var
13 router = require('./index'),
14
15 auth = require('../lib/auth/validate'),
16 cache = require('../lib/caching/manager'),
17 _datasources = require('../lib/objects/datasources'),
18 _datatables = require('../lib/objects/datatables');
19
20var commonInputs = {
21 required: [],
22 optional: []
23};
24
25/**
26 * Lists current status of the system.
27 *
28 * @method current
29 * @return {Object} json object containing information about the system status.
30 */
31exports.index = exports.current = {
32 name: 'status/current',
33 description: 'i list the current status of the system',
34 inputs: commonInputs,
35 outputExample: {},
36 permission: 'access_system',
37 run: function (req, res) {
38 var status = joola.state;
39 router.responseSuccess(status, req, res);
40 }
41};
42
43exports.systemStartDate = {
44 name: 'status/systemStartDate',
45 description: 'i return the system start date',
46 inputs: commonInputs,
47 outputExample: {},
48 permission: ['access_system'],
49 run: function (req, res) {
50 var response = {};
51 try {
52 if (typeof(joola.config.content.system.startdate) == 'object') {
53 response.startDate = joola.config.content.system.startdate;
54 return router.responseSuccess(response, req, res);
55 }
56 else {
57 var datasource = _datasources.get(joola.config.content.system.datasource);
58 var datatable = _datatables.get(joola.config.content.system.startdate);
59 datatable.datasourceid = datasource.id;
60 datatable.datasource = datasource;
61 cache.minCacheDate(datatable, function (date) {
62 response.startDate = date;
63 return router.responseSuccess(response, req, res);
64 });
65 }
66 }
67 catch (ex) {
68 joola.logger.error('Exception status.systemStartDate: ' + ex.message);
69 return router.responseError(ex, req, res);
70 }
71 }
72};
73
74exports.systemEndDate = {
75 name: 'status/systemEndDate',
76 description: 'i return the system end date',
77 inputs: commonInputs,
78 outputExample: {},
79 permission: ['access_system'],
80 run: function (req, res) {
81 var response = {};
82 try {
83 if (typeof(joola.config.content.system.enddate ) == 'object') {
84 response.endDate = joola.config.content.system.enddate;
85 return router.responseSuccess(response, req, res);
86 }
87 else {
88 var datasource = _datasources.get(joola.config.content.system.datasource);
89 var datatable = _datatables.get(joola.config.content.system.enddate);
90 datatable.datasourceid = datasource.id;
91 datatable.datasource = datasource;
92
93 cache.maxCacheDate(datatable, function (date) {
94 //date.addDays(-1);
95 response.endDate = date;
96 return router.responseSuccess(response, req, res);
97 });
98 }
99 }
100 catch (ex) {
101 joola.logger.error('Exception status.systemEndDate: ' + ex.message);
102 return router.responseError(ex, req, res);
103 }
104 }
105};
\No newline at end of file