You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
843 B
JavaScript

"use strict";
const expressPromiseRouter = require("express-promise-router");
module.exports = function(state) {
const requireAccessToken = require("../../middlewares/require-access-token")(state);
const authenticationRouter = require("./authentication")(state);
const accountRouter = require("./account")(state);
let router = expressPromiseRouter();
router.get("/versions", (req, res) => {
/* FIXME: Support more specification versions? */
res.json({
versions: [
"r0.4.0"
]
});
});
/* Various routes in the authentication router are freely accessible, so access token requirements are implemented there on a per-route basis. */
router.use(authenticationRouter);
/* From this point onwards, every route requires an access token. */
router.use(requireAccessToken);
router.use(accountRouter);
return router;
}