Files
habitica/website/src/libs/api-v3/setupRoutes.js
T
2015-11-19 12:13:54 +01:00

25 lines
749 B
JavaScript

import fs from 'fs';
import path from 'path';
import express from 'express';
import _ from 'lodash';
const CONTROLLERS_PATH = path.join(__dirname, '/../../controllers/api-v3/');
let router = express.Router(); // eslint-disable-line new-cap
fs
.readdirSync(CONTROLLERS_PATH)
.filter(fileName => fileName.match(/\.js$/))
.filter(fileName => fs.statSync(CONTROLLERS_PATH + fileName).isFile())
.forEach((fileName) => {
let controller = require(CONTROLLERS_PATH + fileName); // eslint-disable-line global-require
_.each(controller, (action) => {
let {method, url, middlewares = [], handler} = action;
method = method.toLowerCase();
router[method](url, ...middlewares, handler);
});
});
export default router;