· 8 years ago · May 12, 2018, 07:26 PM
1const express = require("express");
2const app = express();
3const sqlite = require("sqlite3").verbose();
4const dbUsers = new sqlite.Database("databases/dbUsers");
5var db;//dbHomeworks
6const port = process.env.PORT || 5000;;
7var command;
8var activeData;//Data base of the user
9dbUsers.serialize(() => {
10 //dbUsers.run("drop table Users");
11 dbUsers.run("Create table if not exists Users(user text, email text, password text)");//Later i need to create more attributes
12})
13
14//static page
15/*
16const path = require("path");
17app.use(express.static(path.resolve(__dirname,"build")))
18
19app.get("/", (req, res) => {
20 res.send(path.resolve(__dirname,"build", "index.html"))
21})
22*/
23
24app.get("/home", (req, res) => {
25 res.send("Home");
26})
27
28app.get("/RegisterUser", (req, res) => {
29 const { user, email, password } = req.query;
30 activeData = user + "Homework";
31 dbUsers.get("Select user id from Users where user = ?", user, (err, value) => {
32 /*console.log("ID: " + value)
33 if (value != undefined) {
34 console.log("The user already exists: " + value.id);
35 } else {
36 console.log("The user dont exists: ")
37 }*/
38 res.send({data: value});
39 });
40
41
42 command = dbUsers.prepare("Insert into Users values(?,?,?)");
43 command.run(user, email, password);
44 command.finalize();
45 createDBUser(user);
46})
47
48app.get("/Loggin", (req, res) => {
49 const { user, password } = req.query;
50 var bool = false;
51 dbUsers.get("Select user id, password pass from Users where user = ?", user, (err, value) => {
52 if(value != undefined)
53 {
54 //Exists
55 if(value.pass === password)
56 {
57 console.log("Logged!")
58 bool = true;
59 db = new sqlite.Database("databases/"+user + "HomeWork");
60 }
61 }
62 res.send({data:bool});
63
64 });
65})
66
67app.get("/Users", (req, res) => {
68 dbUsers.all("Select * from Users", (err, all) => {
69 res.send({ data: all })
70 })
71 dbUsers.each("Select * from Users", (err, v) => {
72 console.log(v)
73 })
74})
75
76
77
78function createDBUser(user) {
79 db = new sqlite.Database("databases/"+user + "HomeWork");
80 db.serialize(() => {
81 db.run("Create table if not exists Homework(id text,subject text,shortDescription text, description text, date text, dificulty int, time int, total int, done int)");
82 db.run("Create table if not exists HomeworkCompletes(id text,subject text,shortDescription text, description text, date text, dificulty int, time int, total int, done int)");
83 })
84}
85
86app.get("/homeworks", (req, res) => {
87 db.all("select * from Homework order by total desc", (err, all) => {
88 res.send({ data: all });
89 })
90})
91
92app.get("/homeworksCompletes", (req, res) => {
93 db.all("select * from HomeworkCompletes", (err, all) => {
94 res.send({ data: all });
95 })
96})
97
98
99app.get("/homeworks/deleteTable", (req, res) => {
100 db.run("drop table Homework");
101 db.run("Create table if not exists Homework(id text,subject text,shortDescription text, description text, date text, dificulty int, time int, total int, done int)");
102 db.run("Create table if not exists HomeworkCompletes(id text,subject text,shortDescription text, description text, date text)");
103 res.send("Table deleted");
104 console.log("Main tables has been deleted");
105})
106
107app.get("/homeworks/add", (req, res) => {
108 const { id, subject, shortDescription, description, date, dificulty, time, total } = req.query;
109 command = db.prepare("Insert into Homework values(?,?,?,?,?,?,?,?,?)");
110 command.run(id, subject, shortDescription, description, date, dificulty, time, total, 0);
111 command.finalize();
112 res.send("Homework added");
113 console.log("Homework added")
114});
115
116app.get("/homeworks/homeworkDone", (req, res) => {
117 const { id } = req.query;
118 db.run("Update Homework set done = 1 where id = '" + id + "'");
119 db.run("Insert into HomeworkCompletes select * from Homework where id = '" + id + "'");
120 db.run("Delete from Homework where id = '" + id + "'");
121 res.send("Homework done added");
122 console.log("Homework " + id + " has been done")
123})
124
125app.get("/homeworks/deleteHomework", (req, res) => {
126 const { homeworkID, complete } = req.query;
127 console.log("The id to delete is: " + homeworkID);
128 if (complete === "y") {
129 //I mean, if I came from the Completes Page
130 db.run("delete from HomeworkCompletes where id = '" + homeworkID + "'");
131 } else {
132 db.run("delete from Homework where id = '" + homeworkID + "'");
133 }
134 res.send("Homework deleted");
135})
136
137
138
139app.listen(port, () => console.log("Listen on port " + port));