Don't fail request when plex failes existance check
This commit is contained in:
@@ -1,17 +1,19 @@
|
|||||||
const configuration = require('src/config/configuration').getInstance();
|
const configuration = require("src/config/configuration").getInstance();
|
||||||
const TMDB = require('src/tmdb/tmdb');
|
const TMDB = require("src/tmdb/tmdb");
|
||||||
const Plex = require('src/plex/plex');
|
const Plex = require("src/plex/plex");
|
||||||
const tmdb = new TMDB(configuration.get('tmdb', 'apiKey'));
|
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
|
||||||
const plex = new Plex(configuration.get('plex', 'ip'));
|
const plex = new Plex(configuration.get("plex", "ip"));
|
||||||
|
|
||||||
function handleError(error, res) {
|
function handleError(error, res) {
|
||||||
const { status, message } = error;
|
const { status, message } = error;
|
||||||
|
|
||||||
if (status && message) {
|
if (status && message) {
|
||||||
res.status(status).send({ success: false, message })
|
res.status(status).send({ success: false, message });
|
||||||
} else {
|
} else {
|
||||||
console.log('caught movieinfo controller error', error)
|
console.log("caught movieinfo controller error", error);
|
||||||
res.status(500).send({ message: 'An unexpected error occured while requesting movie info'})
|
res.status(500).send({
|
||||||
|
message: "An unexpected error occured while requesting movie info"
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,31 +27,44 @@ async function movieInfoController(req, res) {
|
|||||||
const movieId = req.params.id;
|
const movieId = req.params.id;
|
||||||
let { credits, release_dates, check_existance } = req.query;
|
let { credits, release_dates, check_existance } = req.query;
|
||||||
|
|
||||||
credits && credits.toLowerCase() === 'true' ? credits = true : credits = false
|
credits && credits.toLowerCase() === "true"
|
||||||
release_dates && release_dates.toLowerCase() === 'true' ? release_dates = true : release_dates = false
|
? (credits = true)
|
||||||
check_existance && check_existance.toLowerCase() === 'true' ? check_existance = true : check_existance = false
|
: (credits = false);
|
||||||
|
release_dates && release_dates.toLowerCase() === "true"
|
||||||
|
? (release_dates = true)
|
||||||
|
: (release_dates = false);
|
||||||
|
check_existance && check_existance.toLowerCase() === "true"
|
||||||
|
? (check_existance = true)
|
||||||
|
: (check_existance = false);
|
||||||
|
|
||||||
let tmdbQueue = [tmdb.movieInfo(movieId)]
|
let tmdbQueue = [tmdb.movieInfo(movieId)];
|
||||||
if (credits)
|
if (credits) tmdbQueue.push(tmdb.movieCredits(movieId));
|
||||||
tmdbQueue.push(tmdb.movieCredits(movieId))
|
if (release_dates) tmdbQueue.push(tmdb.movieReleaseDates(movieId));
|
||||||
if (release_dates)
|
|
||||||
tmdbQueue.push(tmdb.movieReleaseDates(movieId))
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const [ Movie, Credits, ReleaseDates ] = await Promise.all(tmdbQueue)
|
const [Movie, Credits, ReleaseDates] = await Promise.all(tmdbQueue);
|
||||||
|
|
||||||
const movie = Movie.createJsonResponse()
|
const movie = Movie.createJsonResponse();
|
||||||
if (Credits)
|
if (Credits) movie.credits = Credits.createJsonResponse();
|
||||||
movie.credits = Credits.createJsonResponse()
|
|
||||||
if (ReleaseDates)
|
if (ReleaseDates)
|
||||||
movie.release_dates = ReleaseDates.createJsonResponse().results
|
movie.release_dates = ReleaseDates.createJsonResponse().results;
|
||||||
|
|
||||||
if (check_existance)
|
if (check_existance) {
|
||||||
movie.exists_in_plex = await plex.existsInPlex(movie)
|
try {
|
||||||
|
movie.exists_in_plex = await plex.existsInPlex(movie);
|
||||||
|
} catch (error) {
|
||||||
|
if (error.status === 401) {
|
||||||
|
console.log("Unathorized request, check plex server LAN settings");
|
||||||
|
} else {
|
||||||
|
console.log("Unkown error from plex!");
|
||||||
|
}
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
res.send(movie)
|
res.send(movie);
|
||||||
} catch(error) {
|
} catch (error) {
|
||||||
handleError(error, res)
|
handleError(error, res);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user