Skip to content

Commit 1ae205c

Browse files
author
Vishwas Gopinath - I16165
committed
Registration and Login API
1 parent 1a50b85 commit 1ae205c

File tree

4 files changed

+174
-4
lines changed

4 files changed

+174
-4
lines changed

ngApp/package-lock.json

Lines changed: 121 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ngApp/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"body-parser": "^1.18.2",
2525
"core-js": "^2.4.1",
2626
"express": "^4.16.2",
27+
"mongoose": "^5.0.3",
2728
"rxjs": "^5.5.6",
2829
"zone.js": "^0.8.19"
2930
},

ngApp/server/models/user.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
const mongoose = require('mongoose');
2+
3+
const Schema = mongoose.Schema;
4+
5+
const userSchema = new Schema({
6+
email: String,
7+
password: String,
8+
});
9+
10+
module.exports = mongoose.model('user', userSchema, 'users');

ngApp/server/routes/api.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
const express = require('express');
22
const router = express.Router();
3+
const mongoose = require('mongoose');
4+
const User = require('../models/user');
5+
6+
const db = "mongodb://testuser:[email protected]:23136/eventsdb";
7+
// mongoose.Promise = global.Promise;
8+
mongoose.connect(db, function(err){
9+
if(err){
10+
console.error('Error! ' + err)
11+
} else {
12+
console.log('Connected to mongodb')
13+
}
14+
});
315

416
router.get('/events', (req,res) => {
517
let events = [
@@ -85,4 +97,34 @@ router.get('/events/special', (req,res) => {
8597
res.json(specialEvents)
8698
})
8799

100+
router.post('/register', (req, res) => {
101+
let userData = req.body
102+
let user = new User(userData)
103+
user.save((err, registeredUser) => {
104+
if (err) {
105+
console.log(err)
106+
} else {
107+
res.status(200).send('Successfully registered!')
108+
}
109+
})
110+
})
111+
112+
router.post('/login', (req, res) => {
113+
let userData = req.body
114+
User.findOne({email: userData.email}, (err, user) => {
115+
if (err) {
116+
console.log(err)
117+
} else {
118+
if (!user) {
119+
res.status(401).send('Invalid Email')
120+
} else
121+
if ( user.password !== userData.password) {
122+
res.status(401).send('Invalid Password')
123+
} else {
124+
res.status(200).send('Logged in succesfully')
125+
}
126+
}
127+
})
128+
})
129+
88130
module.exports = router;

0 commit comments

Comments
 (0)