Repository navigation
Expand file tree
/
Copy pathUsers.js
More file actions
101 lines (81 loc) · 2.66 KB
/
Copy pathUsers.js
File metadata and controls
101 lines (81 loc) · 2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
var con = require('./Connection')();
var __getUsers = function(req, res){
con.getConnection(function(connection){
connection.query("select * from usuario",function(err,rows){
connection.release();
if(!err) {
res.json(rows);
}
});
connection.on('error', function(err) {
res.json({"code" : 100, "status" : "Erro ao se conectar ao banco de dados"});
return;
});
});
}
var __authenticate = function(req,res,login, senha){
con.getConnection(function(connection){
var sql = `SELECT usuario.*, estabelecimento.id_estabelecimento
FROM usuario JOIN estabelecimento ON
usuario.id_usuario = estabelecimento.responsavel
WHERE login = ? and senha = ?`;
connection.query(sql,[login,senha],function(err,rows){
connection.release();
if(!err) {
if(rows.length < 1){
res.json(
{
authenticated : false,
msg: 'Usuario ou senha incorretos',
token: ''
});
}else{
res.json(
{
authenticated : true,
msg: 'Usuario autenticado com sucesso',
token: rows[0].token,
idUsuario: rows[0].id_usuario,
usuario: rows[0].login,
idEstabelecimento: rows[0].id_estabelecimento
});
}
}
});
connection.on('error', function(err) {
res.json({"code" : 100, "status" : "Erro ao se conectar ao banco de dados"});
return;
});
});
}
var __validateToken = function(token, response){
con.getConnection(function(connection){
connection.query("select token from usuario WHERE token = ?",[token],function(err,rows){
connection.release();
if(!err) {
if(rows.length < 1){
response(false);
}else{
response(true);
}
}
});
connection.on('error', function(err) {
response({"code" : 100, "status" : "Erro ao se conectar ao banco de dados"});
return;
});
});
}
module.exports = function(){
return {
getUsers : function(req,res){
__getUsers(req,res);
},
authenticate: function(req,res,login, senha){
__authenticate(req,res,login, senha);
},
validateToken: function(token,response){
__validateToken(token,response);
}
}
}