const WorkdaysService = require('../services/WorkdaysService');

/**
 * Controller für Arbeitstage-Statistiken
 * Verarbeitet HTTP-Requests und delegiert an WorkdaysService
 */
class WorkdaysController {
  /**
   * Holt Arbeitstage-Statistiken für ein Jahr
   */
  async getStatistics(req, res) {
    try {
      const userId = req.user?.id || 1;
      const year = parseInt(req.query.year) || new Date().getFullYear();
      
      if (isNaN(year) || year < 1900 || year > 2100) {
        return res.status(400).json({ 
          message: 'Ungültiges Jahr' 
        });
      }
      
      const statistics = await WorkdaysService.getWorkdaysStatistics(userId, year);
      res.json(statistics);
    } catch (error) {
      console.error('Fehler beim Abrufen der Arbeitstage-Statistiken:', error);
      res.status(500).json({ 
        message: 'Fehler beim Abrufen der Arbeitstage-Statistiken',
        error: error.message 
      });
    }
  }
}

module.exports = new WorkdaysController();

