Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233
  1. const { Router } = require("express")
  2. const User = require("../models/token")
  3. const Token = require('../models/token')
  4. const bcrypt = require('bcryptjs')
  5. const loginUser = async (req, res) => {
  6. try {
  7. const findUser = await Token.findByCredentials(req.body.email, req.body.password)
  8. if(!findUser) {
  9. return res.status(400).send('Wrong credentials!')
  10. }
  11. const isValidPassword = await bcrypt.compare(req.body.password, findUser.password)
  12. if(!isValidPassword) {
  13. return res.status(400).send('Password is incorrect!')
  14. }
  15. const token = await Token.generateAuthToken(findUser)
  16. return res.send(findUser)
  17. } catch (e) {
  18. return res.status(500).send(e)
  19. }
  20. }
  21. const logout = async (req, res) => {
  22. const result = await Token.destroyToken(req.body.token)
  23. if(!result) {
  24. return res.status(404).send('No user has the token provided!')
  25. }
  26. return res.send('Token ' + req.body.token + ' invalidated!')
  27. }
  28. module.exports = { loginUser, logout }