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