FullStack: Move stats endpoint
Signed-off-by: Fred Boniface <fred@fjla.uk>
This commit is contained in:
parent
c4ad5a32f0
commit
9450fc6fe2
2
app.js
2
app.js
@ -20,6 +20,7 @@ const ldbRtr = require('./src/routes/ldb.routes'); // /ldb endpoints
|
|||||||
const kubeRtr = require('./src/routes/kube.routes'); // /kube endpoints
|
const kubeRtr = require('./src/routes/kube.routes'); // /kube endpoints
|
||||||
const findRtr = require('./src/routes/find.routes'); // /find endpoints
|
const findRtr = require('./src/routes/find.routes'); // /find endpoints
|
||||||
const issueRtr = require('./src/routes/issue.routes') // /issue endpoints
|
const issueRtr = require('./src/routes/issue.routes') // /issue endpoints
|
||||||
|
const statRtr = require('./src/routes/stats.routes'); // /stat endpoints
|
||||||
const initDb = require('./src/utils/dbinit.utils'); // DB Init Utility
|
const initDb = require('./src/utils/dbinit.utils'); // DB Init Utility
|
||||||
|
|
||||||
// Set Server Configurations
|
// Set Server Configurations
|
||||||
@ -59,6 +60,7 @@ app.use('/api/v1/ldb', ldbRtr);
|
|||||||
app.use('/api/v1/kube', kubeRtr);
|
app.use('/api/v1/kube', kubeRtr);
|
||||||
app.use('/api/v1/find', findRtr);
|
app.use('/api/v1/find', findRtr);
|
||||||
app.use('/api/v1/issue', issueRtr);
|
app.use('/api/v1/issue', issueRtr);
|
||||||
|
app.use('/api/v1/stats', statRtr)
|
||||||
|
|
||||||
// Start Express
|
// Start Express
|
||||||
app.listen(srvPort, srvListen, (error) =>{
|
app.listen(srvPort, srvListen, (error) =>{
|
||||||
|
13
src/controllers/stats.controllers.js
Normal file
13
src/controllers/stats.controllers.js
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
const stat = require('../services/stats.services');
|
||||||
|
|
||||||
|
async function get(req, res, next) {
|
||||||
|
try {
|
||||||
|
res.json(await stat.hits())
|
||||||
|
} catch (err) {
|
||||||
|
console.error(`Controller Error`, err);
|
||||||
|
next(err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
get}
|
@ -16,6 +16,5 @@ const listController = require('../controllers/list.controllers');
|
|||||||
|
|
||||||
router.get('/stations', listController.getStations);
|
router.get('/stations', listController.getStations);
|
||||||
router.get('/corpus', listController.getCorpus);
|
router.get('/corpus', listController.getCorpus);
|
||||||
router.get('/hits', listController.hits)
|
|
||||||
|
|
||||||
module.exports = router;
|
module.exports = router;
|
8
src/routes/stats.routes.js
Normal file
8
src/routes/stats.routes.js
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
const express = require('express');
|
||||||
|
const router = express.Router();
|
||||||
|
const statsController = require('../controllers/stats.controllers');
|
||||||
|
|
||||||
|
|
||||||
|
router.get('/', statsController.get);
|
||||||
|
|
||||||
|
module.exports = router;
|
@ -14,17 +14,7 @@ async function getCorpus(){
|
|||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function hits(){
|
|
||||||
var dat = await db.query("meta", {target: "counters"});
|
|
||||||
log.out(`listServices.meta: fetched server meta`)
|
|
||||||
let out = {}
|
|
||||||
out.host = os.hostname()
|
|
||||||
out.dat = dat
|
|
||||||
return out;
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
getStations,
|
getStations,
|
||||||
getCorpus,
|
getCorpus
|
||||||
hits
|
|
||||||
}
|
}
|
16
src/services/stats.services.js
Normal file
16
src/services/stats.services.js
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
const log = require('../utils/log.utils'); // Log Helper
|
||||||
|
const db = require('../services/dbAccess.services')
|
||||||
|
const os = require('os')
|
||||||
|
|
||||||
|
async function hits(){
|
||||||
|
var dat = await db.query("meta", {target: "counters"});
|
||||||
|
log.out(`listServices.meta: fetched server meta`)
|
||||||
|
let out = {}
|
||||||
|
out.host = os.hostname()
|
||||||
|
out.dat = dat
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
hits
|
||||||
|
}
|
@ -5,7 +5,7 @@ async function init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function get() {
|
async function get() {
|
||||||
var url = `${window.location.origin}/api/v1/list/hits`;
|
var url = `${window.location.origin}/api/v1/stats`;
|
||||||
var resp = await fetch(url);
|
var resp = await fetch(url);
|
||||||
return await resp.json();
|
return await resp.json();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user