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

class LaboratoriodoscitaController extends BaseController {
  constructor() {
    super(Laboratoriodoscita, 'Laboratoriodoscita', []);
  }

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

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

  // Obtener por laboratoriodos
  getByLaboratoriodos = async (req, res, next) => {
    try {
      const { laboratoriodosId } = req.params;
      
      const data = await Laboratoriodoscita.findAll({
        where: { LaboratoriodosId: laboratoriodosId },
        include: [
          {
            model: Cita,
            as: 'cita'
          }
        ]
      });

      res.json({
        success: true,
        message: 'Citas de laboratorio obtenidas exitosamente',
        data
      });
    } catch (error) {
      next(error);
    }
  };
}

module.exports = new LaboratoriodoscitaController();