76 lines
2.4 KiB
JavaScript
76 lines
2.4 KiB
JavaScript
const axios = require('axios');
|
|
const config = require('../../config/sonarr');
|
|
|
|
// Client API pour Sonarr
|
|
const sonarrClient = axios.create({
|
|
baseURL: config.baseURL,
|
|
headers: {
|
|
'X-Api-Key': config.apiKey
|
|
}
|
|
});
|
|
|
|
// Récupérer toutes les séries
|
|
exports.getAllSeries = async (req, res) => {
|
|
try {
|
|
const response = await sonarrClient.get('/series');
|
|
res.json(response.data);
|
|
} catch (error) {
|
|
console.error('Erreur lors de la récupération des séries:', error);
|
|
res.status(500).json({ message: 'Erreur lors de la récupération des séries' });
|
|
}
|
|
};
|
|
|
|
// Récupérer les séries manquantes
|
|
exports.getMissingSeries = async (req, res) => {
|
|
try {
|
|
const response = await sonarrClient.get('/wanted/missing');
|
|
res.json(response.data);
|
|
} catch (error) {
|
|
console.error('Erreur lors de la récupération des séries manquantes:', error);
|
|
res.status(500).json({ message: 'Erreur lors de la récupération des séries manquantes' });
|
|
}
|
|
};
|
|
|
|
// Récupérer les séries à venir
|
|
exports.getUpcomingSeries = async (req, res) => {
|
|
try {
|
|
const response = await sonarrClient.get('/calendar', {
|
|
params: {
|
|
start: new Date().toISOString(),
|
|
end: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString() // 30 jours
|
|
}
|
|
});
|
|
res.json(response.data);
|
|
} catch (error) {
|
|
console.error('Erreur lors de la récupération des séries à venir:', error);
|
|
res.status(500).json({ message: 'Erreur lors de la récupération des séries à venir' });
|
|
}
|
|
};
|
|
|
|
// Récupérer l'historique des téléchargements
|
|
exports.getHistory = async (req, res) => {
|
|
try {
|
|
const response = await sonarrClient.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 response = await sonarrClient.get('/calendar', {
|
|
params: {
|
|
start: start || new Date().toISOString(),
|
|
end: end || new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString()
|
|
}
|
|
});
|
|
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' });
|
|
}
|
|
};
|