Use db value
This commit is contained in:
parent
31147014a0
commit
6dd506eb6e
2 changed files with 64 additions and 14 deletions
|
|
@ -1,21 +1,32 @@
|
|||
const axios = require('axios');
|
||||
const config = require('../../config/sonarr');
|
||||
const Settings = require('../models/Settings');
|
||||
|
||||
// Client API pour Sonarr
|
||||
const sonarrClient = axios.create({
|
||||
baseURL: config.baseURL,
|
||||
headers: {
|
||||
'X-Api-Key': config.apiKey
|
||||
// Fonction pour créer un client Sonarr pour un utilisateur spécifique
|
||||
const createSonarrClient = async (userId) => {
|
||||
const settings = await Settings.findOne({ user: userId });
|
||||
if (!settings || !settings.sonarr || !settings.sonarr.url || !settings.sonarr.apiKey) {
|
||||
throw new Error('Paramètres Sonarr non configurés');
|
||||
}
|
||||
});
|
||||
|
||||
return axios.create({
|
||||
baseURL: settings.sonarr.url,
|
||||
headers: {
|
||||
'X-Api-Key': settings.sonarr.apiKey
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// Récupérer toutes les séries
|
||||
exports.getAllSeries = async (req, res) => {
|
||||
try {
|
||||
const sonarrClient = await createSonarrClient(req.user.id);
|
||||
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);
|
||||
if (error.message === 'Paramètres Sonarr non configurés') {
|
||||
return res.status(400).json({ message: error.message });
|
||||
}
|
||||
res.status(500).json({ message: 'Erreur lors de la récupération des séries' });
|
||||
}
|
||||
};
|
||||
|
|
@ -23,10 +34,14 @@ exports.getAllSeries = async (req, res) => {
|
|||
// Récupérer les séries manquantes
|
||||
exports.getMissingSeries = async (req, res) => {
|
||||
try {
|
||||
const sonarrClient = await createSonarrClient(req.user.id);
|
||||
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);
|
||||
if (error.message === 'Paramètres Sonarr non configurés') {
|
||||
return res.status(400).json({ message: error.message });
|
||||
}
|
||||
res.status(500).json({ message: 'Erreur lors de la récupération des séries manquantes' });
|
||||
}
|
||||
};
|
||||
|
|
@ -34,6 +49,7 @@ exports.getMissingSeries = async (req, res) => {
|
|||
// Récupérer les séries à venir
|
||||
exports.getUpcomingSeries = async (req, res) => {
|
||||
try {
|
||||
const sonarrClient = await createSonarrClient(req.user.id);
|
||||
const response = await sonarrClient.get('/calendar', {
|
||||
params: {
|
||||
start: new Date().toISOString(),
|
||||
|
|
@ -43,6 +59,9 @@ exports.getUpcomingSeries = async (req, res) => {
|
|||
res.json(response.data);
|
||||
} catch (error) {
|
||||
console.error('Erreur lors de la récupération des séries à venir:', error);
|
||||
if (error.message === 'Paramètres Sonarr non configurés') {
|
||||
return res.status(400).json({ message: error.message });
|
||||
}
|
||||
res.status(500).json({ message: 'Erreur lors de la récupération des séries à venir' });
|
||||
}
|
||||
};
|
||||
|
|
@ -50,10 +69,14 @@ exports.getUpcomingSeries = async (req, res) => {
|
|||
// Récupérer l'historique des téléchargements
|
||||
exports.getHistory = async (req, res) => {
|
||||
try {
|
||||
const sonarrClient = await createSonarrClient(req.user.id);
|
||||
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);
|
||||
if (error.message === 'Paramètres Sonarr non configurés') {
|
||||
return res.status(400).json({ message: error.message });
|
||||
}
|
||||
res.status(500).json({ message: 'Erreur lors de la récupération de l\'historique' });
|
||||
}
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue