fix(radarr): fix request bug which made it unable to be added to radarr (#760)

pull/765/head
Jakob Ankarhem 4 years ago committed by GitHub
parent ec5fb83678
commit 45a277964b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -136,15 +136,61 @@ class RadarrAPI {
options: RadarrMovieOptions
): Promise<RadarrMovie> => {
try {
// Check if movie already exists
const existing = await this.getMovieByTmdbId(options.tmdbId);
const movie = await this.getMovieByTmdbId(options.tmdbId);
if (existing) {
if (movie.downloaded) {
logger.info(
'Movie already exists in Radarr. Skipping add and returning success',
'Title already exists and is available. Skipping add and returning success',
{
label: 'Radarr',
}
);
return movie;
}
// movie exists in radarr but is neither downloaded nor monitored
if (movie.id && !movie.monitored) {
const response = await this.axios.put<RadarrMovie>(`/movie`, {
...movie,
title: options.title,
qualityProfileId: options.qualityProfileId,
profileId: options.profileId,
titleSlug: options.tmdbId.toString(),
minimumAvailability: options.minimumAvailability,
tmdbId: options.tmdbId,
year: options.year,
rootFolderPath: options.rootFolderPath,
monitored: options.monitored,
addOptions: {
searchForMovie: options.searchNow,
},
});
if (response.data.monitored) {
logger.info(
'Found existing title in Radarr and set it to monitored. Returning success',
{ label: 'Radarr' }
);
logger.debug('Radarr update details', {
label: 'Radarr',
movie: response.data,
});
return movie;
} else {
logger.error('Failed to update existing movie in Radarr', {
label: 'Radarr',
options,
});
throw new Error('Failed to update existing movie in Radarr');
}
}
if (movie.id) {
logger.info(
'Movie already is already monitored in Radarr. Skipping add and returning success',
{ label: 'Radarr' }
);
return existing;
return movie;
}
const response = await this.axios.post<RadarrMovie>(`/movie`, {

Loading…
Cancel
Save