| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- const Token = require('../database/models/token')
- const bcrypt = require('bcryptjs')
-
- const loginUser = async (req, res, next) => {
- try {
- const findUser = await Token.findByCredentials(req.body.email, req.body.password)
-
- if (!findUser) {
- return res.status(400).send('Wrong credentials!')
- }
- const isValidPassword = await bcrypt.compare(req.body.password, findUser.password)
- if (!isValidPassword) {
- return res.status(400).send('Wrong credentials!')
- }
- const token = await Token.generateAuthToken(findUser)
-
- return res.status(201).send(findUser)
- } catch (e) {
- next(e)
- }
- }
-
- const logout = async (req, res) => {
- const result = await Token.destroyToken(req.body.token)
- if (!result) {
- return res.status(404).send('No user has the token provided!')
- }
- return res.send('Token ' + req.body.token + ' invalidated!')
- }
-
- const refreshUserToken = async (req, res) => {
- const form = {
- token: req.body.token
- }
- const result = await Token.refreshAuthToken(form.token)
- if (!result) {
- return res.status(404).send('Token not valid!')
- }
-
- return res.status(201).send('Token ' + result + ' refreshed successfully!')
- }
-
- module.exports = { loginUser, logout, refreshUserToken }
|