Skip to content

Commit

Permalink
adicionando bd #51
Browse files Browse the repository at this point in the history
  • Loading branch information
ThiagoBenz committed Jul 31, 2024
1 parent e5005b7 commit 5bf4d8e
Show file tree
Hide file tree
Showing 3 changed files with 935 additions and 14 deletions.
81 changes: 67 additions & 14 deletions Backend/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,33 +11,86 @@ app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});

// Configura o body-parser para analisar o corpo das requisições JSON
app.use(bodyParser.json());

Check failure on line 15 in Backend/src/index.js

View workflow job for this annotation

GitHub Actions / Build (18.x)

'bodyParser' is not defined


//Importa a classe Usuario do arquivo usuario.js
const Usuario = require('./usuario');

Check failure on line 19 in Backend/src/index.js

View workflow job for this annotation

GitHub Actions / Build (18.x)

'Usuario' is assigned a value but never used



// Define o caminho para o banco de dados SQLite
const dbPath = path.resolve(__dirname, 'my-database.db');

Check failure on line 24 in Backend/src/index.js

View workflow job for this annotation

GitHub Actions / Build (18.x)

'path' is not defined

Check failure on line 24 in Backend/src/index.js

View workflow job for this annotation

GitHub Actions / Build (18.x)

'__dirname' is not defined

// Cria uma nova instância do banco de dados SQLite
const db = new sqlite3.Database(dbPath, (err) => {

Check failure on line 27 in Backend/src/index.js

View workflow job for this annotation

GitHub Actions / Build (18.x)

'sqlite3' is not defined
if (err) {
console.error('Erro ao conectar ao banco de dados:', err.message);
} else {
console.log('Conectado ao banco de dados SQLite.');
}
});

// Cria a tabela "user" se não existir
db.run(`CREATE TABLE IF NOT EXISTS user (
nome TEXT NOT NULL,
idade INTEGER NOT NULL,
id INTEGER NOT NULL UNIQUE,
email TEXT NOT NULL,
resultado-teste TEXT,
localizacao TEXT,
PRIMARY KEY(id)
)`, (err) => {
if (err) {
console.error('Erro ao criar a tabela:', err.message);
} else {
console.log('Tabela "user" criada ou já existe.');
}
});

// Rota para cadastrar um novo usuário
app.post('/usuarios', (req, res) => {
const { nome, idade, user, email, telefone, sexo } = req.body;
const novoUsuario = new Usuario(nome, idade, user, email, telefone, sexo);
const { nome, idade, email, resultado_teste, localizacao } = req.body;

// Verifica se o usuário é maior de idade
//const maiorDeIdade = novoUsuario.isMaiorDeIdade();

// Adicione lógica para salvar o usuário em um banco de dados aqui
const isMaiorDeIdade = idade >= 18; // Lógica para verificar a maioridade

// Verifica se o usuário é maior de idade
if (novoUsuario.isMaiorDeIdade()) {
// Adicione lógica para salvar o usuário em um banco de dados aqui

if (isMaiorDeIdade) {
// Adiciona o novo usuário ao banco de dados
const sql = `INSERT INTO user (nome, idade, email, resultado-teste, localizacao) VALUES (?, ?, ?, ?, ?)`;
db.run(sql, [nome, idade, email, resultado_teste, localizacao], function(err) {
if (err) {
return res.status(500).send({
message: 'Erro ao cadastrar o usuário.',
error: err.message
});
}
res.status(201).send({
message: 'Usuário cadastrado com sucesso',
usuario: novoUsuario
usuario: { id: this.lastID, nome, idade, email, resultado_teste, localizacao }
});
});
} else {
res.status(400).send({
message: 'Cadastro não permitido. O usuário deve ser maior de 18 anos.'
});
}
});

// Inicia o servidor e faz com que ele comece a escutar na porta definida
app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});

// Feche a conexão com o banco de dados quando o processo for encerrado
process.on('SIGINT', () => {

Check failure on line 87 in Backend/src/index.js

View workflow job for this annotation

GitHub Actions / Build (18.x)

'process' is not defined
db.close((err) => {
if (err) {
console.error('Erro ao fechar a conexão com o banco de dados:', err.message);
} else {
res.status(400).send({
message: 'Cadastro não permitido. O usuário deve ser maior de 18 anos.'
});
console.log('Conexão com o banco de dados fechada.');
}

process.exit(0);

Check failure on line 94 in Backend/src/index.js

View workflow job for this annotation

GitHub Actions / Build (18.x)

'process' is not defined
});
});
5 changes: 5 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"dependencies": {
"sqlite3": "^5.1.7"
}
}
Loading

0 comments on commit 5bf4d8e

Please sign in to comment.