70 lines
2.6 KiB
JavaScript
70 lines
2.6 KiB
JavaScript
import Conexion from './Conexion.js';
|
|
import Tutor from '../Model/Tutor.js';
|
|
import logger from '../utils/logger.js';
|
|
import DAORegistro from './DAORegistro.js';
|
|
|
|
class DAOTutor {
|
|
|
|
static async agregarTutor(tutor) {
|
|
const conexion = new Conexion();
|
|
const conexionEstablecida = await conexion.conectar();
|
|
try {
|
|
const sql = `INSERT INTO tutor (nombre,apellido,numeroDeTelefono,idUsuario) VALUES (?,?,?,?);`;
|
|
const [result] = await conexionEstablecida.query(sql, [tutor.nombre, tutor.apellido, tutor.numeroDeTelefono, tutor.idUsuario]);
|
|
|
|
if (result.affectedRows > 0) {
|
|
// Registrar la operación
|
|
await DAORegistro.registrar({ getMatricula: () => tutor.idUsuario }, 'Agregó tutor', new Date().toISOString());
|
|
}
|
|
|
|
return result.affectedRows > 0;
|
|
} catch (error) {
|
|
logger.error(`Error al agregar tutor: ${error.message}`);
|
|
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]);
|
|
|
|
if (result.affectedRows > 0) {
|
|
await DAORegistro.registrar({ getMatricula: () => tutor.idUsuario }, 'Editó tutor', new Date().toISOString());
|
|
}
|
|
|
|
return result.affectedRows > 0;
|
|
} catch (error) {
|
|
logger.error(`Error al editar tutor: ${error.message}`);
|
|
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) {
|
|
logger.error(`Error al traer tutor: ${error.message}`);
|
|
return null;
|
|
} finally {
|
|
conexion.cerrarConexion();
|
|
}
|
|
}
|
|
}
|
|
|
|
export default DAOTutor; |