Initial commit - Projet Managerr
This commit is contained in:
commit
848a79a04e
36 changed files with 3850 additions and 0 deletions
83
backend/controllers/radarrController.js
Normal file
83
backend/controllers/radarrController.js
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
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' });
|
||||
}
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue