app2-api/core/router.js

56 lines
1.1 KiB
JavaScript
Raw Normal View History

2019-04-15 10:13:17 +00:00
'use strict';
const express = require('express');
const glob = require('glob');
const path = require('path');
2019-07-28 20:08:15 +00:00
const { apicache } = require('../middlewares/cache');
2019-04-15 10:13:17 +00:00
const modulesDir = path.resolve(__dirname + '/../modules/')
const globOptions = {
cwd: modulesDir,
nocase: true,
nodir: true,
absolute: true,
}
2019-07-28 20:08:15 +00:00
2019-04-15 15:58:58 +00:00
module.exports = function () {
2019-07-09 20:13:41 +00:00
const router = express.Router({ mergeParams: true });
2019-04-15 10:13:17 +00:00
2022-03-12 11:03:31 +00:00
router.get('/v3/_health', (req, res, next) => {
2019-04-15 10:13:17 +00:00
res.json({
code: 200,
message: 'success',
2022-03-16 09:08:33 +00:00
description: 'Welcome, this is the API v3 for the application.'
2019-04-15 10:13:17 +00:00
});
});
2019-07-28 20:08:15 +00:00
// APICACHE
// route to display cache index
2022-03-12 11:03:31 +00:00
router.get('/v3/cache/index', (req, res) => {
2019-07-28 20:08:15 +00:00
res.json(apicache.getIndex())
});
// route to clear target group
2022-03-12 11:03:31 +00:00
router.get('/v3/cache/clear/:target?', (req, res) => {
2019-07-28 20:08:15 +00:00
res.json(apicache.clear(req.params.target))
});
2022-03-16 09:08:33 +00:00
2019-07-28 20:08:15 +00:00
// Resto de rutas
2019-04-15 15:58:58 +00:00
glob.sync("**/*.routes.js", globOptions)
2019-04-15 10:13:17 +00:00
.forEach(function (file) {
2022-03-12 11:03:31 +00:00
router.use('/v3', require(file));
2022-03-16 09:08:33 +00:00
});
2019-04-15 10:13:17 +00:00
return router;
}