Skip to content

Commit

Permalink
feat(middleware): inclusão do middleware 'authentication'
Browse files Browse the repository at this point in the history
  • Loading branch information
PauloGoncalvesBH committed May 9, 2020
1 parent 5ed2650 commit 05c204a
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 35 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
const authService = require('../services/auth-service')
const constant = require('../utils/constants')
const usuariosService = require('../services/usuarios-service')
const { tokenValido } = require('../utils/authentication')

exports.checkAdm = async (req, res, next) => {
try {
Expand All @@ -30,3 +29,21 @@ exports.checkToken = async (req, res, next) => {
res.status(500).send({ message: constant.INTERNAL_ERROR, error })
}
}

async function tokenValido ({ authorization }) {
if (authorization === undefined) return false

const semBearer = authorization.split(' ')[0] !== 'Bearer'
const semToken = authorization.split(' ')[1] === undefined

if (semBearer || semToken) {
return false
}

const tokenDecodificado = authService.verifyToken(authorization)
if (tokenDecodificado.email === undefined || tokenDecodificado.password === undefined) {
return false
}

return usuariosService.existeUsuario({ email: tokenDecodificado.email, password: tokenDecodificado.password })
}
8 changes: 4 additions & 4 deletions src/routes/carrinhos-route.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

const express = require('express')

const authController = require('../controllers/auth-controller')
const authentication = require('../middlewares/authentication-middleware')
const controller = require('../controllers/carrinhos-controller')
const model = require('../models/carrinhos-model')
const validateSchema = require('../services/validateSchema-service')

const router = express.Router()
router.get('/', validateSchema(model.schemaGet), controller.get)
router.post('/', authController.checkToken, validateSchema(model.schemaPost), controller.post)
router.delete('/concluir-compra', authController.checkToken, controller.concluirCompra)
router.delete('/cancelar-compra', authController.checkToken, controller.cancelarCompra)
router.post('/', authentication.checkToken, validateSchema(model.schemaPost), controller.post)
router.delete('/concluir-compra', authentication.checkToken, controller.concluirCompra)
router.delete('/cancelar-compra', authentication.checkToken, controller.cancelarCompra)

module.exports = router
8 changes: 4 additions & 4 deletions src/routes/produtos-route.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

const express = require('express')

const authController = require('../controllers/auth-controller')
const authentication = require('../middlewares/authentication-middleware')
const controller = require('../controllers/produtos-controller')
const model = require('../models/produtos-model')
const validateSchema = require('../services/validateSchema-service')

const router = express.Router()
router.get('/', validateSchema(model.schemaGet), controller.get)
router.post('/', authController.checkAdm, validateSchema(model.schemaPost), controller.post)
router.delete('/:id', authController.checkAdm, validateSchema(model.schemaDelete), controller.delete)
router.put('/:id', authController.checkAdm, validateSchema(model.schemaPut), controller.put)
router.post('/', authentication.checkAdm, validateSchema(model.schemaPost), controller.post)
router.delete('/:id', authentication.checkAdm, validateSchema(model.schemaDelete), controller.delete)
router.put('/:id', authentication.checkAdm, validateSchema(model.schemaPut), controller.put)

module.exports = router
26 changes: 0 additions & 26 deletions src/utils/authentication.js

This file was deleted.

0 comments on commit 05c204a

Please sign in to comment.