Created
August 8, 2016 11:57
-
-
Save BahiHussein/a191db0699aa9ce1b9cee766c40019a4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var express = require('express'); | |
var router = express.Router(); | |
var User = require('../../models/users.js'); | |
var config = require('../../config/config.js'); | |
var Say = require('../../config/say.js'); | |
var Check = require('../../helpers/check.js'); | |
var Regex = require('../../config/regex.js'); | |
router.post('/signin', function(req, res, next){ | |
if(!Check.required(req, ['username', 'password'])){ | |
res.status(400); | |
res.send({error: Say.error.missingParams}); | |
return false; | |
} | |
Check.regex(req, [ | |
{param:'username', regex:Regex.username}, | |
{param:'password', regex: Regex.password} | |
]); | |
if(req.errors && req.errors.length > 1){ | |
res.status(400); | |
res.send({error: req.errors}); | |
return false; | |
} else { | |
var username = req.body.username.trim().toLowerCase(); | |
var password = req.body.password.trim(); | |
User.findOne({'username': username}, '_id username password role gender', function(err, user){ | |
if(user) { | |
if(user.validPassword(password)){ | |
user.updateKey(res); | |
} else { | |
res.status(400); | |
res.send({error: Say.error.wrongC}); | |
return false; | |
} | |
} else { | |
res.status(400) | |
res.send({error: Say.error.notFound}); | |
return false; | |
} | |
}); | |
} | |
}); | |
module.exports = router; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var express = require('express'); | |
var router = express.Router(); | |
var User = require('../../models/users.js'); | |
var Check = require('../../helpers/check.js'); | |
var Say = require('../../config/say.js'); | |
var Regex = require('../../config/regex.js'); | |
var Security = require('../../helpers/security.js'); | |
//CREATE | |
router.post('/signup',function(req, res, next){ | |
//check exist, if not exit at the point | |
//'g-recaptcha-response' | |
if(!Check.required(req, ['username', 'password', 'gender', 'birthdate'])){ | |
res.status(400); | |
res.send({error: Say.error.missingParams}); | |
return false; | |
} | |
Check.regex(req, [ | |
{param:'username', regex:Regex.username}, | |
{param:'password', regex: Regex.password} | |
]); | |
Check.isDate(req, ['birthdate']); | |
if(req.errors && req.errors.length > 1){ | |
res.status(400); | |
res.send({error: req.errors}); | |
} else { | |
//trimForComparisionAndValidation | |
var data = {}; | |
data.username = req.body.username.trim().toLowerCase(); | |
data.password = req.body.password.trim(); | |
data.gender = req.body.gender.trim().toLowerCase(); | |
data.birthdate = req.body.birthdate; | |
var role = "user"; | |
//if super admin signature exists | |
if(Security.hasSuperAdminSignature(req)){ | |
role = "admin"; | |
} | |
User.findOne({'username': data.username}, '_id', function(err, exists){ | |
if(exists) { | |
res.status(400); | |
res.send({error: Say.error.exists}); | |
} else if (err){ | |
res.status(400); | |
res.send({error: err}); | |
} else { | |
//creating new record | |
//Before adding a new role submitter id should be checked and role should be submited | |
var user = new User; | |
user.add(data, role, res); | |
} | |
}); | |
} | |
}); | |
module.exports = router; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment