-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
114 lines (97 loc) · 3.05 KB
/
server.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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
const express = require("express");
const server = express();
const nunjucks = require("nunjucks");
const db = require("./db");
server.use(express.static("public"));
server.use(express.urlencoded({ extended: true }));
nunjucks.configure("views", {
express: server,
noCache: true,
});
/*
const ideas = [
{
img: "https://image.flaticon.com/icons/svg/2729/2729007.svg",
title: "Programming Courses",
category: "Study",
description:
"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Facere molestiae hic modi nulla ut excepturi vero dolorum ea eos magnam ipsam fuga nobis, itaque fugit minima saepe, velit reprehenderit provident!",
url: "https://google.com"
},
{
img: "https://image.flaticon.com/icons/svg/2729/2729005.svg",
title: "Physical Exercises",
category: "Health",
description:
"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Facere molestiae hic modi nulla ut excepturi vero dolorum ea eos magnam ipsam fuga nobis, itaque fugit minima saepe, velit reprehenderit provident!",
url: "https://google.com"
},
{
img: "https://image.flaticon.com/icons/svg/2729/2729027.svg",
title: "Meditation",
category: "Mentality",
description:
"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Facere molestiae hic modi nulla ut excepturi vero dolorum ea eos magnam ipsam fuga nobis, itaque fugit minima saepe, velit reprehenderit provident!,
url: "https://google.com"
},
{
img: "https://image.flaticon.com/icons/svg/2729/2729032.svg",
title: "Karaoke",
category: "Family Fun",
description:
"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Facere molestiae hic modi nulla ut excepturi vero dolorum ea eos magnam ipsam fuga nobis, itaque fugit minima saepe, velit reprehenderit provident!",
url: "https://google.com"
}
];*/
server.get("/", (req, res) => {
db.all(`SELECT * FROM ideas`, (err, rows) => {
if (err) {
console.log(err);
return res.send("Database error");
}
const reversedIdeas = [...rows].reverse();
let lastIdeas = [];
for (let idea of reversedIdeas) {
if (lastIdeas.length < 2) {
lastIdeas.push(idea);
}
}
return res.render("index.html", { ideas: lastIdeas });
});
});
server.get("/ideas", (req, res) => {
db.all(`SELECT * FROM ideas`, (err, rows) => {
if (err) {
console.log(err);
return res.send("Database error");
}
const reversedIdeas = [...rows].reverse();
return res.render("ideas.html", { ideas: reversedIdeas });
});
});
server.post("/", (req, res) => {
const query = `
INSERT INTO ideas(
image,
title,
category,
description,
link
) VALUES (?,?,?,?,?)
`;
const values = [
req.body.image,
req.body.title,
req.body.category,
req.body.description,
req.body.link,
];
db.run(query, values, (err) => {
if (err) {
console.log(err);
return res.send("Erro no banco de dados");
}
return res.redirect("/ideas");
});
});
server.listen(3333);