You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.4 KiB
62 lines
1.4 KiB
const router = require("express").Router(); |
|
const axios = require("axios"); |
|
|
|
const basePath = process.env.API_BASE_PATH; |
|
|
|
router.get("/", async (req, res) => { |
|
const clients = await axios |
|
.get(basePath + "/clients", { |
|
headers: { Authorization: "Bearer " + req.cookies.token }, |
|
}) |
|
.then((response) => response.data) |
|
.then((clients) => |
|
clients.map((c) => { |
|
return { ...c, id: c._id }; |
|
}) |
|
); |
|
|
|
res.render("clients/Index", { |
|
clients, |
|
user: req.user, |
|
}); |
|
}); |
|
|
|
router.get("/new", async (req, res) => { |
|
res.render("clients/New", { |
|
user: req.user, |
|
}); |
|
}); |
|
|
|
router.get("/:id", async (req, res) => { |
|
const client = await axios |
|
.get(basePath + "/clients/" + req.params.id, { |
|
headers: { Authorization: "Bearer " + req.cookies.token }, |
|
}) |
|
.then((res) => res.data); |
|
|
|
if (res.status === 404) { |
|
res.render("404"); |
|
} else { |
|
res.render("clients/Detail", { user: req.user, client }); |
|
} |
|
}); |
|
|
|
router.get("/:id/timeline", async (req, res) => { |
|
const client = await axios |
|
.get(basePath + "/clients/" + req.params.id, { |
|
headers: { Authorization: "Bearer " + req.cookies.token }, |
|
}) |
|
.then((res) => res.data); |
|
|
|
if (res.status === 404) { |
|
res.render("404"); |
|
} else { |
|
res.render("clients/Timeline", { |
|
user: req.user, |
|
events: client.events, |
|
client, |
|
}); |
|
} |
|
}); |
|
|
|
module.exports = router;
|
|
|