SIU_Dran_net/Server/Controller/DAOTutor.js

70 lines
2.6 KiB
JavaScript
Raw Normal View History

2024-06-03 14:13:02 +00:00
import Conexion from './Conexion.js';
import Tutor from '../Model/Tutor.js';
import logger from '../utils/logger.js';
import DAORegistro from './DAORegistro.js';
2024-05-25 05:38:51 +00:00
class DAOTutor {
static async agregarTutor(tutor) {
const conexion = new Conexion();
const conexionEstablecida = await conexion.conectar();
try {
2024-06-03 04:59:59 +00:00
const sql = `INSERT INTO tutor (nombre,apellido,numeroDeTelefono,idUsuario) VALUES (?,?,?,?);`;
2024-05-25 05:38:51 +00:00
const [result] = await conexionEstablecida.query(sql, [tutor.nombre, tutor.apellido, tutor.numeroDeTelefono, tutor.idUsuario]);
2024-06-03 04:59:59 +00:00
if (result.affectedRows > 0) {
// Registrar la operación
await DAORegistro.registrar({ getMatricula: () => tutor.idUsuario }, 'Agregó tutor', new Date().toISOString());
}
2024-05-25 05:38:51 +00:00
return result.affectedRows > 0;
} catch (error) {
2024-06-03 04:59:59 +00:00
logger.error(`Error al agregar tutor: ${error.message}`);
2024-05-25 05:38:51 +00:00
return false;
} finally {
conexion.cerrarConexion();
}
}
static async editarTutor(tutor) {
const conexion = new Conexion();
const conexionEstablecida = await conexion.conectar();
try {
const sql = `UPDATE tutor SET nombre = ?, apellido = ?, numeroDeTelefono = ? WHERE idUsuario = ?`;
const [result] = await conexionEstablecida.query(sql, [tutor.nombre, tutor.apellido, tutor.numeroDeTelefono, tutor.idUsuario]);
2024-06-03 04:59:59 +00:00
if (result.affectedRows > 0) {
await DAORegistro.registrar({ getMatricula: () => tutor.idUsuario }, 'Editó tutor', new Date().toISOString());
}
2024-05-25 05:38:51 +00:00
return result.affectedRows > 0;
} catch (error) {
2024-06-03 04:59:59 +00:00
logger.error(`Error al editar tutor: ${error.message}`);
2024-05-25 05:38:51 +00:00
return false;
} finally {
conexion.cerrarConexion();
}
}
static async traerTutor(id) {
const conexion = new Conexion();
const conexionEstablecida = await conexion.conectar();
try {
const sql = `SELECT id, nombre, apellido, numeroDeTelefono, idUsuario FROM tutor WHERE idUsuario = ?`;
const [rows] = await conexionEstablecida.query(sql, [id]);
if (rows.length > 0) {
const row = rows[0];
const tutor = new Tutor(row.id, row.nombre, row.apellido, row.numeroDeTelefono, row.idUsuario);
return tutor;
}
return null;
} catch (error) {
2024-06-03 04:59:59 +00:00
logger.error(`Error al traer tutor: ${error.message}`);
2024-05-25 05:38:51 +00:00
return null;
} finally {
conexion.cerrarConexion();
}
}
}
2024-06-03 04:59:59 +00:00
export default DAOTutor;