-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
144 lines (114 loc) · 3.54 KB
/
server.js
File metadata and controls
144 lines (114 loc) · 3.54 KB
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
// const express = require('express');
// const mongoose = require('mongoose');
// const bodyParser = require('body-parser');
// const cors = require('cors');
// const app = express();
// app.use(cors());
// // Middleware to parse JSON request bodies
// app.use(bodyParser.json());
// // MongoDB connection
// mongoose.connect('mongodb://localhost:27017/Login', {
// })
// .then(() => {
// console.log('Connected to MongoDB');
// })
// .catch(err => {
// console.log('MongoDB connection error:', err);
// });
// // Define the schema for form data
// const formSchema = new mongoose.Schema({
// email: String,
// password: String,
// mobNo: String,
// });
// // Create the model (You can change the collection name here)
// const FormData = mongoose.model('FormData', formSchema, 'users'); // 'users' is the collection name
// // POST route to handle form submission
// app.post('/users', (req, res) => {
// const { email, password, mobNo } = req.body;
// const newFormData = new FormData({ email, password, mobNo });
// newFormData.save()
// .then(() => {
// res.status(201).json({ message: 'Data saved successfully!' });
// })
// .catch(err => {
// res.status(500).json({ message: 'Error saving data' });
// console.log(err);
// });
// });
// // Start the server on port 5000
// app.listen(5000, () => {
// console.log('Server running on http://localhost:5000');
// });
// NEW File Code
const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const cors = require('cors');
const app = express();
app.use(cors());
// Middleware to parse JSON request bodies
app.use(bodyParser.json());
// MongoDB connection
mongoose.connect('mongodb://localhost:27017/Login', {
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(() => {
console.log('Connected to MongoDB');
})
.catch(err => {
console.log('MongoDB connection error:', err);
});
// Define the schema for form data
const formSchema = new mongoose.Schema({
email: { type: String, unique: true },
password: String,
mobNo: String,
});
// Create the model
const FormData = mongoose.model('FormData', formSchema, 'users');
// POST route to handle user sign up
app.post('/users', (req, res) => {
const { email, password, mobNo } = req.body;
const newUser = new FormData({
email,
password, // Directly storing the plain-text password (not recommended)
mobNo
});
newUser.save()
.then(() => {
res.status(201).json({ message: 'User signed up successfully!' });
})
.catch(err => {
if (err.code === 11000) {
return res.status(400).json({ message: 'Email already exists.' });
}
res.status(500).json({ message: 'Error saving user data.' });
console.log(err);
});
});
// POST route to handle user login
app.post('/users/login', (req, res) => {
const { email, password } = req.body;
FormData.findOne({ email })
.then(user => {
if (!user) {
return res.status(404).json({ message: 'User not found!' });
}
// Directly compare plain-text passwords (not recommended)
if (password === user.password) {
return res.status(200).json({ message: 'Login successful!' });
} else {
return res.status(400).json({ message: 'Invalid password!' });
}
})
.catch(err => {
res.status(500).json({ message: 'Error during login' });
console.log(err);
});
});
// Start the server on port 5000
app.listen(5000, () => {
console.log('Server running on http://localhost:5000');
});