const axios = require('axios'); const config = require('../../../config/radarr'); // Client API pour Radarr const radarrClient = axios.create({ baseURL: config.baseURL, headers: { 'X-Api-Key': config.apiKey } }); // Récupérer tous les films exports.getAllMovies = async (req, res) => { try { const response = await radarrClient.get('/movie'); res.json(response.data); } catch (error) { console.error('Erreur lors de la récupération des films:', error); res.status(500).json({ message: 'Erreur lors de la récupération des films' }); } }; // Récupérer les films manquants exports.getMissingMovies = async (req, res) => { try { const response = await radarrClient.get('/movie'); const missingMovies = response.data.filter(movie => !movie.hasFile); res.json(missingMovies); } catch (error) { console.error('Erreur lors de la récupération des films manquants:', error); res.status(500).json({ message: 'Erreur lors de la récupération des films manquants' }); } }; // Récupérer les films à venir exports.getUpcomingMovies = async (req, res) => { try { const today = new Date(); const response = await radarrClient.get('/movie'); const upcomingMovies = response.data.filter(movie => { const releaseDate = new Date(movie.digitalRelease || movie.physicalRelease || movie.inCinemas); return releaseDate > today; }); res.json(upcomingMovies); } catch (error) { console.error('Erreur lors de la récupération des films à venir:', error); res.status(500).json({ message: 'Erreur lors de la récupération des films à venir' }); } }; // Récupérer l'historique des téléchargements exports.getHistory = async (req, res) => { try { const response = await radarrClient.get('/history'); res.json(response.data); } catch (error) { console.error('Erreur lors de la récupération de l\'historique:', error); res.status(500).json({ message: 'Erreur lors de la récupération de l\'historique' }); } }; // Récupérer le calendrier exports.getCalendar = async (req, res) => { try { const { start, end } = req.query; const startDate = start || new Date().toISOString(); const endDate = end || new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(); const response = await radarrClient.get('/calendar', { params: { start: startDate, end: endDate } }); res.json(response.data); } catch (error) { console.error('Erreur lors de la récupération du calendrier:', error); res.status(500).json({ message: 'Erreur lors de la récupération du calendrier' }); } };