const BaseController = require('./base.controller');
const { Resultado, Cita, ItemLaboratorio } = require('../models');

class ResultadoController extends BaseController {
  constructor() {
    super(Resultado, 'Resultado', []);
  }

  // Obtener por cita
  getByCita = async (req, res, next) => {
    try {
      const { citaId } = req.params;
      
      const data = await Resultado.findAll({
        where: { CitaId: citaId },
        include: [
          {
            model: ItemLaboratorio,
            as: 'itemlaboratorio'
          }
        ]
      });

      res.json({
        success: true,
        message: 'Resultados obtenidos exitosamente',
        data
      });
    } catch (error) {
      next(error);
    }
  };

  // Obtener por item laboratorio
  getByItemLaboratorio = async (req, res, next) => {
    try {
      const { itemLaboratorioId } = req.params;
      
      const data = await Resultado.findAll({
        where: { ItemLaboratorioId: itemLaboratorioId }
      });

      res.json({
        success: true,
        message: 'Resultados obtenidos exitosamente',
        data
      });
    } catch (error) {
      next(error);
    }
  };
}

module.exports = new ResultadoController();