-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
65 lines (50 loc) · 1.71 KB
/
index.js
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// Importeer express uit de node_modules map
import { render } from "ejs";
import express, { response } from "express";
// Maak een nieuwe express app aan
const app = express();
// get info form api
const url = "https://api.visualthinking.fdnd.nl/api/v1";
// Stel ejs in als template engine en geef de 'views' map door
app.set("view engine", "ejs");
app.set("views", "./views");
// Gebruik de map 'public' voor statische resources
app.use(express.static("public"));
// Maak een route voor de index
// homepagina
app.get("/", (request, response) => {
response.render("index");
});
// overzichtspagina
app.get("/overzichtspagina", (request, response) => {
console.log(request.query.methods);
const methodsUrl = url + "/methods?first=100";
fetchJson(methodsUrl).then((data) => {
response.render("overzichtspagina", data);
});
});
// detailpagina
app.get("/detailpagina", (request, response) => {
console.log(request.query.methods);
const methodsUrl = url + "/methods";
fetchJson(methodsUrl).then((data) => {
response.render("detailpagina", data);
});
});
// Stel het poortnummer in waar express op gaat luisteren
app.set("port", process.env.PORT || 8000);
// Start express op, haal het ingestelde poortnummer op
app.listen(app.get("port"), function () {
// Toon een bericht in de console en geef het poortnummer door
console.log(`Application started on http://localhost:${app.get("port")}`);
});
/**
* Wraps the fetch api and returns the response body parsed through json
* @param {*} url the api endpoint to address
* @returns the json response from the api endpoint
*/
async function fetchJson(url) {
return await fetch(url)
.then((response) => response.json())
.catch((error) => error);
}