From dbf4f8696579856391f1da53a2c648d1a3ef539f Mon Sep 17 00:00:00 2001 From: Augusto Luchesi Matos Date: Thu, 1 Feb 2024 15:18:40 -0300 Subject: [PATCH] feat: database --- App.js | 16 ++++++++++++++++ server.js | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 server.js diff --git a/App.js b/App.js index 54ea237..3b4f882 100644 --- a/App.js +++ b/App.js @@ -114,7 +114,23 @@ export default class App extends React.Component { // Faz algo com a posição do robô (por exemplo, salva em um estado ou banco de dados) + const data = { + name: 'testando', // Substitua com o nome real do robô + x: robotPosition.pose.pose.position.x, + y: robotPosition.pose.pose.position.y, + z: robotPosition.pose.pose.position.z + }; + fetch('/save-coordinates', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(data), + }) + .then(response => response.text()) + .then(result => console.log(result)) + .catch(error => console.error('Erro ao salvar coordenadas:', error)); // Cancela a inscrição do tópico '/odom' após receber a posição do robô this.socket.send(JSON.stringify({ op: 'unsubscribe', diff --git a/server.js b/server.js new file mode 100644 index 0000000..31764e4 --- /dev/null +++ b/server.js @@ -0,0 +1,33 @@ +const express = require('express'); +const { Pool } = require('pg'); +const app = express(); + +app.use(express.json()); // Para parsear o corpo das requisições JSON + +const pool = new Pool({ + user: 'postgres', + host: 'localhost', + database: 'postgres', + password: 'abc123', + port: 5432, +}); + +app.post('/save-coordinates', async (req, res) => { + const { name, x, y, z } = req.body; + const time = new Date(); // Gera o timestamp atual + + try { + const queryText = 'INSERT INTO coordenadas(name, time, x, y, z) VALUES($1, $2, $3, $4, $5)'; + const queryValues = [name, time, x, y, z]; + await pool.query(queryText, queryValues); + res.status(200).send('Coordenadas salvas com sucesso!'); + } catch (error) { + console.error('Erro ao salvar coordenadas', error); + res.status(500).send('Erro ao salvar coordenadas'); + } +}); + +const port = 3000; +app.listen(port, () => { + console.log(`Servidor rodando na porta ${port}`); +}); \ No newline at end of file