Commit project
This commit is contained in:
parent
28471965a0
commit
3ac017a5ad
1030 changed files with 94062 additions and 0 deletions
65
middleware/auth-check.js
Normal file
65
middleware/auth-check.js
Normal file
|
@ -0,0 +1,65 @@
|
|||
'use strict';
|
||||
|
||||
const Merchant = require('mongoose').model('Merchant');
|
||||
const config = require('../etc');
|
||||
const atob = require('abab').atob;
|
||||
const Response = require('../etc/responses.json');
|
||||
|
||||
|
||||
module.exports = (req, res, next) => {
|
||||
var lang;
|
||||
if (req.query.language) {
|
||||
lang = req.query.language;
|
||||
}
|
||||
else if (req.body.language) {
|
||||
lang = req.body.language;
|
||||
}
|
||||
else {
|
||||
req.body.language = 'en';
|
||||
}
|
||||
|
||||
if (!req.headers.authorization) {
|
||||
return res.status(401).json({
|
||||
success: false,
|
||||
message: Response.r81[lang],
|
||||
error_code: 'e51'
|
||||
})
|
||||
}
|
||||
|
||||
const decoded = atob(req.headers.authorization.split(/ /)[1]);
|
||||
const userId = decoded.split(/:/)[0];
|
||||
const pwd = decoded.split(/:/)[1];
|
||||
|
||||
return Merchant.findById(userId, (userErr, user) => {
|
||||
// Check user id
|
||||
if (userErr || !user) {
|
||||
return res.status(401).json({
|
||||
success: false,
|
||||
message: 'UserId ' + userId + Response.r82[lang]
|
||||
});
|
||||
}
|
||||
|
||||
// Check password
|
||||
return user.comparePassword(pwd, (pwdErr, isMatch) => {
|
||||
if (pwdErr) {
|
||||
return done(pwdErr);
|
||||
}
|
||||
|
||||
if (!isMatch) {
|
||||
return res.status(401).json({
|
||||
success: false,
|
||||
message: Response.r83[lang]
|
||||
})
|
||||
}
|
||||
|
||||
if (!req.body.merchant_id) {
|
||||
req.body.merchant_id = userId;
|
||||
}
|
||||
else {
|
||||
console.log('Merchant déjà');
|
||||
}
|
||||
|
||||
return next();
|
||||
})
|
||||
});
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue