Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { Client } = require('pg');
- const express = require('express')
- const app = express()
- const conectionPG = {
- user: 'postgres',
- password: 'maxhito',
- host: 'localhost', // Localhost es MI COMPUTADOR
- database: 'postgres',
- port: '5432',
- };
- const bodyParser = require('body-parser')
- //especificamos el subdirectorio donde se encuentran las páginas estáticas
- app.use(express.static(__dirname + '/public'))
- //extended: false significa que parsea solo string (no archivos de imagenes por ejemplo)
- app.use(bodyParser.urlencoded({ extended: false }))
- // ********* AQUÍ COMIENZAN LAS RUTAS DE EXPRESS *********
- // Ingresar un pokemon a la BBDD
- app.post('/ingresarPokemonAction', (req, res) => {
- let numeroPokemon = req.body.numeroPokemon;
- let nombrePokemon = req.body.nombrePokemon;
- let tipoPokemon = req.body.tipoPokemon;
- numeroPokemon = parseInt(numeroPokemon);
- let sqlIngresoPokemon = "insert into pokemonGO (id, nombre, tipo) values (" + numeroPokemon + ", '" + nombrePokemon + "', '" + tipoPokemon + "')";
- console.log(sqlIngresoPokemon);
- const insertPokemon = new Client(conectionPG);
- insertPokemon.connect();
- insertPokemon.query(sqlIngresoPokemon)
- .then( respuesta =>
- {
- console.log("Se ingresó el Pokemon");
- insertPokemon.end();
- })
- .catch( error =>
- {
- console.log("Hicimos la Morición");
- console.log(error);
- insertPokemon.end();
- });
- let paginaExito = '<!doctype html><html><head></head><body>';
- paginaExito += '<h3>El pokemon se ha grabado exitosamente</h3>';
- paginaExito += '<br>';
- paginaExito += '<br>';
- paginaExito += '<a href="http://localhost:8080/pokemon.html"> Volver';
- paginaExito += '</body></html>';
- res.send(paginaExito);
- });
- // Mostrar los pokemones
- app.get('/mostrarPokemonesAction', (request, response) => {
- console.log("Entramos en mostrarPokemonesAction");
- let sqlConsulta = "select * from pokemonGO";
- const consultaPokemon = new Client(conectionPG);
- consultaPokemon.connect();
- consultaPokemon.query(sqlConsulta)
- .then( respuesta =>
- {
- let paginaExito = '<!doctype html><html><head></head><body>';
- paginaExito += '<h3>Los pokemones son los siguientes:</h3>';
- paginaExito += '<br>';
- paginaExito += '<table border=1>';
- paginaExito += '<tr>';
- paginaExito += '<th>Id Pokemon</th>';
- paginaExito += '<th>Nombre Pokemon</th>';
- paginaExito += '<th>Tipo Pokemon</th>';
- paginaExito += '<th>Eliminar</th>';
- paginaExito += '<th>Editar</th>';
- paginaExito += '</tr>';
- for (let i=0;i<respuesta.rows.length;i++) {
- paginaExito += '<tr>';
- paginaExito += '<th>' + respuesta.rows[i].id + '</th>';
- paginaExito += '<th>' + respuesta.rows[i].nombre + '</th>';
- paginaExito += '<th>' + respuesta.rows[i].tipo + '</th>';
- paginaExito += '<th><a href=eliminarPokemonAction?id=' + respuesta.rows[i].id + '>Eliminar Pokemon</th>';
- paginaExito += '<th><a href=editarPokemonAction?id=' + respuesta.rows[i].id + '>Editar Pokemon</th>';
- paginaExito += '</tr>';
- }
- paginaExito += '</table>';
- paginaExito += '<br>';
- paginaExito += '<a href="http://localhost:8080/pokemon.html"> Volver';
- paginaExito += '</body></html>';
- response.send(paginaExito);
- consultaPokemon.end();
- })
- .catch( error =>
- {
- console.log("Hicimos la Morición");
- console.log(error);
- consultaPokemon.end();
- });
- });
- // Eliminar una Región en la BBDD
- app.get('/eliminarPokemonAction', (request, response) => {
- const host = "localhost";
- let miURL = new URL(`http://${host}:${request.url}`);
- const parametros = miURL.searchParams.values;
- let idPokemon = 0;
- miURL.searchParams.forEach( (id, nombre) =>
- {
- idPokemon = id;
- console.log(`${id} ${nombre}`);
- });
- idPokemon = parseInt(idPokemon);
- let sqlDelete = "delete from pokemonGO where id = " + idPokemon + "";
- console.log(sqlDelete);
- const deletePokemon = new Client(conectionPG);
- deletePokemon.connect();
- deletePokemon.query(sqlDelete)
- .then( respuesta =>
- {
- console.log("Se eliminó el POkemon");
- deletePokemon.end();
- })
- .catch( error =>
- {
- console.log("Hicimos la Morición");
- console.log(error);
- deletePokemon.end();
- });
- response.redirect('mostrarPokemonesAction');
- });
- // Editar un Pokemon en la BBDD
- app.get('/editarPokemonAction', (request, response) => {
- const host = "localhost";
- let miURL = new URL(`http://${host}:${request.url}`);
- const parametros = miURL.searchParams.values;
- let idPokemon = 0;
- miURL.searchParams.forEach( (id, nombre) =>
- {
- idPokemon = id;
- console.log(`${id} ${nombre}`);
- });
- idPokemon = parseInt(idPokemon);
- // Vamos a traer el nombre y el tipo del pokemon, gracias al ID que tenemos
- sqlTraerNombre = "select nombre, tipo from pokemonGO where id=" + idPokemon;
- console.log(sqlTraerNombre);
- const consultarPokemon = new Client(conectionPG);
- consultarPokemon.connect();
- // constantes para los valores de nombre y tipo
- var nombreAnterior = "";
- var tipoAnterior = "";
- consultarPokemon.query(sqlTraerNombre)
- .then( respuesta =>
- {
- console.log("Se trajeron los datos del pokemon");
- // constantes para los valores de nombre y tipo
- var nombreAnterior = "";
- var tipoAnterior = "";
- nombreAnterior = respuesta.rows[0].nombre;
- tipoAnterior = respuesta.rows[0].tipo;
- console.log(nombreAnterior);
- console.log(tipoAnterior);
- consultarPokemon.end();
- // Fin de los select para recuperar el nombre y el tipo
- let paginaExito = '<!doctype html><html><head></head><body>';
- paginaExito += '<h3>Editar Pokemon:</h3>';
- paginaExito += '<br>';
- paginaExito += '<form action="editarNombreYTipoPokemonAction" method="post">';
- paginaExito += 'ID del Pokemon: ' + idPokemon;
- paginaExito += '<br>';
- paginaExito += '<br>';
- paginaExito += 'Ingrese el Nuevo Nombre del Pokemon:';
- paginaExito += '<br>';
- paginaExito += '<input type="text" name="nuevoNombrePokemon" size="50" value="' + nombreAnterior + '"><br></br>';
- paginaExito += 'Ingrese el Nuevo Tipo del Pokemon:';
- paginaExito += '<br>';
- paginaExito += '<input type="text" name="nuevoTipoPokemon" size="50" value="' + tipoAnterior + '"><br></br>';
- paginaExito += '<input type="submit" value="Modificar Pokemon">';
- paginaExito += '<input name="idPokemon" type="hidden" value="' + idPokemon + '"></input>'
- paginaExito += '</form>';
- paginaExito += '</body>';
- paginaExito += '</html>';
- response.send(paginaExito);
- })
- .catch( error =>
- {
- console.log("Hicimos la Morición");
- console.log(error);
- consultarPokemon.end();
- });
- });
- // Editar un Pokemon en la BBDD
- app.post('/editarNombreYTipoPokemonAction', (request, response) => {
- console.log("editarNombreYTipoPokemonAction");
- let idPokemon = request.body.idPokemon;
- let nuevoNombrePokemon = request.body.nuevoNombrePokemon;
- let nuevoTipoPokemon = request.body.nuevoTipoPokemon;
- console.log(idPokemon);
- console.log(nuevoNombrePokemon);
- console.log(nuevoTipoPokemon);
- idPokemon = parseInt(idPokemon);
- let sqlEditar = "update pokemonGO set nombre='" + nuevoNombrePokemon + "', tipo='" + nuevoTipoPokemon + "' where id = " + idPokemon + "";
- console.log(sqlEditar);
- const editarPokemon = new Client(conectionPG);
- editarPokemon.connect();
- editarPokemon.query(sqlEditar)
- .then( respuesta =>
- {
- console.log("Se editó el pokemon");
- console.log(respuesta);
- editarPokemon.end();
- })
- .catch( error =>
- {
- console.log("Hicimos la Morición");
- console.log(error);
- editarPokemon.end();
- });
- response.redirect('mostrarPokemonesAction');
- });
- /* INICIO DEL SERVIDOR */
- var server = app.listen(8080, () => {
- console.log('Servidor web iniciado')
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement