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

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;