Advertisement
Guest User

Untitled

a guest
Nov 6th, 2016
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.02 KB | None | 0 0
  1.  
  2. var express = require('express')
  3. var app = express()
  4. var bodyParser = require('body-parser')
  5. var core_use = require('cors');
  6. var pg = require('pg');
  7.  
  8. app.use(core_use());
  9. app.use(bodyParser.urlencoded({ extended: false }))
  10. app.use(bodyParser.json())
  11.  
  12. var config = {
  13. user: 'gmello', //env var: PGUSER
  14. database: 'HOME_HELPER', //env var: PGDATABASE
  15. password: '123456', //env var: PGPASSWORD
  16. port: 5432, //env var: PGPORT
  17. max: 10, // max number of clients in the pool
  18. idleTimeoutMillis: 30000, // how long a client is allowed to remain idle before being closed
  19. };
  20.  
  21. var pool = new pg.Pool(config);
  22.  
  23. //--------------------------------------------------CATEGORIAS----------------------------------------------------//
  24. // rota com protocolo GET para seleção no banco de dados
  25. app.get('/consultaCategoria', function (req, res) {
  26.  
  27. pool.connect(function(err, client, done) {
  28. if(err) {
  29. return console.error('error fetching client from pool', err);
  30. }
  31. client.query('SELECT * FROM tb_categorias order by id_categoria', function(err, result) {
  32. done();
  33.  
  34. if(err) {
  35. return console.error('error running query', err);
  36. }
  37. res.setHeader('Access-Control-Allow-Origin','*');
  38. console.log(result.rows);
  39. res.json(result.rows);
  40. });
  41. });
  42. });
  43.  
  44.  
  45.  
  46. // rota com protocolo POST para inserção no banco de dados
  47. app.post('/insereCategoria', function (req, res) {
  48.  
  49. var descricao = req.body.descricao;
  50. var tipo = req.body.tipo;
  51. var id_categoria = req.body.id_categoria
  52.  
  53. pool.connect(function(err, client, done) {
  54. if(err) {
  55. return console.error('error fetching client from pool', err);
  56. }
  57. client.query("insert into tb_categorias (id_categoria, descricao, tipo) values ($1, $2, $3 )", [id_categoria, descricao, tipo], function(err, result) {
  58. //call `done()` to release the client back to the pool
  59. done();
  60.  
  61. if(err) {
  62. console.log('Descricao da categoria' + req.body.descricao);
  63. console.log('Descricao da categoria' + req.body.tipo);
  64. return console.error('error running query', err);
  65. }
  66.  
  67. res.send("Categoria Inserida com sucesso");
  68. });
  69. });
  70. });
  71.  
  72. // rota com protocolo DELETE para remoção no banco de dados
  73. app.delete('/removeCategoria/:id_categoria', function (req, res) {
  74.  
  75. var id_categoria = req.params.id_categoria
  76. pool.connect(function(err, client, done) {
  77. if(err) {
  78. return console.error('error fetching client from pool', err);
  79. }
  80. client.query('delete from td_categorias where id_categoria = ' +
  81. id_categoria, function(err, result) {
  82. //call `done()` to release the client back to the pool
  83. done();
  84.  
  85. if(err) {
  86. return console.error('error running query', err);
  87. }
  88.  
  89. res.setHeader('Access-Control-Allow-Origin','*');
  90. res.json(result.rows); // servidor retorna a consulta em formato json
  91. });
  92. });
  93. });
  94.  
  95. // rota com protocolo PUT para atualização no banco de dados
  96. app.put('/atualizaCategorias', function (req, res) {
  97.  
  98. pool.connect(function(err, client, done) {
  99. if(err) {
  100. return console.error('error fetching client from pool', err);
  101. }
  102. client.query('update td_categorias set id_categoria = ' +
  103. req.body.id_categoria + '\', descricao = ' + req.body.tipo +
  104. ' where id_categoria = '+
  105. req.body.id_categoria , function(err, result) {
  106. //call `done()` to release the client back to the pool
  107. done();
  108.  
  109. if(err) {
  110. return console.error('error running query', err);
  111. }
  112. res.setHeader('Access-Control-Allow-Origin','*');
  113. res.json(result.rows); // servidor retorna a consulta em formato json
  114. });
  115. });
  116. });
  117. //-------------------------------------------------- FIM - CATEGORIAS----------------------------------------------------//
  118.  
  119.  
  120.  
  121.  
  122. //--------------------------------------------------CONTROLE SUPRIMENTOS-----------------------------------------//
  123.  
  124. // rota com protocolo GET para seleção no banco de dados
  125. app.get('/consultaSup', function (req, res) {
  126.  
  127. pool.connect(function(err, client, done) {
  128. if(err) {
  129. return console.error('error fetching client from pool', err);
  130. }
  131. client.query('SELECT s.id_suprimento, s.descricao, c.descricao, s.quantidade, s.qnt_mensal, s.valor_unit FROM tb_controle_suprimentos s, tb_categorias c WHERE s.id_categoria = c.id_categoria ORDER BY s.id_suprimento;', function(err, result) {
  132. //call `done()` to release the client back to the pool
  133. done();
  134. if(err) {
  135. return console.error('error running query', err);
  136. }
  137. res.setHeader('Access-Control-Allow-Origin','*');
  138. console.log(result.rows);
  139. res.json(result.rows); // servidor retorna a consulta em formato json
  140.  
  141. });
  142. });
  143. });
  144.  
  145. // rota com protocolo POST para inserção no banco de dados
  146. app.post('/insereSup', function (req, res) {
  147.  
  148. pool.connect(function(err, client, done) {
  149. if(err) {
  150. return console.error('error fetching client from pool', err);
  151. }
  152. client.query('INSERT INTO tb_controle_suprimentos(id_suprimento,id_usuario, id_unidade, descricao, id_categoria, quantidade, qnt_mensal, valor_unit) values (' + req.body.id_suprimento +
  153. ', '+ req.body.id_unidade +',' + req.body.descricao + ', \' '+ req.body.id_categoria +',' + req.body.quantidade + ','+ req.body.qnt_mensal +', '+ req.body.valor_unit +')', function(err, result) {
  154. //call `done()` to release the client back to the pool
  155. done();
  156.  
  157. if(err) {
  158. return console.error('error running query', err);
  159. }
  160.  
  161. res.setHeader('Access-Control-Allow-Origin','*');
  162. res.json(result.rows); // servidor retorna a consulta em formato json
  163. });
  164. });
  165. });
  166.  
  167. // rota com protocolo DELETE para remoção no banco de dados
  168. app.delete('/removeSup/:id_suprimento', function (req, res) {
  169.  
  170. var id_suprimento = req.params.id_suprimento
  171. pool.connect(function(err, client, done) {
  172. if(err) {
  173. return console.error('error fetching client from pool', err);
  174. }
  175. client.query('delete from tb_controle_suprimentos where id_suprimento = ' +
  176. id_suprimento, function(err, result) {
  177. //call `done()` to release the client back to the pool
  178. done();
  179.  
  180. if(err) {
  181. return console.error('error running query', err);
  182. }
  183.  
  184. res.setHeader('Access-Control-Allow-Origin','*');
  185. res.json(result.rows); // servidor retorna a consulta em formato json
  186. });
  187. });
  188. });
  189.  
  190. // rota com protocolo PUT para atualização no banco de dados
  191. app.put('/atualizaSup', function (req, res) {
  192.  
  193. pool.connect(function(err, client, done) {
  194. if(err) {
  195. return console.error('error fetching client from pool', err);
  196. }
  197. client.query('update tb_controle_suprimentos set descricao = \'' +
  198. req.body.descricao + '\', categoria =' + req.body.categoria + ', quantidade = ' + req.body.quantidade +
  199. ', quant_mensal = '+ req.body.quant_mensal + ',' + req.body.valor_unit + ', \'' + req.body.valor_total +
  200. 'where id_suprimento = ' + req.body.id_compras , function(err, result) {
  201. //call `done()` to release the client back to the pool
  202. done();
  203.  
  204. if(err) {
  205. return console.error('error running query', err);
  206. }
  207. res.setHeader('Access-Control-Allow-Origin','*');
  208. res.json(result.rows); // servidor retorna a consulta em formato json
  209. });
  210. });
  211. });
  212.  
  213. //--------------------------------------------------fIM - CONTROLE SUPRIMENTOS-----------------------------------------//
  214.  
  215.  
  216.  
  217. //--------------------------------------------------CONTROLE ENERGIA-----------------------------------------//
  218.  
  219. // rota com protocolo GET para seleção no banco de dados
  220. app.get('/consultaEnergia', function (req, res) {
  221.  
  222. pool.connect(function(err, client, done) {
  223. if(err) {
  224. return console.error('error fetching client from pool', err);
  225. }
  226. client.query('SELECT M.DESCRICAO, A.ANO, E.TARIFA, E.CONSUMO, E.VALOR_CONTA FROM tb_controle_energia e INNER JOIN TB_MES m ON (e.ID_MES = m.ID_MES) INNER JOIN TB_ANO a ON (e.ID_ANO = a.ID_ANO);', function(err, result) {
  227. //call `done()` to release the client back to the pool
  228. done();
  229. if(err) {
  230. return console.error('error running query', err);
  231. }
  232. res.setHeader('Access-Control-Allow-Origin','*');
  233. console.log(result.rows);
  234. res.json(result.rows); // servidor retorna a consulta em formato json
  235.  
  236. });
  237. });
  238. });
  239.  
  240. // rota com protocolo POST para inserção no banco de dados
  241. app.post('/insereEnergia', function (req, res) {
  242.  
  243. pool.connect(function(err, client, done) {
  244. if(err) {
  245. return console.error('error fetching client from pool', err);
  246. }
  247. client.query('INSERT INTO tb_controle_energia(id_mes, id_ano, id_usuario, tarifa, consumo, valor_conta) values (' + req.body.id_mes + ', '+ req.body.id_ano + ', '+ req.body.id_usuario + ', ' + req.body.tarifa + ', ' + req.body.consumo + ', ' + req.body.valor_conta + ')', function(err, result) {
  248. //call `done()` to release the client back to the pool
  249. done();
  250.  
  251. if(err) {
  252. return console.error('error running query', err);
  253. }
  254.  
  255. res.setHeader('Access-Control-Allow-Origin','*');
  256. res.json(result.rows); // servidor retorna a consulta em formato json
  257. });
  258. });
  259. });
  260.  
  261. // rota com protocolo DELETE para remoção no banco de dados
  262. app.delete('/removeEnergia/:id_mes', function (req, res) {
  263.  
  264. var id_suprimento = req.params.id_suprimento
  265. pool.connect(function(err, client, done) {
  266. if(err) {
  267. return console.error('error fetching client from pool', err);
  268. }
  269. client.query('delete from tb_controle_energia where id_mes = ' +
  270. id_mes, function(err, result) {
  271. //call `done()` to release the client back to the pool
  272. done();
  273.  
  274. if(err) {
  275. return console.error('error running query', err);
  276. }
  277.  
  278. res.setHeader('Access-Control-Allow-Origin','*');
  279. res.json(result.rows); // servidor retorna a consulta em formato json
  280. });
  281. });
  282. });
  283.  
  284. // rota com protocolo PUT para atualização no banco de dados
  285. app.put('/atualizaEnergia', function (req, res) {
  286.  
  287. pool.connect(function(err, client, done) {
  288. if(err) {
  289. return console.error('error fetching client from pool', err);
  290. }
  291. client.query('update tb_controle_energia set id_mes = \'' +
  292. req.body.id_mes + '\', id_ano =' + req.body.id_ano + ', tarifa = ' + req.body.tarifa +
  293. ', consumo = '+ req.body.consumo + ',' + req.body.valor_conta +
  294. 'where id_mes = ' + req.body.id_mes , function(err, result) {
  295. //call `done()` to release the client back to the pool
  296. done();
  297.  
  298. if(err) {
  299. return console.error('error running query', err);
  300. }
  301. res.setHeader('Access-Control-Allow-Origin','*');
  302. res.json(result.rows); // servidor retorna a consulta em formato json
  303. });
  304. });
  305. });
  306.  
  307. //--------------------------------------------------FIM - CONTROLE ENERGIA-----------------------------------------//
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314. app.listen(3000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement