Updated all imports to be relative to itself

This commit is contained in:
2022-08-16 01:15:36 +02:00
parent 3660e88acf
commit 7094aa2bb5
70 changed files with 1066 additions and 885 deletions

View File

@@ -3,7 +3,7 @@ const Raven = require("raven");
const cookieParser = require("cookie-parser");
const bodyParser = require("body-parser");
const configuration = require("src/config/configuration").getInstance();
const configuration = require("../config/configuration").getInstance();
const reqTokenToUser = require("./middleware/reqTokenToUser");
const mustBeAuthenticated = require("./middleware/mustBeAuthenticated");

View File

@@ -1,15 +1,16 @@
const GitRepository = require('src/git/gitRepository');
const GitRepository = require("../../../git/gitRepository");
const gitRepository = new GitRepository();
function dumpHookController(req, res) {
gitRepository.dumpHook(req.body)
.then(() => {
res.status(200);
})
.catch((error) => {
res.status(500);
});
gitRepository
.dumpHook(req.body)
.then(() => {
res.status(200);
})
.catch(error => {
res.status(500);
});
}
module.exports = dumpHookController;

View File

@@ -1,15 +1,15 @@
const configuration = require('src/config/configuration').getInstance();
const TMDB = require('src/tmdb/tmdb');
const tmdb = new TMDB(configuration.get('tmdb', 'apiKey'));
const configuration = require("../../../config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
// there should be a translate function from query params to
// tmdb list that is valid. Should it be a helper function or does it
// belong in tmdb.
// there should be a translate function from query params to
// tmdb list that is valid. Should it be a helper function or does it
// belong in tmdb.
// + could also have default value that are sent to the client.
// * have the same class create a getListNames() and a fetchList()
// * dicover list might be overkill_https://tinyurl.com/y7f8ragw
// + trending! https://tinyurl.com/ydywrqox
// by all, mediatype, or person. Can also define time periode to
// + trending! https://tinyurl.com/ydywrqox
// by all, mediatype, or person. Can also define time periode to
// get more trending view of what people are checking out.
// + newly created (tv/latest).
// + movie/latest
@@ -18,44 +18,57 @@ function handleError(error, res) {
const { status, message } = error;
if (status && message) {
res.status(status).send({ success: false, message })
res.status(status).send({ success: false, message });
} else {
console.log('caught list controller error', error)
res.status(500).send({ message: 'An unexpected error occured while requesting list'})
console.log("caught list controller error", error);
res
.status(500)
.send({ message: "An unexpected error occured while requesting list" });
}
}
function handleListResponse(response, res) {
return res.send(response)
.catch(error => handleError(error, res))
return res.send(response).catch(error => handleError(error, res));
}
function fetchTmdbList(req, res, listname, type) {
const { page } = req.query;
if (type === 'movie') {
return tmdb.movieList(listname, page)
if (type === "movie") {
return tmdb
.movieList(listname, page)
.then(listResponse => res.send(listResponse))
.catch(error => handleError(error, res))
} else if (type === 'show') {
return tmdb.showList(listname, page)
.catch(error => handleError(error, res));
} else if (type === "show") {
return tmdb
.showList(listname, page)
.then(listResponse => res.send(listResponse))
.catch(error => handleError(error, res))
.catch(error => handleError(error, res));
}
handleError({
status: 400,
message: `'${type}' is not a valid list type.`
}, res)
handleError(
{
status: 400,
message: `'${type}' is not a valid list type.`
},
res
);
}
const nowPlayingMovies = (req, res) => fetchTmdbList(req, res, 'miscNowPlayingMovies', 'movie')
const popularMovies = (req, res) => fetchTmdbList(req, res, 'miscPopularMovies', 'movie')
const topRatedMovies = (req, res) => fetchTmdbList(req, res, 'miscTopRatedMovies', 'movie')
const upcomingMovies = (req, res) => fetchTmdbList(req, res, 'miscUpcomingMovies', 'movie')
const nowPlayingShows = (req, res) => fetchTmdbList(req, res, 'tvOnTheAir', 'show')
const popularShows = (req, res) => fetchTmdbList(req, res, 'miscPopularTvs', 'show')
const topRatedShows = (req, res) => fetchTmdbList(req, res, 'miscTopRatedTvs', 'show')
const nowPlayingMovies = (req, res) =>
fetchTmdbList(req, res, "miscNowPlayingMovies", "movie");
const popularMovies = (req, res) =>
fetchTmdbList(req, res, "miscPopularMovies", "movie");
const topRatedMovies = (req, res) =>
fetchTmdbList(req, res, "miscTopRatedMovies", "movie");
const upcomingMovies = (req, res) =>
fetchTmdbList(req, res, "miscUpcomingMovies", "movie");
const nowPlayingShows = (req, res) =>
fetchTmdbList(req, res, "tvOnTheAir", "show");
const popularShows = (req, res) =>
fetchTmdbList(req, res, "miscPopularTvs", "show");
const topRatedShows = (req, res) =>
fetchTmdbList(req, res, "miscTopRatedTvs", "show");
module.exports = {
nowPlayingMovies,
@@ -65,4 +78,4 @@ module.exports = {
nowPlayingShows,
popularShows,
topRatedShows
}
};

View File

@@ -1,24 +1,30 @@
const configuration = require('src/config/configuration').getInstance();
const TMDB = require('src/tmdb/tmdb');
const configuration = require("../../../config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
const tmdb = new TMDB(configuration.get('tmdb', 'apiKey'));
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const movieCreditsController = (req, res) => {
const movieId = req.params.id;
tmdb.movieCredits(movieId)
tmdb
.movieCredits(movieId)
.then(credits => res.send(credits.createJsonResponse()))
.catch(error => {
const { status, message } = error;
if (status && message) {
res.status(status).send({ success: false, message })
res.status(status).send({ success: false, message });
} else {
// TODO log unhandled errors
console.log('caugth movie credits controller error', error)
res.status(500).send({ message: 'An unexpected error occured while requesting movie credits' })
console.log("caugth movie credits controller error", error);
res
.status(500)
.send({
message:
"An unexpected error occured while requesting movie credits"
});
}
})
}
});
};
module.exports = movieCreditsController;

View File

@@ -1,6 +1,6 @@
const configuration = require("src/config/configuration").getInstance();
const TMDB = require("src/tmdb/tmdb");
const Plex = require("src/plex/plex");
const configuration = require("../../../config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
const Plex = require("../../../plex/plex");
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const plex = new Plex(configuration.get("plex", "ip"));

View File

@@ -1,24 +1,30 @@
const configuration = require('src/config/configuration').getInstance();
const TMDB = require('src/tmdb/tmdb');
const configuration = require("../../../config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
const tmdb = new TMDB(configuration.get('tmdb', 'apiKey'));
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const movieReleaseDatesController = (req, res) => {
const movieId = req.params.id;
tmdb.movieReleaseDates(movieId)
tmdb
.movieReleaseDates(movieId)
.then(releaseDates => res.send(releaseDates.createJsonResponse()))
.catch(error => {
const { status, message } = error;
if (status && message) {
res.status(status).send({ success: false, message })
res.status(status).send({ success: false, message });
} else {
// TODO log unhandled errors : here our at tmdbReleaseError ?
console.log('caugth release dates controller error', error)
res.status(500).send({ message: 'An unexpected error occured while requesting movie credits' })
console.log("caugth release dates controller error", error);
res
.status(500)
.send({
message:
"An unexpected error occured while requesting movie credits"
});
}
})
}
});
};
module.exports = movieReleaseDatesController;

View File

@@ -1,5 +1,5 @@
const configuration = require("src/config/configuration").getInstance();
const TMDB = require("src/tmdb/tmdb");
const configuration = require("../../../config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const personCreditsController = (req, res) => {

View File

@@ -1,5 +1,5 @@
const configuration = require("src/config/configuration").getInstance();
const TMDB = require("src/tmdb/tmdb");
const configuration = require("../../../config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
function handleError(error, res) {

View File

@@ -1,25 +1,24 @@
/*
* @Author: KevinMidboe
* @Date: 2017-10-21 09:54:31
* @Last Modified by: KevinMidboe
* @Last Modified time: 2017-10-21 15:32:43
*/
* @Author: KevinMidboe
* @Date: 2017-10-21 09:54:31
* @Last Modified by: KevinMidboe
* @Last Modified time: 2017-10-21 15:32:43
*/
const PirateRepository = require('src/pirate/pirateRepository');
const PirateRepository = require("../../../pirate/pirateRepository");
function addMagnet(req, res) {
const magnet = req.body.magnet;
const name = req.body.name;
const tmdb_id = req.body.tmdb_id;
const magnet = req.body.magnet;
const name = req.body.name;
const tmdb_id = req.body.tmdb_id;
PirateRepository.AddMagnet(magnet, name, tmdb_id)
.then((result) => {
res.send(result);
})
.catch(error => {
res.status(500).send({ success: false, message: error.message });
});
PirateRepository.AddMagnet(magnet, name, tmdb_id)
.then(result => {
res.send(result);
})
.catch(error => {
res.status(500).send({ success: false, message: error.message });
});
}
module.exports = addMagnet;

View File

@@ -5,7 +5,7 @@
* @Last Modified time: 2018-02-26 19:56:32
*/
const PirateRepository = require("src/pirate/pirateRepository");
const PirateRepository = require("../../../pirate/pirateRepository");
// const pirateRepository = new PirateRepository();
/**

View File

@@ -1,4 +1,4 @@
const RequestRepository = require('src/plex/requestRepository.js');
const RequestRepository = require("../../../plex/requestRepository.js");
const requestRepository = new RequestRepository();
@@ -9,16 +9,21 @@ const requestRepository = new RequestRepository();
* @returns {Callback}
*/
function fetchRequestedController(req, res) {
// const user = req.loggedInUser;
const { status, page } = req.query;
// const user = req.loggedInUser;
const { status, page } = req.query;
requestRepository.fetchRequested(status, page)
.then((requestedItems) => {
res.send({ success: true, results: requestedItems, total_results: requestedItems.length });
})
.catch((error) => {
res.status(401).send({ success: false, message: error.message });
requestRepository
.fetchRequested(status, page)
.then(requestedItems => {
res.send({
success: true,
results: requestedItems,
total_results: requestedItems.length
});
})
.catch(error => {
res.status(401).send({ success: false, message: error.message });
});
}
module.exports = fetchRequestedController;

View File

@@ -1,16 +1,17 @@
const PlexRepository = require('src/plex/plexRepository');
const configuration = require('src/config/configuration').getInstance();
const PlexRepository = require("../../../plex/plexRepository");
const configuration = require("../../../config/configuration").getInstance();
const plexRepository = new PlexRepository(configuration.get('plex', 'ip'));
const plexRepository = new PlexRepository(configuration.get("plex", "ip"));
function playingController(req, res) {
plexRepository.nowPlaying()
.then(movies => {
res.send(movies);
})
.catch(error => {
res.status(500).send({ success: false, message: error.message });
});
plexRepository
.nowPlaying()
.then(movies => {
res.send(movies);
})
.catch(error => {
res.status(500).send({ success: false, message: error.message });
});
}
module.exports = playingController;

View File

@@ -1,4 +1,4 @@
const RequestRepository = require('src/plex/requestRepository');
const RequestRepository = require("../../../plex/requestRepository");
const requestRepository = new RequestRepository();
@@ -9,14 +9,16 @@ const requestRepository = new RequestRepository();
* @returns {Callback}
*/
function readRequestController(req, res) {
const mediaId = req.params.mediaId;
const { type } = req.query;
requestRepository.lookup(mediaId, type)
.then(movies => {
res.send(movies);
}).catch(error => {
res.status(404).send({ success: false, message: error.message });
});
const mediaId = req.params.mediaId;
const { type } = req.query;
requestRepository
.lookup(mediaId, type)
.then(movies => {
res.send(movies);
})
.catch(error => {
res.status(404).send({ success: false, message: error.message });
});
}
module.exports = readRequestController;

View File

@@ -1,6 +1,6 @@
const configuration = require('src/config/configuration').getInstance();
const Plex = require('src/plex/plex');
const plex = new Plex(configuration.get('plex', 'ip'));
const configuration = require("../../../config/configuration").getInstance();
const Plex = require("../../../plex/plex");
const plex = new Plex(configuration.get("plex", "ip"));
/**
* Controller: Search plex for movies, shows and episodes by query
@@ -9,17 +9,24 @@ const plex = new Plex(configuration.get('plex', 'ip'));
* @returns {Callback}
*/
function searchPlexController(req, res) {
const { query, type } = req.query;
plex.search(query, type)
.then(movies => {
if (movies.length > 0) {
res.send(movies);
} else {
res.status(404).send({ success: false, message: 'Search query did not give any results from plex.'})
}
}).catch(error => {
res.status(500).send({ success: false, message: error.message });
});
const { query, type } = req.query;
plex
.search(query, type)
.then(movies => {
if (movies.length > 0) {
res.send(movies);
} else {
res
.status(404)
.send({
success: false,
message: "Search query did not give any results from plex."
});
}
})
.catch(error => {
res.status(500).send({ success: false, message: error.message });
});
}
module.exports = searchPlexController;

View File

@@ -1,7 +1,7 @@
const PlexRepository = require('src/plex/plexRepository');
const configuration = require('src/config/configuration').getInstance();
const PlexRepository = require("../../../plex/plexRepository");
const configuration = require("../../../config/configuration").getInstance();
const plexRepository = new PlexRepository(configuration.get('plex', 'ip'));
const plexRepository = new PlexRepository(configuration.get("plex", "ip"));
/**
* Controller: Search for media and check existence
@@ -11,19 +11,25 @@ const plexRepository = new PlexRepository(configuration.get('plex', 'ip'));
* @returns {Callback}
*/
function searchMediaController(req, res) {
const { query } = req.query;
const { query } = req.query;
plexRepository.search(query)
.then(media => {
if (media !== undefined || media.length > 0) {
res.send(media);
} else {
res.status(404).send({ success: false, message: 'Search query did not return any results.' });
}
})
.catch(error => {
res.status(500).send({ success: false, message: error.message });
});
plexRepository
.search(query)
.then(media => {
if (media !== undefined || media.length > 0) {
res.send(media);
} else {
res
.status(404)
.send({
success: false,
message: "Search query did not return any results."
});
}
})
.catch(error => {
res.status(500).send({ success: false, message: error.message });
});
}
module.exports = searchMediaController;

View File

@@ -1,6 +1,6 @@
const SearchHistory = require("src/searchHistory/searchHistory");
const Cache = require("src/tmdb/cache");
const RequestRepository = require("src/plex/requestRepository.js");
const SearchHistory = require("../../../searchHistory/searchHistory");
const Cache = require("../../../tmdb/cache");
const RequestRepository = require("../../../plex/requestRepository.js");
const cache = new Cache();
const requestRepository = new RequestRepository(cache);

View File

@@ -1,6 +1,6 @@
const configuration = require("src/config/configuration").getInstance();
const RequestRepository = require("src/request/request");
const TMDB = require("src/tmdb/tmdb");
const configuration = require("../../../config/configuration").getInstance();
const RequestRepository = require("../../../request/request");
const TMDB = require("../../../tmdb/tmdb");
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const request = new RequestRepository();
@@ -35,12 +35,10 @@ function submitRequestController(req, res) {
console.log("show");
mediaFunction = tmdbShowInfo;
} else {
res
.status(422)
.send({
success: false,
message: 'Incorrect type. Allowed types: "movie" or "show"'
});
res.status(422).send({
success: false,
message: 'Incorrect type. Allowed types: "movie" or "show"'
});
}
if (mediaFunction === undefined) {

View File

@@ -1,4 +1,4 @@
const RequestRepository = require('src/plex/requestRepository');
const RequestRepository = require("../../../plex/requestRepository");
const requestRepository = new RequestRepository();
@@ -9,17 +9,18 @@ const requestRepository = new RequestRepository();
* @returns {Callback}
*/
function updateRequested(req, res) {
const id = req.params.requestId;
const type = req.body.type;
const status = req.body.status;
const id = req.params.requestId;
const type = req.body.type;
const status = req.body.status;
requestRepository.updateRequestedById(id, type, status)
.then(() => {
res.send({ success: true });
})
.catch((error) => {
res.status(401).send({ success: false, message: error.message });
});
requestRepository
.updateRequestedById(id, type, status)
.then(() => {
res.send({ success: true });
})
.catch(error => {
res.status(401).send({ success: false, message: error.message });
});
}
module.exports = updateRequested;

View File

@@ -1,6 +1,6 @@
const configuration = require('src/config/configuration').getInstance();
const Plex = require('src/plex/plex');
const plex = new Plex(configuration.get('plex', 'ip'));
const configuration = require("../../../config/configuration").getInstance();
const Plex = require("../../../plex/plex");
const plex = new Plex(configuration.get("plex", "ip"));
/**
* Controller: Search plex for movies, shows and episodes by query
@@ -9,18 +9,18 @@ const plex = new Plex(configuration.get('plex', 'ip'));
* @returns {Callback}
*/
function watchDirectLink (req, res) {
const { title, year } = req.query;
function watchDirectLink(req, res) {
const { title, year } = req.query;
plex.getDirectLinkByTitleAndYear(title, year)
plex
.getDirectLinkByTitleAndYear(title, year)
.then(plexDirectLink => {
if (plexDirectLink == false)
res.status(404).send({ success: true, link: null })
else
res.status(200).send({ success: true, link: plexDirectLink })
res.status(404).send({ success: true, link: null });
else res.status(200).send({ success: true, link: plexDirectLink });
})
.catch(error => {
res.status(500).send({ success: false, message: error.message });
res.status(500).send({ success: false, message: error.message });
});
}

View File

@@ -1,4 +1,4 @@
const RequestRepository = require('src/request/request');
const RequestRepository = require("../../../request/request");
const request = new RequestRepository();
/**
@@ -12,16 +12,16 @@ function fetchAllRequests(req, res) {
let sort_by = sort;
let sort_direction = undefined;
if (sort !== undefined && sort.includes(':')) {
[sort_by, sort_direction] = sort.split(':')
if (sort !== undefined && sort.includes(":")) {
[sort_by, sort_direction] = sort.split(":");
}
Promise.resolve()
.then(() => request.fetchAll(page, sort_by, sort_direction, filter, query))
.then(result => res.send(result))
.catch(error => {
res.status(404).send({ success: false, message: error.message });
});
.then(() => request.fetchAll(page, sort_by, sort_direction, filter, query))
.then(result => res.send(result))
.catch(error => {
res.status(404).send({ success: false, message: error.message });
});
}
module.exports = fetchAllRequests;

View File

@@ -1,4 +1,4 @@
const RequestRepository = require('src/request/request');
const RequestRepository = require("../../../request/request");
const request = new RequestRepository();
/**
@@ -11,7 +11,8 @@ function fetchAllRequests(req, res) {
const id = req.params.id;
const { type } = req.query;
request.getRequestByIdAndType(id, type)
request
.getRequestByIdAndType(id, type)
.then(result => res.send(result))
.catch(error => {
res.status(404).send({ success: false, message: error.message });

View File

@@ -1,6 +1,6 @@
const configuration = require("src/config/configuration").getInstance();
const TMDB = require("src/tmdb/tmdb");
const RequestRepository = require("src/request/request");
const configuration = require("../../../config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
const RequestRepository = require("../../../request/request");
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const request = new RequestRepository();
// const { sendSMS } = require("src/notifications/sms");

View File

@@ -1,6 +1,6 @@
const configuration = require("src/config/configuration").getInstance();
const TMDB = require("src/tmdb/tmdb");
const SearchHistory = require("src/searchHistory/searchHistory");
const configuration = require("../../../config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
const SearchHistory = require("../../../searchHistory/searchHistory");
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const searchHistory = new SearchHistory();

View File

@@ -1,6 +1,6 @@
const configuration = require("src/config/configuration").getInstance();
const TMDB = require("src/tmdb/tmdb");
const SearchHistory = require("src/searchHistory/searchHistory");
const configuration = require("../../..//config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
const SearchHistory = require("../../../searchHistory/searchHistory");
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const searchHistory = new SearchHistory();
@@ -36,11 +36,9 @@ function multiSearchController(req, res) {
} else {
// TODO log unhandled errors
console.log("caugth multi search controller error", error);
res
.status(500)
.send({
message: `An unexpected error occured while searching with query: ${query}`
});
res.status(500).send({
message: `An unexpected error occured while searching with query: ${query}`
});
}
});
}

View File

@@ -1,6 +1,6 @@
const configuration = require("src/config/configuration").getInstance();
const TMDB = require("src/tmdb/tmdb");
const SearchHistory = require("src/searchHistory/searchHistory");
const configuration = require("../../../config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
const SearchHistory = require("../../../searchHistory/searchHistory");
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const searchHistory = new SearchHistory();

View File

@@ -1,6 +1,6 @@
const SearchHistory = require("src/searchHistory/searchHistory");
const configuration = require("src/config/configuration").getInstance();
const TMDB = require("src/tmdb/tmdb");
const SearchHistory = require("../../../searchHistory/searchHistory");
const configuration = require("../../../config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const searchHistory = new SearchHistory();

View File

@@ -1,17 +1,17 @@
const StrayRepository = require('src/seasoned/strayRepository');
const StrayRepository = require("../../../seasoned/strayRepository");
const strayRepository = new StrayRepository();
function readStraysController(req, res) {
const { verified, page } = req.query;
strayRepository.readAll(verified, page)
.then((strays) => {
res.send(strays);
})
.catch((error) => {
res.status(500).send({ success: false, message: error.message });
});
const { verified, page } = req.query;
strayRepository
.readAll(verified, page)
.then(strays => {
res.send(strays);
})
.catch(error => {
res.status(500).send({ success: false, message: error.message });
});
}
module.exports = readStraysController;

View File

@@ -1,17 +1,18 @@
const StrayRepository = require('src/seasoned/strayRepository');
const StrayRepository = require("../../../seasoned/strayRepository");
const strayRepository = new StrayRepository();
function strayByIdController(req, res) {
const id = req.params.strayId;
const id = req.params.strayId;
strayRepository.read(id)
.then((stray) => {
res.send(stray);
})
.catch((error) => {
res.status(500).send({ success: false, message: error.message });
});
strayRepository
.read(id)
.then(stray => {
res.send(stray);
})
.catch(error => {
res.status(500).send({ success: false, message: error.message });
});
}
module.exports = strayByIdController;

View File

@@ -1,17 +1,18 @@
const StrayRepository = require('src/seasoned/strayRepository');
const StrayRepository = require("../../../seasoned/strayRepository");
const strayRepository = new StrayRepository();
function verifyStrayController(req, res) {
const id = req.params.strayId;
const id = req.params.strayId;
strayRepository.verifyStray(id)
.then(() => {
res.send({ success: true, message: 'Episode verified' });
})
.catch((error) => {
res.status(500).send({ success: false, message: error.message });
});
strayRepository
.verifyStray(id)
.then(() => {
res.send({ success: true, message: "Episode verified" });
})
.catch(error => {
res.status(500).send({ success: false, message: error.message });
});
}
module.exports = verifyStrayController;

View File

@@ -1,23 +1,28 @@
const configuration = require('src/config/configuration').getInstance();
const TMDB = require('src/tmdb/tmdb');
const tmdb = new TMDB(configuration.get('tmdb', 'apiKey'));
const configuration = require("../../../config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const showCreditsController = (req, res) => {
const showId = req.params.id;
tmdb.showCredits(showId)
tmdb
.showCredits(showId)
.then(credits => res.send(credits.createJsonResponse()))
.catch(error => {
const { status, message } = error;
if (status && message) {
res.status(status).send({ success: false, message })
res.status(status).send({ success: false, message });
} else {
// TODO log unhandled errors
console.log('caugth show credits controller error', error)
res.status(500).send({ message: 'An unexpected error occured while requesting show credits' })
console.log("caugth show credits controller error", error);
res
.status(500)
.send({
message: "An unexpected error occured while requesting show credits"
});
}
})
}
});
};
module.exports = showCreditsController;

View File

@@ -1,24 +1,24 @@
const configuration = require('src/config/configuration').getInstance();
const TMDB = require('src/tmdb/tmdb');
const Plex = require('src/plex/plex');
const tmdb = new TMDB(configuration.get('tmdb', 'apiKey'));
const plex = new Plex(configuration.get('plex', 'ip'));
const configuration = require("../../../config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
const Plex = require("../../../plex/plex");
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const plex = new Plex(configuration.get("plex", "ip"));
function handleError(error, res) {
const { status, message } = error;
if (status && message) {
res.status(status).send({ success: false, message })
res.status(status).send({ success: false, message });
} else {
console.log('caught showinfo controller error', error)
console.log("caught showinfo controller error", error);
res.status(500).send({
message: 'An unexpected error occured while requesting show info.'
})
message: "An unexpected error occured while requesting show info."
});
}
}
/**
* Controller: Retrieve information for a show
* Controller: Retrieve information for a show
* @param {Request} req http request variable
* @param {Response} res
* @returns {Callback}
@@ -28,26 +28,27 @@ async function showInfoController(req, res) {
const showId = req.params.id;
let { credits, check_existance } = req.query;
credits && credits.toLowerCase() === 'true' ? credits = true : credits = false
check_existance && check_existance.toLowerCase() === 'true' ? check_existance = true : check_existance = false
credits && credits.toLowerCase() === "true"
? (credits = true)
: (credits = false);
check_existance && check_existance.toLowerCase() === "true"
? (check_existance = true)
: (check_existance = false);
let tmdbQueue = [tmdb.showInfo(showId)]
if (credits)
tmdbQueue.push(tmdb.showCredits(showId))
let tmdbQueue = [tmdb.showInfo(showId)];
if (credits) tmdbQueue.push(tmdb.showCredits(showId));
try {
const [Show, Credits] = await Promise.all(tmdbQueue)
const [Show, Credits] = await Promise.all(tmdbQueue);
const show = Show.createJsonResponse()
if (credits)
show.credits = Credits.createJsonResponse()
const show = Show.createJsonResponse();
if (credits) show.credits = Credits.createJsonResponse();
if (check_existance)
show.exists_in_plex = await plex.existsInPlex(show)
if (check_existance) show.exists_in_plex = await plex.existsInPlex(show);
res.send(show)
} catch(error) {
handleError(error, res)
res.send(show);
} catch (error) {
handleError(error, res);
}
}

View File

@@ -1,4 +1,4 @@
const UserRepository = require("src/user/userRepository");
const UserRepository = require("../../../user/userRepository");
const userRepository = new UserRepository();
const fetch = require("node-fetch");
const FormData = require("form-data");

View File

@@ -1,8 +1,8 @@
const User = require("src/user/user");
const Token = require("src/user/token");
const UserSecurity = require("src/user/userSecurity");
const UserRepository = require("src/user/userRepository");
const configuration = require("src/config/configuration").getInstance();
const User = require("../../../user/user");
const Token = require("../../../user/token");
const UserSecurity = require("../../../user/userSecurity");
const UserRepository = require("../../../user/userRepository");
const configuration = require("../../../config/configuration").getInstance();
const secret = configuration.get("authentication", "secret");
const userSecurity = new UserSecurity();

View File

@@ -1,8 +1,8 @@
const User = require("src/user/user");
const Token = require("src/user/token");
const UserSecurity = require("src/user/userSecurity");
const UserRepository = require("src/user/userRepository");
const configuration = require("src/config/configuration").getInstance();
const User = require("../../../user/user");
const Token = require("../../../user/token");
const UserSecurity = require("../../../user/userSecurity");
const UserRepository = require("../../../user/userRepository");
const configuration = require("../../../config/configuration").getInstance();
const secret = configuration.get("authentication", "secret");
const userSecurity = new UserSecurity();

View File

@@ -1,4 +1,4 @@
const RequestRepository = require("src/plex/requestRepository.js");
const RequestRepository = require("../../../plex/requestRepository.js");
const requestRepository = new RequestRepository();

View File

@@ -1,4 +1,4 @@
const SearchHistory = require("src/searchHistory/searchHistory");
const SearchHistory = require("../../../searchHistory/searchHistory");
const searchHistory = new SearchHistory();

View File

@@ -1,4 +1,4 @@
const UserRepository = require("src/user/userRepository");
const UserRepository = require("../../../user/userRepository");
const userRepository = new UserRepository();
/**
* Controller: Retrieves settings of a logged in user

View File

@@ -1,5 +1,5 @@
const configuration = require("src/config/configuration").getInstance();
const Tautulli = require("src/tautulli/tautulli");
const configuration = require("../../../config/configuration").getInstance();
const Tautulli = require("../../../tautulli/tautulli");
const apiKey = configuration.get("tautulli", "apiKey");
const ip = configuration.get("tautulli", "ip");
const port = configuration.get("tautulli", "port");

View File

@@ -1,27 +1,31 @@
const establishedDatabase = require('src/database/database');
const establishedDatabase = require("../../database/database");
const mustBeAdmin = (req, res, next) => {
let database = establishedDatabase;
let database = establishedDatabase;
if (req.loggedInUser === undefined) {
return res.status(401).send({
success: false,
message: 'You must be logged in.',
if (req.loggedInUser === undefined) {
return res.status(401).send({
success: false,
message: "You must be logged in."
});
} else {
database
.get(
`SELECT admin FROM user WHERE user_name IS ?`,
req.loggedInUser.username
)
.then(isAdmin => {
console.log(isAdmin, req.loggedInUser);
if (isAdmin.admin == 0) {
return res.status(401).send({
success: false,
message: "You must be logged in as a admin."
});
}
});
} else {
database.get(`SELECT admin FROM user WHERE user_name IS ?`, req.loggedInUser.username)
.then((isAdmin) => {
console.log(isAdmin, req.loggedInUser)
if (isAdmin.admin == 0) {
return res.status(401).send({
success: false,
message: 'You must be logged in as a admin.'
})
}
})
}
}
return next();
return next();
};
module.exports = mustBeAdmin;

View File

@@ -1,31 +1,35 @@
const establishedDatabase = require('src/database/database');
const establishedDatabase = require("../../database/database");
const mustHaveAccountLinkedToPlex = (req, res, next) => {
let database = establishedDatabase;
const loggedInUser = req.loggedInUser;
let database = establishedDatabase;
const loggedInUser = req.loggedInUser;
if (loggedInUser === undefined) {
return res.status(401).send({
success: false,
message: 'You must have your account linked to a plex account.',
});
} else {
database.get(`SELECT plex_userid FROM settings WHERE user_name IS ?`, loggedInUser.username)
if (loggedInUser === undefined) {
return res.status(401).send({
success: false,
message: "You must have your account linked to a plex account."
});
} else {
database
.get(
`SELECT plex_userid FROM settings WHERE user_name IS ?`,
loggedInUser.username
)
.then(row => {
const plex_userid = row.plex_userid;
if (plex_userid === null || plex_userid === undefined) {
return res.status(403).send({
success: false,
message: 'No plex account user id found for your user. Please authenticate your plex account at /user/authenticate.'
})
} else {
req.loggedInUser.plex_userid = plex_userid;
return next();
}
})
}
const plex_userid = row.plex_userid;
if (plex_userid === null || plex_userid === undefined) {
return res.status(403).send({
success: false,
message:
"No plex account user id found for your user. Please authenticate your plex account at /user/authenticate."
});
} else {
req.loggedInUser.plex_userid = plex_userid;
return next();
}
});
}
};
module.exports = mustHaveAccountLinkedToPlex;

View File

@@ -1,6 +1,6 @@
/* eslint-disable no-param-reassign */
const configuration = require("src/config/configuration").getInstance();
const Token = require("src/user/token");
const configuration = require("../../config/configuration").getInstance();
const Token = require("../../user/token");
const secret = configuration.get("authentication", "secret");

View File

@@ -1,11 +1,11 @@
const config = require('src/config/configuration').getInstance();
const app = require('./app');
const config = require("../config/configuration").getInstance();
const app = require("./app");
module.exports = app.listen(config.get('webserver', 'port'), () => {
/* eslint-disable no-console */
console.log('seasonedAPI');
/* eslint-disable no-console */
console.log(`Database is located at ${config.get('database', 'host')}`);
/* eslint-disable no-console */
console.log(`Webserver is listening on ${config.get('webserver', 'port')}`);
module.exports = app.listen(config.get("webserver", "port"), () => {
/* eslint-disable no-console */
console.log("seasonedAPI");
/* eslint-disable no-console */
console.log(`Database is located at ${config.get("database", "host")}`);
/* eslint-disable no-console */
console.log(`Webserver is listening on ${config.get("webserver", "port")}`);
});