viabilidade/models/databaseModel.js

51 lines
1.6 KiB
JavaScript

const pool = require("../config/databaseConfig");
async function insertConsultaData(cep, estado, cidade, bairro, logradouro, dedicado, naoDedicado) {
const query = `INSERT INTO consultas (cep, estado, cidade, bairro, logradouro, dedicado, nao_dedicado, data_consulta) VALUES (?, ?, ?, ?, ?, ?, ?, NOW())`;
const values = [cep, estado, cidade, bairro, logradouro, dedicado, naoDedicado];
try {
// Executa a query de inserção e retornar se foi inserido com sucesso e o id da coluna id_consulta
const [result] = await pool.execute(query, values);
if (result.affectedRows === 1) {
const id = await getConsultaId();
console.info(
`[INFO] Dados de consulta inseridos com sucesso. ID: ${id}`
);
return;
}
} catch (error) {
console.error("[ERROR] Falha ao inserir dados de consulta:", error);
throw error;
}
}
async function getConsultaId() {
const query = `SELECT LAST_INSERT_ID() AS id_consulta`;
try {
const [rows] = await pool.execute(query);
return rows[0].id_consulta;
} catch (error) {
console.error("[ERROR] Falha ao buscar ID da última consulta:", error);
throw error;
}
}
async function getConsultaData(id) {
const query = `SELECT * FROM consultas WHERE id_consulta = ?`;
const values = [id];
try {
const [rows] = await pool.execute(query, values);
return rows[0];
} catch (error) {
console.error("[ERROR] Falha ao buscar dados de consulta:", error);
throw error;
}
}
module.exports = {
insertConsultaData,
getConsultaData
};