thaldrin/Dashboard/routes/api.js

48 lines
1.4 KiB
JavaScript
Raw Normal View History

2019-11-11 15:34:04 +00:00
var express = require('express');
var api = express.Router();
2019-11-11 19:57:16 +00:00
var config = require('../../config');
2019-11-11 21:52:28 +00:00
var utils = require('../../utils');
2019-11-16 17:52:47 +00:00
const os = require('os');
2019-11-11 15:34:04 +00:00
api.get('/', (req, res) => {
2019-11-11 19:57:16 +00:00
res.status(200).jsonp({
name: config.name,
version: config.version
});
2019-11-11 15:34:04 +00:00
});
2019-11-11 21:52:28 +00:00
api.get('/ints/:kind/:user1?/:user2?', (req, res) => {
if (utils.int[req.params.kind] === undefined) return res.status(404).jsonp({ error: `This does not exist` });
if (!req.params.user1 || !req.params.user2) return res.status(400).jsonp({ error: `I need two users to work` });
let LineFromUtils = utils.int[req.params.kind][parseInt(Math.random() * utils.int[req.params.kind].length)];
let Line = LineFromUtils.replace(/0/g, utils.format.bold(req.params.user1)).replace(
/1/g,
utils.format.bold(req.params.user2)
);
let respo = LineFromUtils.replace(/0/g, req.params.user1).replace(/1/g, req.params.user2);
res.status(200).jsonp({
Line: respo,
MarkdownLine: Line
});
});
2019-11-16 17:52:47 +00:00
function format(seconds) {
function pad(s) {
return (s < 10 ? '0' : '') + s;
}
var hours = Math.floor(seconds / (60 * 60));
var minutes = Math.floor((seconds % (60 * 60)) / 60);
var seconds = Math.floor(seconds % 60);
return pad(hours) + 'h ' + pad(minutes) + 'm ' + pad(seconds) + 's';
}
api.get('/system', (req, res) => {
res.jsonp({
hostname: os.hostname(),
uptime: `${format(process.uptime())}`
});
});
2019-11-11 19:57:16 +00:00
module.exports = api;