ZoeApi/connections/sql-server.js

80 lines
2.8 KiB
JavaScript

const sql = require('mssql');
require('../helpers/config');
require('../helpers/CheckToken');
const ip = Variables('ip_sqlServer');
const user = Variables('user_sqlServer');
const pass = Variables('password_sqlServer');
require("dotenv-safe").load();
var jwt = require('jsonwebtoken');
const connStr = "Server=" + ip + ";User Id=" + user + ";Password=" + pass;
global.AtualizaConexaoSQLServer = function AtualizaConexaoSQLServer() {
console.log("Renovando conexão SQLServer...");
try {
sql.close();
}
catch (e) {}
sql.connect(connStr).then(sqlServerConnection => {
global.sqlServerConnection = sqlServerConnection;
console.log('SQLServer Conectado!');
}).catch(err => {
global.sqlServerConnection = null;
console.log("Impossivel conectar ao SQL Server...");
//console.log(err)
});
}
AtualizaConexaoSQLServer();
global.execSQLQuery2 = function execSQLQuery2(sqlQry, res, req, callback = null) {
if (Variables("local") == "Local") {
res.send(JSON.stringify({
"status": 403,
"error": "Modo de emergência, SQL Server desconectado",
"response": []
}));
console.log(new Date().toUTCString() + " - " + req + "/ error 403");
return;
}
sqlServerConnection.request().query(sqlQry, function (error, results, fields) {
let Retorno = [];
if (error || results.length == 0) {
Retorno = { "status": 500, "error": error, "response": [] };
}
else {
Retorno = { "status": 200, "error": error, "response": results.recordsets };
}
res.send(JSON.stringify(Retorno));
console.log(new Date().toUTCString() + ` - ${req}/ ${(Retorno.status == 500) ? 'error' : 'success'} ${Retorno.status}`);
if (callback)
callback(Retorno);
});
};
global.execSQLQueryLogin = function execSQLQueryLogin(sqlQry, res, req) {
sqlServerConnection.request().query(sqlQry, function (error, results, fields) {
if (error || results.recordsets[0].length == 0) {
res.send(JSON.stringify({
"status": 500,
"error": error,
"response": [],
"token": null
}))
console.log(new Date().toUTCString() + " - " + req + "/ error 500");
}
else {
var token = jwt.sign({ id }, process.env.SECRET, {
expiresIn: Variables('time_token')
});
res.send(JSON.stringify({
"status": 200,
"error": error,
"response": results.recordsets,
"token": token //encriptPassword(token, token.length)
}));
console.log(new Date().toUTCString() + " - " + req + "/ success 200");
}
})
};