text: import jsonwebtoken from 'jsonwebtoken';
  import User from '../models/User';
  
  class TokenController {
    async store(req, res) {
      const { email = '', password = '' } = req.body;
  
      if (!email || !password) {
        return res.status(401).json({
          errors: ['Credenciais Inválidas'],
        });
      }
  
      const user = await User.findOne({ where: { email } });
  
      if (!user) {
        return res.status(401).json({
          errors: ['Usuário Não Existe'],
        });
      }
  
      if (!(await user.passwordIsValid(password))) {
        return res.status(401).json({
          errors: ['Senha Inválida'],
        });
      }
  
      const { id } = user;
  
      // precisamos mandar o (payload: dados que queremos recuperar posteriormente
      // do usuário, para saber qual user tem aquele token), (secret: o token secret que criamos)
      const token = jsonwebtoken.sign({ id, email }, process.env.TOKEN_SECRET, {
        expiresIn: process.env.TOKEN_EXPIRATION,
      });
  
      return res.json({ token });
    }
  }
  
  export default new TokenController();
  