-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathroutes.js
More file actions
37 lines (32 loc) · 957 Bytes
/
routes.js
File metadata and controls
37 lines (32 loc) · 957 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
const { Router } = require("express");
const AuthController = require("./controllers/AuthController");
const UserController = require("./controllers/UserController");
const logger = require("./logger");
const verifyAuth = require("./services/AuthGuard");
const routes = Router();
routes.get("/", (req, res) => {
res.json({ message: "JALS server is healthy." });
});
const ControllerHandler = (controller) => async (req, res) => {
try {
await controller(req, res);
} catch (ex) {
logger.error(ex.message);
res.status(500).json({
message: ex.message,
});
}
};
routes.post("/register", ControllerHandler(UserController.createUser));
routes.post("/login", ControllerHandler(AuthController.loginUser));
routes.post(
"/refresh",
verifyAuth("REFRESH"),
ControllerHandler(AuthController.refreshToken)
);
routes.get(
"/me",
verifyAuth("ACCESS"),
ControllerHandler(UserController.getProfile)
);
module.exports = routes;