diff --git a/src/controllers/Auth.js b/src/controllers/Auth.js index 5a2c3f0..b50a293 100644 --- a/src/controllers/Auth.js +++ b/src/controllers/Auth.js @@ -11,6 +11,7 @@ import { const Auth = { async create(req, res) { + console.log(req.body); const { // eslint-disable-next-line camelcase email, first_name, last_name, password, userType @@ -48,10 +49,11 @@ const Auth = { * @returns {object} user object */ async login(req, res) { + console.log(req.body); const userQuery = 'SELECT * FROM Users WHERE email = $1'; const { email, password } = req.body; try { - const { rows } = await db.query(userQuery, [email]); + const { rows } = await db.query(userQuery, [email.trim().toLowerCase()]); if (!rows[0]) { return handleServerResponseError(res, 404, 'Account with Email not found'); } diff --git a/src/controllers/Trip.js b/src/controllers/Trip.js index e6ade2c..dbf036b 100644 --- a/src/controllers/Trip.js +++ b/src/controllers/Trip.js @@ -52,6 +52,7 @@ const Trip = { * @returns {object} response object */ async create(req, res) { + console.log(req.body); const { bus_id, origin, destination, trip_date, fare } = req.body; @@ -80,6 +81,7 @@ const Trip = { * @returns {object} response object */ async getTrips(req, res) { + console.log(req.body); try { const findAllQuery = 'SELECT * FROM Trips'; const { rows } = await db.query(findAllQuery); diff --git a/src/helpers/utils.js b/src/helpers/utils.js index fcb3a4f..85bce6e 100644 --- a/src/helpers/utils.js +++ b/src/helpers/utils.js @@ -32,10 +32,13 @@ export const handleServerResponse = (response, status, data) => response.status( * @returns {*} error response */ // eslint-disable-next-line max-len -export const handleServerResponseError = (response, status, message) => response.status(status).send({ - status: 'error', - error: message -}); +export const handleServerResponseError = (response, status, message) => { + logger().error(message); + return response.status(status).send({ + status: 'error', + error: message + }); +}; export const handleServerError = (res, error) => { logger().error(error); @@ -91,10 +94,11 @@ export const createToken = (id, isAdmin) => { * @returns {Object} response object */ export const hasToken = async (req, res, next) => { - const token = req.body.token || req.headers['x-access-token']; + const token = req.body.token || req.headers['x-access-token'] || req.headers.Authorization || req.body.Authorization; try { if (token) { - const decoded = await jwt.verify(token, process.env.SECRET); + const noBearer = token.replace(/Bearer\s/gi, ''); + const decoded = await jwt.verify(noBearer, process.env.SECRET); const text = 'SELECT * FROM Users WHERE id = $1'; const { rows } = await db.query(text, [decoded.id]); if (!rows[0]) { @@ -110,16 +114,17 @@ export const hasToken = async (req, res, next) => { }; /** - * @method hasToken + * @method isAdmin * @param {*} req * @param {*} res * @param {*} next * @returns {Object} response object */ export const isAdmin = async (req, res, next) => { - const token = req.body.token || req.headers['x-access-token']; + const token = req.body.token || req.headers['x-access-token'] || req.headers.Authorization; try { - const decoded = await jwt.verify(token, process.env.SECRET); + const noBearer = token.replace(/Bearer\s/gi, ''); + const decoded = await jwt.verify(noBearer, process.env.SECRET); if (req.body.is_admin) { return next(); }