diff --git a/app/validation/auth.js b/app/validation/auth.js deleted file mode 100644 index 5d52846..0000000 --- a/app/validation/auth.js +++ /dev/null @@ -1,27 +0,0 @@ -const Joi = require('joi'); -const jwt = require('jsonwebtoken'); - -const secret = require.main.require('./config/secret'); - -module.exports = (req, res, next) => { - const schema = Joi.object().keys({ - access_token: Joi.string().required(), - }); - - Joi.validate({ - access_token: req.headers.authorization, - }, - schema, (validateErr) => { - if (validateErr) { - return next({ status: 401, error: validateErr.details }); - } - - return jwt.verify(req.headers.authorization, secret, (err) => { - if (err) { - return next({ status: 401, message: 'Token error.', error: [err] }); - } - - return next(); - }); - }); -}; diff --git a/app/validation/login.js b/app/validation/auth/login.js similarity index 100% rename from app/validation/login.js rename to app/validation/auth/login.js diff --git a/app/validation/register.js b/app/validation/auth/register.js similarity index 100% rename from app/validation/register.js rename to app/validation/auth/register.js diff --git a/app/validation/user/update.js b/app/validation/user/update.js new file mode 100644 index 0000000..7b1c56c --- /dev/null +++ b/app/validation/user/update.js @@ -0,0 +1,33 @@ +const Joi = require('joi'); + +module.exports = (req, res, next) => { + const schema = Joi.object().keys({ + firstname: Joi.string().min(2), + lastname: Joi.string().min(2), + email: Joi.string().email({ minDomainAtoms: 2 }), + password: Joi.string(), + new_password: Joi.string(), + }).with('password', 'new_password') + .without('firstname', 'password') + .without('lastname', 'password') + .without('email', 'password'); + + Joi.validate({ + firstname: req.body.firstname, + lastname: req.body.lastname, + email: req.body.email, + password: req.body.password, + new_password: req.body.new_password, + }, + schema, (validateErr) => { + if (validateErr) { + return next({ + status: 400, + message: 'Form is invalid.', + error: validateErr.details, + }); + } + + return next(); + }); +};