Advertisement
ADL_Rodrigo_Silva

Untitled

Jul 1st, 2022
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const { Client } = require('pg');
  2. const express = require('express')
  3. const app = express()
  4.  
  5. const conectionPG = {
  6.     user: 'postgres',
  7.     password: 'maxhito',
  8.     host: 'localhost',  // Localhost es MI COMPUTADOR
  9.     database: 'postgres',
  10.     port: '5432',
  11. };
  12.  
  13. const bodyParser = require('body-parser')
  14.  
  15. //especificamos el subdirectorio donde se encuentran las páginas estáticas
  16. app.use(express.static(__dirname + '/public'))
  17.  
  18. //extended: false significa que parsea solo string (no archivos de imagenes por ejemplo)
  19. app.use(bodyParser.urlencoded({ extended: false }))
  20.  
  21. /* ENRUTAMIENTO */
  22.  
  23. // Ingresar una Región a la BBDD
  24. app.post('/ingresarRegionAction', (req, res) => {
  25.  
  26.     let numRegion = req.body.numeroRegion;
  27.     let nomRegion = req.body.nombreRegion;
  28.  
  29.     numRegion = parseInt(numRegion);
  30.  
  31.     let sqlIngreso = "insert into region (id, nombre) values (" + numRegion + ", '" + nomRegion + "')";
  32.  
  33.     const insertRegion = new Client(conectionPG);
  34.     insertRegion.connect();
  35.  
  36.     insertRegion.query(sqlIngreso)
  37.     .then( respuesta =>
  38.         {
  39.             console.log("Se ingresó la Región");
  40.             insertRegion.end();
  41.         })
  42.     .catch( error =>
  43.         {
  44.             console.log("Hicimos la Morición");
  45.             console.log(error);
  46.             insertRegion.end();
  47.         });
  48.  
  49.         let paginaExito = '<!doctype html><html><head></head><body>';
  50.         paginaExito += '<h3>La región se ha grabado exitosamente</h3>';
  51.         paginaExito += '<br>';
  52.         paginaExito += '<br>';
  53.         paginaExito += '<a href="http://localhost:8080/region.html"> Volver';
  54.         paginaExito += '</body></html>';
  55.  
  56.         res.send(paginaExito);
  57.  
  58.   });
  59.  
  60. // Mostrar las Regiones
  61. app.get('/mostrarRegionesAction', (req, res) => {  
  62.  
  63.     console.log("Entramos en mostrarRegionesAction");
  64.     let sqlConsulta = "select * from region";
  65.  
  66.     const consultaRegiones = new Client(conectionPG);
  67.     consultaRegiones.connect();
  68.  
  69.     consultaRegiones.query(sqlConsulta)
  70.     .then( respuesta =>
  71.         {
  72.  
  73.             let paginaExito = '<!doctype html><html><head></head><body>';
  74.             paginaExito += '<h3>Las regiones son las siguientes:</h3>';
  75.             paginaExito += '<br>';
  76.             paginaExito += '<table border=1>';
  77.             paginaExito +=      '<tr>';
  78.             paginaExito +=          '<th>Id Región</th>';
  79.             paginaExito +=          '<th>Nombre Región</th>';
  80.             paginaExito +=          '<th>Acciones</th>';
  81.             paginaExito +=      '</tr>';
  82.  
  83.             for (let i=0;i<respuesta.rows.length;i++) {
  84.                 paginaExito +=      '<tr>';
  85.                 paginaExito +=          '<th>' + respuesta.rows[i].id + '</th>';
  86.                 paginaExito +=          '<th>' + respuesta.rows[i].nombre + '</th>';
  87.                 paginaExito +=          '<th><a href=eliminarRegionAction?id=' + respuesta.rows[i].id +  '>Eliminar Región</th>';
  88.                 paginaExito +=      '</tr>';
  89.             }  
  90.             paginaExito += '</table>';
  91.             paginaExito += '<br>';
  92.             paginaExito += '<a href="http://localhost:8080/region.html"> Volver';
  93.             paginaExito += '</body></html>';
  94.  
  95.             res.send(paginaExito);
  96.  
  97.             consultaRegiones.end();
  98.         })
  99.     .catch( error =>
  100.         {
  101.             console.log("Hicimos la Morición");
  102.             console.log(error);
  103.             consultaRegiones.end();
  104.         });
  105. });
  106.  
  107.  
  108. // Eliminar una Región en la BBDD
  109. app.get('/eliminarRegionAction', (req, res) => {
  110.  
  111.     const host = "localhost";
  112.     let miURL = new URL(`http://${host}:${req.url}`);
  113.     const parametros = miURL.searchParams.values;
  114.  
  115.     let idRegion = 0;
  116.  
  117.     miURL.searchParams.forEach( (id, nombre) =>
  118.     {
  119.         idRegion = id;
  120.         console.log(`${id} ${nombre}`);
  121.     });
  122.  
  123.     idRegion = parseInt(idRegion);
  124.  
  125.     let sqlDelete = "delete from region where id = "  + idRegion + "";
  126.     console.log(sqlDelete);
  127.     const deleteRegion = new Client(conectionPG);
  128.     deleteRegion.connect();
  129.  
  130.     deleteRegion.query(sqlDelete)
  131.     .then( respuesta =>
  132.         {
  133.             console.log("Se eliminó la Región");
  134.             deleteRegion.end();
  135.         })
  136.     .catch( error =>
  137.         {
  138.             console.log("Hicimos la Morición");
  139.             console.log(error);
  140.             deleteRegion.end();
  141.         });
  142.  
  143.         res.redirect('mostrarRegionesAction');
  144.  
  145.   });
  146.  
  147.  
  148. /* INICIO DEL SERVIDOR */
  149.  
  150. var server = app.listen(8080, () => {
  151.     console.log('Servidor web iniciado')
  152. })
  153.  
  154.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement