Skip to content

Commit

Permalink
added registration
Browse files Browse the repository at this point in the history
  • Loading branch information
nik-gautam committed Jan 26, 2020
1 parent 7f8f825 commit 6b0898f
Show file tree
Hide file tree
Showing 7 changed files with 265 additions and 9 deletions.
13 changes: 12 additions & 1 deletion app.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@ const express = require('express');
const path = require('path');
const cookieParser = require('cookie-parser');
const logger = require('morgan');
const mongoose = require('mongoose');

const indexRouter = require('./routes/index');
const usersRouter = require('./routes/users');

const MONGODB_URI = "mongodb+srv:https://nik:[email protected]/sos?retryWrites=true&w=majority";

const app = express();

app.use(logger('dev'));
Expand All @@ -19,4 +22,12 @@ app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter);
app.use('/users', usersRouter);

app.listen(6900);
mongoose.connect(MONGODB_URI, {
useNewUrlParser: true,
useUnifiedTopology: true
}).then(result => {
console.log("DB Connected!!");
app.listen(6900);
}).catch(err => {
console.log(err);
});
2 changes: 1 addition & 1 deletion controllers/index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
exports.getIndex = (req, res, next) => {
res.json("SOS Received!!")
res.json("API running!!")
}
48 changes: 46 additions & 2 deletions controllers/users.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,47 @@
exports.getUsers = (req, res, next) => {
res.json('respond with a resource');
const mongoose = require('mongoose')

const User = require('../models/user');

exports.addUsers = (req, res, next) => {
let user = req.query;

User.findOne({
name: user.name
}, (result) => {
if (!result) {
const newUser = new User({
name: user.name,
email: user.email,
phone: parseInt(user.phone, 10),
address: user.address,
sos: {
isTrue: false,
previous_sos: []
},
password: user.password,
emergency_contact: []
});

newUser.save().then((result) => {
res.json({
success: true,
uid: newUser._id,
msg: "User added Sucessfully"
});
}).catch(err => {
res.json({
success: false,
msg: "Failed to add user",
err
});
});

} else {
res.json({
success: false,
uid: result._id,
msg: "User already exits",
});
}
})
}
60 changes: 60 additions & 0 deletions models/user.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
const mongoose = require('mongoose');

const Schema = mongoose.Schema;

const userSchema = new Schema({
name: {
type: String,
required: true
},
email: {
type: String,
required: true
},
phone: {
type: Number,
required: true
},
address: {
type: String,
required: true
},
sos: {
isTrue: {
type: Boolean,
required: true
},
previous_sos: [{
date: {
type: String,
},
time: {
type: Number,
}
}]
},
password: {
type: String,
required: true
},
emergency_contact: [{
name: {
type: String,
required: true
},
address: {
type: String,
required: true
},
email: {
type: String,
required: true
},
phone: {
type: Number,
required: true
}
}]
});

module.exports = mongoose.model('User', userSchema);
141 changes: 141 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
"version": "0.0.0",
"private": true,
"scripts": {
"start": "echo \"Haat, bsdk\" && exit 1",
"dev": "nodemon app.js",
"prod": "node app.js"
"start": "node app.js",
"dev": "nodemon app.js"
},
"dependencies": {
"cookie-parser": "~1.4.4",
"debug": "~2.6.9",
"express": "~4.16.1",
"mongoose": "^5.8.9",
"morgan": "~1.9.1"
}
}
}
2 changes: 1 addition & 1 deletion routes/users.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ const router = express.Router();
const userController = require('../controllers/users');

/* GET users listing. */
router.get('/', userController.getUsers);
router.get('/signup', userController.addUsers);

module.exports = router;

0 comments on commit 6b0898f

Please sign in to comment.