| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- const config = require("../config/pass");
- const { Usuario } = require("../models/Usuario");
- const bcrypt = require("bcrypt");
- const jwt = require("jsonwebtoken");
- const usuarios = require("../config/usuarios.json");
- module.exports = {
- Login: async function (req, res) {
- if (req.body.Senha == undefined) {
- return res.status(200).send({
- auth: false,
- token: null,
- data: { erro: "Não esqueceu de nada?" },
- });
- }
- console.log(bcrypt.hashSync(req.body.Senha, 8));
- var user = usuarios.find(
- (usuario) => usuario.Login == req.body.Login
- );
- if (!user) return res.status(404).send("Usuario não localizado.");
- if (user.Ativo == 0) return res.status(401).send("Usuario inativo");
- let passwordIsValid = bcrypt.compareSync(req.body.Senha, user.Senha);
- if (!passwordIsValid)
- return res.status(401).send("Combinação de usuario e senha inválida!");
- let token = jwt.sign({ id: user.Id, dados: user }, config.secret, {
- expiresIn: 86400, // expires in 24 hours
- });
- res.status(200).send({ auth: true, token: token, user: user });
- },
- Status: async function (req, res) {
- res.status(200).send({ ok: true, dados: req.user });
- },
- Listar: async function (req, res) {
- try {
- await Usuario.query()
- .then(async (usuarios) => {
- res.status(200).send(usuarios);
- })
- .catch((error) => {
- console.log(error);
- res.send(error);
- });
- } catch (error) {
- console.log(error);
- }
- },
- Cadastrar: async function (req, res) {
- try {
- let { DadosUsuario } = req.body;
- if (DadosUsuario) {
- await Usuario.query()
- .insert({
- Nome: DadosUsuario.Nome,
- Login: DadosUsuario.Login,
- Senha: bcrypt.hashSync(DadosUsuario.Senha, 8),
- Ativo: DadosUsuario.Status ? 1 : 0,
- Nivel: DadosUsuario.Nivel,
- Setor: 1,
- })
- .then(async (usuariocadastrado) => {
- res.status(200).send({ status: true, Usuario: usuariocadastrado });
- })
- .catch((error) => {
- console.log(error);
- res.send({ status: false, msg: "Erro ao cadastrar!" });
- });
- } else {
- res.status(401).send({ msg: "Informacoes faltando!" });
- }
- } catch (error) {
- console.log(error);
- res.status(500).send({ msg: "Erro interno." });
- }
- },
- Editar: async function (req, res) {
- try {
- let { DadosUsuario } = req.body;
- if (DadosUsuario) {
- await Usuario.query()
- .where("Id", DadosUsuario.Id)
- .first()
- .then(async (user) => {
- if (DadosUsuario.Senha == "") {
- var usered = {
- Nome: DadosUsuario.Nome,
- Login: DadosUsuario.Login,
- Nivel: parseInt(DadosUsuario.Nivel),
- Ativo: DadosUsuario.Status ? 1 : 0,
- Setor: 1,
- };
- } else {
- var usered = {
- Nome: DadosUsuario.Nome,
- Login: DadosUsuario.Login,
- Senha: bcrypt.hashSync(DadosUsuario.Senha, 8),
- Nivel: parseInt(DadosUsuario.Nivel),
- Ativo: DadosUsuario.Status ? 1 : 0,
- Setor: 1,
- };
- }
- user
- .$query()
- .patchAndFetchById(user.Id, usered)
- .then(async (usuarioatt, err) => {
- res.status(200).send({ status: true, Usuario: usuarioatt });
- })
- .catch((err) => {
- console.log(err);
- res.status(401).send({ status: false, erro: err });
- });
- })
- .catch((error) => {
- console.log(error);
- res.send({ status: false, msg: "Erro ao atualizar!" });
- });
- } else {
- res.status(401).send({ msg: "Informacoes faltando!" });
- }
- } catch (error) {
- console.log(error);
- res.status(500).send({ msg: "Erro interno." });
- }
- },
- };
|