Advertisement
ADL_Rodrigo_Silva

Untitled

Jul 1st, 2022
186
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>Eliminar</th>';
  81.             paginaExito +=          '<th>Editar</th>';
  82.             paginaExito +=      '</tr>';
  83.  
  84.             for (let i=0;i<respuesta.rows.length;i++) {
  85.                 paginaExito +=      '<tr>';
  86.                 paginaExito +=          '<th>' + respuesta.rows[i].id + '</th>';
  87.                 paginaExito +=          '<th>' + respuesta.rows[i].nombre + '</th>';
  88.                 paginaExito +=          '<th><a href=eliminarRegionAction?id=' + respuesta.rows[i].id +  '>Eliminar Región</th>';
  89.                 paginaExito +=          '<th><a href=editarRegionAction?id=' + respuesta.rows[i].id +  '>Editar Región</th>';
  90.                 paginaExito +=      '</tr>';
  91.             }  
  92.             paginaExito += '</table>';
  93.             paginaExito += '<br>';
  94.             paginaExito += '<a href="http://localhost:8080/region.html"> Volver';
  95.             paginaExito += '</body></html>';
  96.  
  97.             res.send(paginaExito);
  98.  
  99.             consultaRegiones.end();
  100.         })
  101.     .catch( error =>
  102.         {
  103.             console.log("Hicimos la Morición");
  104.             console.log(error);
  105.             consultaRegiones.end();
  106.         });
  107. });
  108.  
  109.  
  110. // Eliminar una Región en la BBDD
  111. app.get('/eliminarRegionAction', (req, res) => {
  112.  
  113.     const host = "localhost";
  114.     let miURL = new URL(`http://${host}:${req.url}`);
  115.     const parametros = miURL.searchParams.values;
  116.  
  117.     let idRegion = 0;
  118.  
  119.     miURL.searchParams.forEach( (id, nombre) =>
  120.     {
  121.         idRegion = id;
  122.         console.log(`${id} ${nombre}`);
  123.     });
  124.  
  125.     idRegion = parseInt(idRegion);
  126.  
  127.     let sqlDelete = "delete from region where id = "  + idRegion + "";
  128.     console.log(sqlDelete);
  129.     const deleteRegion = new Client(conectionPG);
  130.     deleteRegion.connect();
  131.  
  132.     deleteRegion.query(sqlDelete)
  133.     .then( respuesta =>
  134.         {
  135.             console.log("Se eliminó la Región");
  136.             deleteRegion.end();
  137.         })
  138.     .catch( error =>
  139.         {
  140.             console.log("Hicimos la Morición");
  141.             console.log(error);
  142.             deleteRegion.end();
  143.         });
  144.  
  145.         res.redirect('mostrarRegionesAction');
  146.  
  147.   });
  148.  
  149. // Editar una Región en la BBDD
  150. app.get('/editarRegionAction', (req, res) => {
  151.  
  152.     const host = "localhost";
  153.     let miURL = new URL(`http://${host}:${req.url}`);
  154.     const parametros = miURL.searchParams.values;
  155.  
  156.     let idRegion = 0;
  157.  
  158.     miURL.searchParams.forEach( (id, nombre) =>
  159.     {
  160.         idRegion = id;
  161.         console.log(`${id} ${nombre}`);
  162.     });
  163.  
  164.     idRegion = parseInt(idRegion);
  165.  
  166.     let paginaExito = '<!doctype html><html><head></head><body>';
  167.     paginaExito += '<h3>Editar Región:</h3>';
  168.     paginaExito += '<br>';
  169.     paginaExito += '<form action="editarNombreRegionAction" method="post">';
  170.     paginaExito += 'ID de laRegión:' + idRegion;
  171.     paginaExito += '<br>';
  172.     paginaExito += 'Ingrese el Nuevo Nombre de la Región:';
  173.     paginaExito += '<br>';
  174.     paginaExito += '<input type="text" name="nuevoNombreRegion" size="50"><br></br>';
  175.     paginaExito += '<input type="submit" value="Modificar Región">';
  176.     paginaExito += '<input name="idRegion" type="hidden" value="' + idRegion + '"></input>'
  177.     paginaExito += '</form>';
  178.     paginaExito += '</body>';
  179.     paginaExito += '</html>';
  180.  
  181.     res.send(paginaExito);
  182.  
  183. });
  184.  
  185. // Editar una Región en la BBDD
  186. app.post('/editarNombreRegionAction', (req, res) => {
  187.     console.log("editarNombreRegionAction");
  188.    
  189.     let numRegion = req.body.idRegion;
  190.     let nomRegion = req.body.nuevoNombreRegion;
  191.     console.log(numRegion);
  192.     console.log(nomRegion);
  193.  
  194.     numRegion = parseInt(numRegion);
  195.  
  196.     let sqlEditar = "update region set nombre='" + nomRegion + "' where id = "  + numRegion + "";
  197.     console.log(sqlEditar);
  198.     const editarRegion = new Client(conectionPG);
  199.     editarRegion.connect();
  200.  
  201.     editarRegion.query(sqlEditar)
  202.     .then( respuesta =>
  203.         {
  204.             console.log("Se editó la Región");
  205.             editarRegion.end();
  206.         })
  207.     .catch( error =>
  208.         {
  209.             console.log("Hicimos la Morición");
  210.             console.log(error);
  211.             editarRegion.end();
  212.         });
  213.  
  214.         res.redirect('mostrarRegionesAction');
  215.  
  216.   });
  217.  
  218. /* INICIO DEL SERVIDOR */
  219.  
  220. var server = app.listen(8080, () => {
  221.     console.log('Servidor web iniciado')
  222. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement