· 8 years ago · May 15, 2018, 10:36 PM
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;
6//var nodemailer = require('nodemailer');
7//var schedule = require("node-schedule");
8var command;
9var activeUser = "ronal2s";//Data base of the user
10db.serialize(() => {
11 //db.run("drop table Users");
12 db.run("Create table if not exists Users(user text, email text, password text)");//Later i need to create more attributes
13 db.run("Create table if not exists PublicHomeworks(id text,subject text,shortDescription text, description text, date text, dificulty int, time int, total int, done int, public int, user text)");
14})
15
16//static page
17/*
18const path = require("path");
19app.use(express.static(path.resolve(__dirname,"build")))
20
21app.get("/", (req, res) => {
22 res.send(path.resolve(__dirname,"build", "index.html"))
23})
24*/
25var date = new Date(2018, 4, 15, 1, 0, 0);
26
27
28
29
30/*
31var mensaje = schedule.scheduleJob(date, () => {
32 console.log("Entró aen el schedule")
33 transporter.sendMail(mailOptions, (error, info) => {
34 if (error) {
35 console.log("Error: " + error)
36 } else {
37 console.log("Email sent: " + info.response);
38 }
39 })
40})
41*/
42
43app.get("/home", (req, res) => {
44 res.send("Home")
45})
46
47app.get("/RegisterUser", (req, res) => {
48 const { user, email, password } = req.query;
49 var lowerUser = user.toLowerCase();
50 db.get("Select user id from Users where user = ?", lowerUser, (err, value) => {
51 /*console.log("ID: " + value)
52 if (value != undefined) {
53 console.log("The user already exists: " + value.id);
54 } else {
55 console.log("The user dont exists: ")
56 }*/
57 console.log(value);
58 res.send({ data: value === undefined ? undefined : value.id });//value
59 });
60
61 console.log("User: " + lowerUser);
62 command = db.prepare("Insert into Users values(?,?,?)");
63 command.run(lowerUser, email, password);
64 command.finalize();
65 createTableUser(user);
66})
67
68app.get("/Loggin", (req, res) => {
69 const { user, password } = req.query;
70 activeUser = user;
71 var bool = false;
72
73 db.get("Select user id, password pass from Users where user = ?", user, (err, value) => {
74 if (value != undefined) {
75 //Exists
76 if (value.pass === password) {
77 console.log("The user " + user + " now is logged")
78 bool = true;
79 }
80 }
81 res.send({ data: bool });
82
83 });
84})
85
86app.get("/Users", (req, res) => {
87 db.all("Select * from Users", (err, all) => {
88 res.send({ data: all })
89 })
90 db.each("Select * from Users", (err, v) => {
91 console.log(v)
92 })
93})
94
95
96
97function createTableUser(user) {
98 db.serialize(() => {
99 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, public int)");
100 db.run("Create table if not exists " + user + "HomeworkCompletes(id text,subject text,shortDescription text, description text, date text)");
101 })
102}
103
104app.get("/homeworks", (req, res) => {
105 db.all("select * from " + activeUser + "Homework order by total desc", (err, all) => {
106 res.send({ data: all });
107 })
108})
109
110app.get("/comunity", (req, res) => {
111 db.all("select * from PublicHomeworks order by total desc", (err, all) => {
112 res.send({ data: all });
113 })
114})
115
116
117app.get("/homeworksCompletes", (req, res) => {
118 db.all("select * from " + activeUser + "HomeworkCompletes", (err, all) => {
119 res.send({ data: all });
120 })
121})
122
123
124app.get("/homeworks/deleteTable", (req, res) => {
125 db.run("drop table " + activeUser + "Homework");
126 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)");
127 db.run("Create table if not exists " + activeUser + "HomeworkCompletes(id text,subject text,shortDescription text, description text, date text)");
128 res.send("Table deleted");
129 console.log("Main tables has been deleted");
130})
131
132app.get("/homeworks/add", (req, res) => {
133 const { id, subject, shortDescription, description, date, dificulty, time, total, public } = req.query;
134 command = db.prepare("Insert into " + activeUser + "Homework values(?,?,?,?,?,?,?,?,?,?)");
135 command.run(id, subject, shortDescription, description, date, dificulty, time, total, 0, 0);
136 command.finalize();
137 res.send("Homework added");
138 console.log("Homework added")
139});
140
141app.get("/homeworks/public", (req, res) => {
142 const { id, value } = req.query;
143 db.run("Update " + activeUser + "Homework set public='" + value + "' where id ='" + id + "'");
144 if (value == 1) {
145 db.run("Insert into PublicHomeworks select * from " + activeUser + "Homework where id = '" + id + "'");
146 //db.run("Update PublicHomeworks set user = '"+activeUser+"' where id = '" + id + "'");
147 } else {
148 db.run("Delete from PublicHomeworks where id = '" + id + "'");
149 }
150 //db.run("Delete from " + activeUser + "Homework where id = '" + id + "'");
151
152 res.send("Homework updated")
153})
154
155app.get("/homeworks/homeworkDone", (req, res) => {
156 const { id } = req.query;
157 db.run("Update " + activeUser + "Homework set done = 1 where id = '" + id + "'");
158 var{id,subject,shortDescription, description, date};
159
160 db.run("Select id id Homework where id = '"+id+"'", (all, err))
161 db.run("Insert into " + activeUser + "HomeworkCompletes select * from " + activeUser + "Homework where id = '" + id + "'");
162 db.run("Delete from " + activeUser + "Homework where id = '" + id + "'");
163 res.send("Homework done added");
164 console.log("Homework " + id + " has been done")
165})
166
167app.get("/homeworks/deleteHomework", (req, res) => {
168 const { homeworkID, complete } = req.query;
169 console.log("The id to delete is: " + homeworkID);
170 if (complete === "y") {
171 //I mean, if I came from the Completes Page
172 db.run("delete from " + activeUser + "HomeworkCompletes where id = '" + homeworkID + "'");
173 } else {
174 db.run("delete from " + activeUser + "Homework where id = '" + homeworkID + "'");
175 }
176 res.send("Homework deleted");
177})
178
179
180
181app.listen(port, () => console.log("Listen on port " + port));