From b6a29905b6bfb21dd47fcdafc97a6c161ad98e7c Mon Sep 17 00:00:00 2001 From: Pedro_Everton Date: Mon, 26 Aug 2024 21:06:09 -0300 Subject: [PATCH] Added post room route for API Created the code for adding a new republic to the database via API --- api.js | 46 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/api.js b/api.js index 91e6cb3..4473df8 100644 --- a/api.js +++ b/api.js @@ -1,3 +1,21 @@ +//connection with the database +const mysql = require('mysql2/promise'); + +const db = mysql.createPool({ + host: 'localhost', + user: 'root', + password: 'password', + database: 'unirepdb_basic' +}); + +db.connect((err) => { + if (err) { + console.error('Erro ao conectar ao banco de dados:', err); + } else { + console.log('Conectado ao banco de dados MySQL'); + } +}); + const express = require('express'); const app = express(); const path = require('path'); @@ -45,21 +63,29 @@ app.get('/api/v1/rooms/:id', (req, res) => { }); // Create one room -app.post("/api/v1/rooms", async (req, res) => { +app.post('/api/v1/rooms', async (req, res) => { + const { nome, cep, complemento, numero, emaildono } = req.body; + + // Validação básica + if (!nome || !cep || !numero || !emaildono) { + return res.status(400).json({ message: "Preencha todos os campos obrigatórios" }); + } + try { + const [result] = await db.execute( + `INSERT INTO REPUBLICA (nome, cep, complemento, numero, emaildono) + VALUES (?, ?, ?, ?, ?)`, + [nome, cep, complemento, numero, emaildono] + ); - } catch (error) { - console.log(error) + res.status(201).json({ message: "República criada com sucesso!", idRepublica: result.insertId }); + } catch (err) { + console.error("Erro ao criar república:", err); + res.status(500).json({ message: "Erro ao criar república" }); } - console.log(req.body); - res.status(201).json({ - status: "success", - data: { - room: "005" - } - }); }); + // Update one room app.put("/api/v1/rooms/:id", (req, res) => { console.log(req.params.id);