Skip to content

Commit bbb38ea

Browse files
fix: changed routes and added sessions
1 parent f79bc94 commit bbb38ea

File tree

12 files changed

+97
-212
lines changed

12 files changed

+97
-212
lines changed

app/controllers/data.js

Lines changed: 0 additions & 4 deletions
This file was deleted.

app/main.js

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,12 @@ const app = express()
33
app.set("view engine", 'ejs');
44
app.use(express.static("public"))
55
require('dotenv').config();
6-
const api = require('./routes/data')
7-
const auth = require('./routes/auth')
6+
const route = require('./routes/route')
87
const db = require('./db/dbConnect')
98
const bodyParser = require('body-parser');
109
app.use(bodyParser.urlencoded({ extended: true }));
1110
app.use(bodyParser.json());
1211

13-
app.use("/api/data", api);
14-
app.use("/auth",auth);
15-
16-
app.post('/search', (req, res) => {
17-
db.query('SELECT * FROM products WHERE name LIKE \'\%'+req.body.name+'\%\';', (error, results, fields) => {
18-
if (error) {
19-
console.error('Error executing query: ' + error);
20-
return;
21-
}
22-
console.log(results)
23-
res.render('products',{products:results});
24-
});
25-
})
26-
27-
app.get('/', (req,res) => {
28-
db.query('SELECT * FROM products', (error, results, fields) => {
29-
if (error) {
30-
console.error('Error executing query: ' + error);
31-
return;
32-
}
33-
res.render('products',{products:results});
34-
});
35-
})
12+
app.use("/",route);
3613

3714
app.listen(4444);

app/public/stylesPro.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ header {
7676
box-sizing: border-box;
7777
}
7878

79-
#search{
79+
#search,#login,#logout{
8080
width: 100px;
8181
padding: 8px;
8282
font-size: 16px;

app/routes/data.js

Lines changed: 0 additions & 8 deletions
This file was deleted.

app/routes/auth.js renamed to app/routes/route.js

Lines changed: 77 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ router.use(bodyParser.json());
77
const path = require('path')
88
router.use(express.static( path.join(__dirname,"../public")))
99
const db = require(path.join(__dirname,"../db/dbConnect"));
10-
// const session = require('express-session');
10+
const session = require('express-session');
1111
require('dotenv').config();
12-
// router.use(session({
13-
// secret: process.env.secret,
14-
// resave: false,
15-
// saveUninitialized: false
16-
// }));
12+
router.use(session({
13+
secret: process.env.secret,
14+
resave: false,
15+
saveUninitialized: false
16+
}));
1717
let transporter = nodemailer.createTransport({
1818
service: 'Gmail',
1919
auth: {
@@ -23,68 +23,110 @@ let transporter = nodemailer.createTransport({
2323
});
2424

2525

26+
router.get('/', (req,res) => {
27+
if (!req.session.isLoggedIn) {
28+
res.redirect('/login');
29+
return;
30+
}
31+
db.query('SELECT * FROM products', (error, results, fields) => {
32+
if (error) {
33+
console.error('Error executing query: ' + error);
34+
return;
35+
}
36+
res.render('products',{products:results, isLoggedIn:req.session.isLoggedIn});
37+
});
38+
})
39+
40+
router.post('/search', (req, res) => {
41+
if (req.session.isLoggedIn) {
42+
res.redirect('/login');
43+
return;
44+
}
45+
db.query('SELECT * FROM products WHERE name LIKE \'\%'+req.body.name+'\%\';', (error, results, fields) => {
46+
if (error) {
47+
console.error('Error executing query: ' + error);
48+
return;
49+
}
50+
console.log(results)
51+
res.render('products',{products:results});
52+
});
53+
})
54+
55+
2656
router.get('/login', (req, res) =>{
27-
// if (req.session.isLoggedIn) {
28-
// res.redirect("/")
29-
// return;
30-
// }
57+
if (req.session.isLoggedIn) {
58+
res.redirect("/")
59+
return;
60+
}
3161
res.render('login');
3262
})
3363

3464
router.post('/login', (req, res) => {
35-
// if (req.session.isLoggedIn) {
36-
// res.redirect("/")
37-
// return;
38-
// }
65+
if (req.session.isLoggedIn) {
66+
res.redirect("/")
67+
return;
68+
}
3969
db.query('SELECT * FROM users WHERE email = \''+req.body.email+'\' AND password = \''+req.body.password+'\'', (error, results, fields) => {
4070
if (error) {
4171
console.error('Error executing query: ' + error);
4272
return;
4373
}
4474
if (results.length > 0) {
45-
// req.session.isLoggedIn = true;
75+
req.session.isLoggedIn = true;
4676
res.redirect('/');
4777
}
4878
else{
49-
res.redirect('/auth/register');
79+
res.redirect('/register');
5080
}
5181
});
5282
});
5383

5484
router.get('/register', (req,res) => {
55-
// if (req.session.isLoggedIn){
56-
// res.redirect("/");
57-
// return;
58-
// }
85+
if (req.session.isLoggedIn){
86+
res.redirect("/");
87+
return;
88+
}
5989
res.render('register');
6090
})
6191

6292
router.post('/register', (req, res) => {
93+
if (req.session.isLoggedIn){
94+
res.redirect("/");
95+
return;
96+
}
6397
db.query("SELECT * FROM users WHERE email = '"+req.body.email+"';", (error, results, fields) => {
6498
if (error) {
6599
console.error('Error executing query: ' + error);
66100
return;
67101
}
68102
if (results.length > 0) {
69-
res.redirect('/auth/login');
103+
res.redirect('/login');
70104
}
71105
else{
72106
db.query("INSERT INTO users (name,email,password) VALUES ('"+req.body.fullname+"','"+req.body.email+"','"+req.body.password+"');", (error, results, fields) => {
73107
if (error) {
74108
console.error('Error executing query: ' + error);
75109
return;
76110
}
77-
res.redirect('/auth/login');
111+
res.redirect('/login');
78112
});
79113
}
80114
});
81115
});
82116

83117
router.get('/forgotPass', (req, res) => {
118+
if (req.session.isLoggedIn){
119+
res.redirect("/");
120+
return;
121+
}
84122
res.render('forgotPass')
85123
})
86124

87125
router.post('/forgotPass', (req,res) => {
126+
if (req.session.isLoggedIn){
127+
res.redirect("/");
128+
return;
129+
}
88130
db.query('SELECT * FROM users WHERE email = \''+req.body.email+'\';', (error, results, fields) => {
89131
if (error) {
90132
console.error('Error executing query: ' + error);
@@ -110,12 +152,16 @@ router.post('/forgotPass', (req,res) => {
110152
res.render('changePass',{email:email})
111153
}
112154
else{
113-
res.redirect('/auth/register');
155+
res.redirect('/register');
114156
}
115157
});
116158
})
117159

118160
router.post('/changePass', (req, res) => {
161+
if (req.session.isLoggedIn){
162+
res.redirect("/");
163+
return;
164+
}
119165
otp = req.body.otp;
120166
console.log(otp);
121167
console.log('UPDATE users set password = \'' +req.body.newPassword+'\' WHERE otp = '+otp+' AND email = \''+req.body.email+'\';')
@@ -124,8 +170,15 @@ router.post('/changePass', (req, res) => {
124170
console.error('Error executing query: ' + error);
125171
return;
126172
}
127-
res.redirect('/auth/login');
173+
res.redirect('/login');
128174
});
129175
})
130176

177+
router.post('/logout', (req, res) => {
178+
if (req.session.isLoggedIn){
179+
req.session.isLoggedIn = false;
180+
}
181+
res.redirect("/login");
182+
})
183+
131184
module.exports = router;

app/routes/styles.css

Lines changed: 0 additions & 104 deletions
This file was deleted.

app/views/changePass.ejs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
<body>
7979
<div class="container">
8080
<h1>Reset Password</h1>
81-
<form action="/auth/changePass" method="post">
81+
<form action="/changePass" method="post">
8282

8383
<label for="email">E-mail:</label>
8484
<p><%=email%></p>

app/views/forgotPass.ejs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
<div class="container">
7979
<h1>Forgot Password</h1>
8080
<p>Please enter your email address below. We will send you instructions on how to reset your password.</p>
81-
<form action="/auth/forgotPass" method="post">
81+
<form action="/forgotPass" method="post">
8282
<label for="email">Email:</label>
8383
<input type="email" id="email" name="email" required>
8484
<button type="submit">Reset Password</button>

app/views/login.ejs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@
88
</head>
99
<body>
1010
<div class="login-container">
11-
<form class="login-form" action="/auth/login" method="post" style="text-align: center;">
11+
<form class="login-form" action="/login" method="post" style="text-align: center;">
1212
<h2>Login to Your Account</h2>
1313
<input type="text" name="email" placeholder="Email" required>
1414
<input type="password" name="password" placeholder="Password" required>
1515
<button style="margin-bottom: 5px;" type="submit">Login</button>
16-
<a class="forgot-password" href="/auth/forgotPass">Forgot your password?</a>
16+
<a class="forgot-password" href="/forgotPass">Forgot your password?</a>
1717
<hr>
1818
<button type="button" class="create-account" >Create New Account</button>
1919
</form>
2020
</div>
2121
<script>
2222
document.querySelector('.create-account').addEventListener('click', function() {
23-
window.location.href = '/auth/register';
23+
window.location.href = '/register';
2424
});
2525
</script>
2626
</body>

0 commit comments

Comments
 (0)