diff --git a/src/cache/redis.js b/src/cache/redis.js
index 75e098c..340d884 100644
--- a/src/cache/redis.js
+++ b/src/cache/redis.js
@@ -21,11 +21,11 @@ try {
console.error("Unable to connect to redis, setting up redis-mock.");
client = {
- get: function () {
+ get() {
console.log("redis-dummy get", arguments[0]);
return Promise.resolve();
},
- set: function () {
+ set() {
console.log("redis-dummy set", arguments[0]);
return Promise.resolve();
}
diff --git a/src/config/environmentVariables.js b/src/config/environmentVariables.js
index b7fc3f2..22d467f 100644
--- a/src/config/environmentVariables.js
+++ b/src/config/environmentVariables.js
@@ -1,15 +1,15 @@
class EnvironmentVariables {
- constructor(variables) {
- this.variables = variables || process.env;
- }
+ constructor(variables) {
+ this.variables = variables || process.env;
+ }
- get(variable) {
- return this.variables[variable];
- }
+ get(variable) {
+ return this.variables[variable];
+ }
- has(variable) {
- return this.get(variable) !== undefined;
- }
+ has(variable) {
+ return this.get(variable) !== undefined;
+ }
}
module.exports = EnvironmentVariables;
diff --git a/src/config/field.js b/src/config/field.js
index 42eb8cd..546513b 100644
--- a/src/config/field.js
+++ b/src/config/field.js
@@ -1,49 +1,53 @@
-const Filters = require('./filters.js');
-const EnvironmentVariables = require('./environmentVariables.js');
+const Filters = require("./filters.js");
+const EnvironmentVariables = require("./environmentVariables.js");
class Field {
- constructor(rawValue, environmentVariables) {
- this.rawValue = rawValue;
- this.filters = new Filters(rawValue);
- this.valueWithoutFilters = this.filters.removeFiltersFromValue();
- this.environmentVariables = new EnvironmentVariables(environmentVariables);
- }
-
- get value() {
- if (this.filters.isEmpty()) {
- return this.valueWithoutFilters;
- }
-
- if (this.filters.has('base64') && !this.filters.has('env')) {
- return Field.base64Decode(this.valueWithoutFilters);
- }
-
- if (this.environmentVariables.has(this.valueWithoutFilters) &&
- this.environmentVariables.get(this.valueWithoutFilters) === '') {
- return undefined;
- }
-
- if (!this.filters.has('base64') && this.filters.has('env')) {
- if (this.environmentVariables.has(this.valueWithoutFilters)) {
- return this.environmentVariables.get(this.valueWithoutFilters);
- }
- return undefined;
- }
-
- if (this.filters.has('env') && this.filters.has('base64')) {
- if (this.environmentVariables.has(this.valueWithoutFilters)) {
- const encodedEnvironmentVariable = this.environmentVariables.get(this.valueWithoutFilters);
- return Field.base64Decode(encodedEnvironmentVariable);
- }
- return undefined;
- }
+ constructor(rawValue, environmentVariables) {
+ this.rawValue = rawValue;
+ this.filters = new Filters(rawValue);
+ this.valueWithoutFilters = this.filters.removeFiltersFromValue();
+ this.environmentVariables = new EnvironmentVariables(environmentVariables);
+ }
+ get value() {
+ if (this.filters.isEmpty()) {
return this.valueWithoutFilters;
- }
+ }
- static base64Decode(string) {
- return new Buffer(string, 'base64').toString('utf-8');
- }
+ if (this.filters.has("base64") && !this.filters.has("env")) {
+ return Field.base64Decode(this.valueWithoutFilters);
+ }
+
+ if (
+ this.environmentVariables.has(this.valueWithoutFilters) &&
+ this.environmentVariables.get(this.valueWithoutFilters) === ""
+ ) {
+ return undefined;
+ }
+
+ if (!this.filters.has("base64") && this.filters.has("env")) {
+ if (this.environmentVariables.has(this.valueWithoutFilters)) {
+ return this.environmentVariables.get(this.valueWithoutFilters);
+ }
+ return undefined;
+ }
+
+ if (this.filters.has("env") && this.filters.has("base64")) {
+ if (this.environmentVariables.has(this.valueWithoutFilters)) {
+ const encodedEnvironmentVariable = this.environmentVariables.get(
+ this.valueWithoutFilters
+ );
+ return Field.base64Decode(encodedEnvironmentVariable);
+ }
+ return undefined;
+ }
+
+ return this.valueWithoutFilters;
+ }
+
+ static base64Decode(string) {
+ return new Buffer(string, "base64").toString("utf-8");
+ }
}
module.exports = Field;
diff --git a/src/config/filters.js b/src/config/filters.js
index b4ec359..8d5fad1 100644
--- a/src/config/filters.js
+++ b/src/config/filters.js
@@ -1,34 +1,34 @@
class Filters {
- constructor(value) {
- this.value = value;
- this.delimiter = '|';
- }
+ constructor(value) {
+ this.value = value;
+ this.delimiter = "|";
+ }
- get filters() {
- return this.value.split(this.delimiter).slice(0, -1);
- }
+ get filters() {
+ return this.value.split(this.delimiter).slice(0, -1);
+ }
- isEmpty() {
- return !this.hasValidType() || this.value.length === 0;
- }
+ isEmpty() {
+ return !this.hasValidType() || this.value.length === 0;
+ }
- has(filter) {
- return this.filters.includes(filter);
- }
+ has(filter) {
+ return this.filters.includes(filter);
+ }
- hasValidType() {
- return (typeof this.value === 'string');
- }
+ hasValidType() {
+ return typeof this.value === "string";
+ }
- removeFiltersFromValue() {
- if (this.hasValidType() === false) {
- return this.value;
- }
+ removeFiltersFromValue() {
+ if (this.hasValidType() === false) {
+ return this.value;
+ }
- let filtersCombined = this.filters.join(this.delimiter);
- filtersCombined += this.filters.length >= 1 ? this.delimiter : '';
- return this.value.replace(filtersCombined, '');
- }
+ let filtersCombined = this.filters.join(this.delimiter);
+ filtersCombined += this.filters.length >= 1 ? this.delimiter : "";
+ return this.value.replace(filtersCombined, "");
+ }
}
module.exports = Filters;
diff --git a/src/git/gitRepository.js b/src/git/gitRepository.js
index 703ce2c..7659561 100644
--- a/src/git/gitRepository.js
+++ b/src/git/gitRepository.js
@@ -1,9 +1,8 @@
-
class GitRepository {
- static dumpHook(body) {
- /* eslint-disable no-console */
- console.log(body);
- }
+ static dumpHook(body) {
+ /* eslint-disable no-console */
+ console.log(body);
+ }
}
module.exports = GitRepository;
diff --git a/src/media_classes/media.js b/src/media_classes/media.js
index 4ec1627..e68f670 100644
--- a/src/media_classes/media.js
+++ b/src/media_classes/media.js
@@ -1,19 +1,18 @@
-
class Media {
- constructor(title, year, type) {
- this.title = title;
- this.year = year;
- this.type = type;
- }
+ constructor(title, year, type) {
+ this.title = title;
+ this.year = year;
+ this.type = type;
+ }
- toString() {
- return `N: ${this.title} | Y: ${this.year} | T: ${this.type}`;
- }
+ toString() {
+ return `N: ${this.title} | Y: ${this.year} | T: ${this.type}`;
+ }
- print() {
- /* eslint-disable no-console */
- console.log(this.toString());
- }
+ print() {
+ /* eslint-disable no-console */
+ console.log(this.toString());
+ }
}
module.exports = Media;
diff --git a/src/media_classes/mediaInfo.js b/src/media_classes/mediaInfo.js
index 3cbe69d..663bcb8 100644
--- a/src/media_classes/mediaInfo.js
+++ b/src/media_classes/mediaInfo.js
@@ -1,15 +1,15 @@
class MediaInfo {
- constructor() {
- this.duration = undefined;
- this.height = undefined;
- this.width = undefined;
- this.bitrate = undefined;
- this.resolution = undefined;
- this.framerate = undefined;
- this.protocol = undefined;
- this.container = undefined;
- this.audioCodec = undefined;
- }
+ constructor() {
+ this.duration = undefined;
+ this.height = undefined;
+ this.width = undefined;
+ this.bitrate = undefined;
+ this.resolution = undefined;
+ this.framerate = undefined;
+ this.protocol = undefined;
+ this.container = undefined;
+ this.audioCodec = undefined;
+ }
}
module.exports = MediaInfo;
diff --git a/src/media_classes/player.js b/src/media_classes/player.js
index e675f85..6f9a22f 100644
--- a/src/media_classes/player.js
+++ b/src/media_classes/player.js
@@ -1,12 +1,12 @@
class Player {
- constructor(device, address) {
- this.device = device;
- this.ip = address;
- this.platform = undefined;
- this.product = undefined;
- this.title = undefined;
- this.state = undefined;
- }
+ constructor(device, address) {
+ this.device = device;
+ this.ip = address;
+ this.platform = undefined;
+ this.product = undefined;
+ this.title = undefined;
+ this.state = undefined;
+ }
}
module.exports = Player;
diff --git a/src/media_classes/user.js b/src/media_classes/user.js
index fc09d7d..62a5f3e 100644
--- a/src/media_classes/user.js
+++ b/src/media_classes/user.js
@@ -1,8 +1,8 @@
class User {
- constructor(id, title) {
- this.id = id;
- this.title = title;
- }
+ constructor(id, title) {
+ this.id = id;
+ this.title = title;
+ }
}
module.exports = User;
diff --git a/src/notifications/sms.js b/src/notifications/sms.js
index 7e78b05..a56587f 100644
--- a/src/notifications/sms.js
+++ b/src/notifications/sms.js
@@ -24,7 +24,7 @@ const sendSMS = message => {
}
},
function (err, r, body) {
- console.log(err ? err : body);
+ console.log(err || body);
console.log("sms provider response:", body);
resolve();
}
diff --git a/src/pirate/pirateRepository.js b/src/pirate/pirateRepository.js
index ba01bfa..70a030c 100644
--- a/src/pirate/pirateRepository.js
+++ b/src/pirate/pirateRepository.js
@@ -92,8 +92,8 @@ async function AddMagnet(magnet, name, tmdb_id) {
"INSERT INTO requested_torrent(magnet,torrent_name,tmdb_id) \
VALUES (?,?,?)";
- let response = database.run(insert_query, [magnet, name, tmdb_id]);
- console.log("Response from requsted_torrent insert: " + response);
+ const response = database.run(insert_query, [magnet, name, tmdb_id]);
+ console.log(`Response from requsted_torrent insert: ${response}`);
resolve({ success: true });
})
diff --git a/src/plex/convertPlexToSeasoned.js b/src/plex/convertPlexToSeasoned.js
index 148fe7c..40f1dcc 100644
--- a/src/plex/convertPlexToSeasoned.js
+++ b/src/plex/convertPlexToSeasoned.js
@@ -5,10 +5,10 @@ function translateAdded(date_string) {
}
function convertPlexToSeasoned(plex) {
- const title = plex.title;
- const year = plex.year;
- const type = plex.type;
- const summary = plex.summary;
+ const { title } = plex;
+ const { year } = plex;
+ const { type } = plex;
+ const { summary } = plex;
const poster_path = plex.thumb;
const background_path = plex.art;
const added = translateAdded(plex.addedAt);
diff --git a/src/plex/mailTemplate.js b/src/plex/mailTemplate.js
index 64d38a9..fa0a355 100644
--- a/src/plex/mailTemplate.js
+++ b/src/plex/mailTemplate.js
@@ -1,25 +1,25 @@
class mailTemplate {
- constructor(mediaItem) {
- this.mediaItem = mediaItem;
- this.posterURL = 'https://image.tmdb.org/t/p/w600';
- }
+ constructor(mediaItem) {
+ this.mediaItem = mediaItem;
+ this.posterURL = "https://image.tmdb.org/t/p/w600";
+ }
- toText() {
- return `${this.mediaItem.title} (${this.mediaItem.year})`; // plain text body
- }
+ toText() {
+ return `${this.mediaItem.title} (${this.mediaItem.year})`; // plain text body
+ }
- toHTML() {
- const info = {
- name: this.mediaItem.title,
- year: `(${this.mediaItem.year})`,
- poster: this.posterURL + this.mediaItem.poster,
- };
+ toHTML() {
+ const info = {
+ name: this.mediaItem.title,
+ year: `(${this.mediaItem.year})`,
+ poster: this.posterURL + this.mediaItem.poster
+ };
- return `
+ return `
${info.name} ${info.year}
`;
- }
+ }
}
module.exports = mailTemplate;
diff --git a/src/plex/plex.js b/src/plex/plex.js
index 159fd00..9108dcb 100644
--- a/src/plex/plex.js
+++ b/src/plex/plex.js
@@ -11,23 +11,22 @@ const sanitize = string => string.toLowerCase().replace(/[^\w]/gi, "");
function fixedEncodeURIComponent(str) {
return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {
- return "%" + c.charCodeAt(0).toString(16).toUpperCase();
+ return `%${c.charCodeAt(0).toString(16).toUpperCase()}`;
});
}
const matchingTitleAndYear = (plex, tmdb) => {
- let matchingTitle, matchingYear;
+ let matchingTitle;
+ let matchingYear;
- if (plex["title"] != null && tmdb["title"] != null) {
+ if (plex.title != null && tmdb.title != null) {
const plexTitle = sanitize(plex.title);
const tmdbTitle = sanitize(tmdb.title);
matchingTitle = plexTitle == tmdbTitle;
- matchingTitle = matchingTitle
- ? matchingTitle
- : plexTitle.startsWith(tmdbTitle);
+ matchingTitle = matchingTitle || plexTitle.startsWith(tmdbTitle);
} else matchingTitle = false;
- if (plex["year"] != null && tmdb["year"] != null)
+ if (plex.year != null && tmdb.year != null)
matchingYear = plex.year == tmdb.year;
else matchingYear = false;
@@ -35,12 +34,12 @@ const matchingTitleAndYear = (plex, tmdb) => {
};
const successfullResponse = response => {
- if (response && response["MediaContainer"]) return response;
+ if (response && response.MediaContainer) return response;
if (
response == null ||
- response["status"] == null ||
- response["statusText"] == null
+ response.status == null ||
+ response.statusText == null
) {
throw Error("Unable to decode response");
}
@@ -49,9 +48,8 @@ const successfullResponse = response => {
if (status === 200) {
return response.json();
- } else {
- throw { message: statusText, status: status };
}
+ throw { message: statusText, status };
};
class Plex {
@@ -77,13 +75,13 @@ class Plex {
return new Promise((resolve, reject) =>
this.cache
.get(cacheKey)
- .then(machineInfo => resolve(machineInfo["machineIdentifier"]))
+ .then(machineInfo => resolve(machineInfo.machineIdentifier))
.catch(() => fetch(url, options))
.then(response => response.json())
.then(machineInfo =>
- this.cache.set(cacheKey, machineInfo["MediaContainer"], 2628000)
+ this.cache.set(cacheKey, machineInfo.MediaContainer, 2628000)
)
- .then(machineInfo => resolve(machineInfo["machineIdentifier"]))
+ .then(machineInfo => resolve(machineInfo.machineIdentifier))
.catch(error => {
if (error != undefined && error.type === "request-timeout") {
reject({
@@ -104,7 +102,7 @@ class Plex {
if (plex == null || tmdb == null) return false;
if (plex instanceof Array) {
- let possibleMatches = plex.map(plexItem =>
+ const possibleMatches = plex.map(plexItem =>
matchingTitleAndYear(plexItem, tmdb)
);
match = possibleMatches.includes(true);
@@ -120,7 +118,7 @@ class Plex {
tmdb.title,
tmdb.year
);
- return plexMatch ? true : false;
+ return !!plexMatch;
}
findPlexItemByTitleAndYear(title, year) {
@@ -149,7 +147,7 @@ class Plex {
if (
matchingObjectInPlex == false ||
matchingObjectInPlex == null ||
- matchingObjectInPlex["key"] == null ||
+ matchingObjectInPlex.key == null ||
machineIdentifier == null
)
return false;
@@ -227,9 +225,11 @@ class Plex {
.map(category => {
if (category.type === "movie") {
return category.Metadata;
- } else if (category.type === "show") {
+ }
+ if (category.type === "show") {
return category.Metadata.map(convertPlexToShow);
- } else if (category.type === "episode") {
+ }
+ if (category.type === "episode") {
return category.Metadata.map(convertPlexToEpisode);
}
})
diff --git a/src/plex/plexRepository.js b/src/plex/plexRepository.js
index 4433fa2..3bc29ac 100644
--- a/src/plex/plexRepository.js
+++ b/src/plex/plexRepository.js
@@ -1,6 +1,6 @@
+const rp = require("request-promise");
const convertPlexToSeasoned = require("./convertPlexToSeasoned");
const convertPlexToStream = require("./convertPlexToStream");
-const rp = require("request-promise");
class PlexRepository {
constructor(plexIP) {
@@ -24,7 +24,7 @@ class PlexRepository {
`http://${this.plexIP}:32400/search?query=${queryUri}`
);
const options = {
- uri: uri,
+ uri,
headers: {
Accept: "application/json"
},
diff --git a/src/plex/requestRepository.js b/src/plex/requestRepository.js
index 357ad40..fcf480e 100644
--- a/src/plex/requestRepository.js
+++ b/src/plex/requestRepository.js
@@ -56,7 +56,7 @@ class RequestRepository {
if (error) {
throw new Error(error);
}
- tmdbMovie.requested = result ? true : false;
+ tmdbMovie.requested = !!result;
return tmdbMovie;
});
}
@@ -98,7 +98,7 @@ class RequestRepository {
type,
page
]);
- else return this.database.all(this.queries.fetchRequestedItems, page);
+ return this.database.all(this.queries.fetchRequestedItems, page);
});
}
diff --git a/src/plex/stream/convertStreamToPlayback.js b/src/plex/stream/convertStreamToPlayback.js
index cdabee4..c07d439 100644
--- a/src/plex/stream/convertStreamToPlayback.js
+++ b/src/plex/stream/convertStreamToPlayback.js
@@ -1,14 +1,14 @@
class convertStreamToPlayback {
- constructor(plexStream) {
- this.bitrate = plexStream.bitrate;
- this.width = plexStream.width;
- this.height = plexStream.height;
- this.decision = plexStream.decision;
- this.audioProfile = plexStream.audioProfile;
- this.videoProfile = plexStream.videoProfile;
- this.duration = plexStream.duration;
- this.container = plexStream.container;
- }
+ constructor(plexStream) {
+ this.bitrate = plexStream.bitrate;
+ this.width = plexStream.width;
+ this.height = plexStream.height;
+ this.decision = plexStream.decision;
+ this.audioProfile = plexStream.audioProfile;
+ this.videoProfile = plexStream.videoProfile;
+ this.duration = plexStream.duration;
+ this.container = plexStream.container;
+ }
}
module.exports = convertStreamToPlayback;
diff --git a/src/plex/types/episode.js b/src/plex/types/episode.js
index a99fa8f..69ce4fe 100644
--- a/src/plex/types/episode.js
+++ b/src/plex/types/episode.js
@@ -8,9 +8,9 @@ class Episode {
this.summary = null;
this.rating = null;
this.views = null;
- this.aired = null;
- this.type = 'episode';
+ this.aired = null;
+ this.type = "episode";
}
}
-module.exports = Episode;
\ No newline at end of file
+module.exports = Episode;
diff --git a/src/plex/types/movie.js b/src/plex/types/movie.js
index 8a2b6fa..aa62ca6 100644
--- a/src/plex/types/movie.js
+++ b/src/plex/types/movie.js
@@ -5,8 +5,8 @@ class Movie {
this.summary = null;
this.rating = null;
this.tagline = null;
- this.type = 'movie';
+ this.type = "movie";
}
}
-module.exports = Movie;
\ No newline at end of file
+module.exports = Movie;
diff --git a/src/plex/types/show.js b/src/plex/types/show.js
index 86c1ef4..426fd7c 100644
--- a/src/plex/types/show.js
+++ b/src/plex/types/show.js
@@ -9,4 +9,4 @@ class Show {
}
}
-module.exports = Show;
\ No newline at end of file
+module.exports = Show;
diff --git a/src/request/request.js b/src/request/request.js
index 97afb05..14ca0dc 100644
--- a/src/request/request.js
+++ b/src/request/request.js
@@ -1,6 +1,7 @@
const assert = require("assert");
const configuration = require("../config/configuration").getInstance();
const TMDB = require("../tmdb/tmdb");
+
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const establishedDatabase = require("../database/database");
const utils = require("./utils");
@@ -33,7 +34,7 @@ class RequestRepository {
}
sortAndFilterToDbQuery(by, direction, filter, query) {
- let dbQuery = undefined;
+ let dbQuery;
if (query !== undefined) {
const dbParams = [query, query];
@@ -87,7 +88,7 @@ class RequestRepository {
mapToTmdbByType(rows) {
return rows.map(row => {
if (row.type === "movie") return tmdb.movieInfo(row.id);
- else if (row.type === "show") return tmdb.showInfo(row.id);
+ if (row.type === "show") return tmdb.showInfo(row.id);
});
}
@@ -189,9 +190,9 @@ class RequestRepository {
.then(async rows => {
const sqliteResponse = await this.database.get(
fetchTotalResults,
- filter ? filter : undefined
+ filter || undefined
);
- const totalRequests = sqliteResponse["totalRequests"];
+ const { totalRequests } = sqliteResponse;
const totalPages = Math.ceil(totalRequests / 26);
return [
@@ -211,7 +212,7 @@ class RequestRepository {
Promise.resolve({
results: result,
total_results: totalRequests,
- page: page,
+ page,
total_pages: totalPages
})
)
diff --git a/src/request/utils.js b/src/request/utils.js
index 0f92156..6cbe37a 100644
--- a/src/request/utils.js
+++ b/src/request/utils.js
@@ -1,34 +1,48 @@
// TODO : test title and date are valid matches to columns in the database
-const validSortParams = ['title', 'date']
-const validSortDirs = ['asc', 'desc']
-const validFilterParams = ['movie', 'show', 'seeding', 'downloading', 'paused', 'finished', 'downloaded']
+const validSortParams = ["title", "date"];
+const validSortDirs = ["asc", "desc"];
+const validFilterParams = [
+ "movie",
+ "show",
+ "seeding",
+ "downloading",
+ "paused",
+ "finished",
+ "downloaded"
+];
function validSort(by, direction) {
return new Promise((resolve, reject) => {
if (by === undefined) {
- resolve()
+ resolve();
}
if (validSortParams.includes(by) && validSortDirs.includes(direction)) {
- resolve()
+ resolve();
} else {
- reject(new Error(`invalid sort parameter, must be of: ${validSortParams} with optional sort directions: ${validSortDirs} appended with ':'`))
+ reject(
+ new Error(
+ `invalid sort parameter, must be of: ${validSortParams} with optional sort directions: ${validSortDirs} appended with ':'`
+ )
+ );
}
});
}
function validFilter(filter_param) {
return new Promise((resolve, reject) => {
- if (filter_param === undefined) {
- resolve()
+ if (filter_param === undefined) {
+ resolve();
}
if (filter_param && validFilterParams.includes(filter_param)) {
- resolve()
+ resolve();
} else {
- reject(new Error(`filter parameteres must be of type: ${validFilterParams}`))
+ reject(
+ new Error(`filter parameteres must be of type: ${validFilterParams}`)
+ );
}
});
}
-module.exports = { validSort, validFilter }
\ No newline at end of file
+module.exports = { validSort, validFilter };
diff --git a/src/seasoned/stray.js b/src/seasoned/stray.js
index f33e2ac..c2620fa 100644
--- a/src/seasoned/stray.js
+++ b/src/seasoned/stray.js
@@ -1,7 +1,7 @@
class Stray {
- constructor(id) {
- this.id = id;
- }
+ constructor(id) {
+ this.id = id;
+ }
}
module.exports = Stray;
diff --git a/src/seasoned/strayRepository.js b/src/seasoned/strayRepository.js
index 8474295..9239736 100644
--- a/src/seasoned/strayRepository.js
+++ b/src/seasoned/strayRepository.js
@@ -1,7 +1,7 @@
const assert = require("assert");
+const pythonShell = require("python-shell");
const Stray = require("./stray");
const establishedDatabase = require("../database/database");
-const pythonShell = require("python-shell");
class StrayRepository {
constructor(database) {
diff --git a/src/tmdb/tmdb.js b/src/tmdb/tmdb.js
index d549d0e..9110167 100644
--- a/src/tmdb/tmdb.js
+++ b/src/tmdb/tmdb.js
@@ -5,11 +5,11 @@ const { Movie, Show, Person, Credits, ReleaseDates } = require("./types");
const tmdbErrorResponse = (error, typeString = undefined) => {
if (error.status === 404) {
- let message = error.response.body.status_message;
+ const message = error.response.body.status_message;
throw {
status: 404,
- message: message.slice(0, -1) + " in tmdb."
+ message: `${message.slice(0, -1)} in tmdb.`
};
} else if (error.status === 401) {
throw {
@@ -221,7 +221,7 @@ class TMDB {
}
movieList(listname, page = 1) {
- const query = { page: page };
+ const query = { page };
const cacheKey = `tmdb/${this.cacheTags[listname]}:${page}`;
return this.getFromCacheOrFetchFromTmdb(cacheKey, listname, query)
@@ -230,7 +230,7 @@ class TMDB {
}
showList(listname, page = 1) {
- const query = { page: page };
+ const query = { page };
const cacheKey = `tmdb/${this.cacheTags[listname]}:${page}`;
return this.getFromCacheOrFetchFromTmdb(cacheKey, listName, query)
@@ -245,21 +245,23 @@ class TMDB {
* @returns {Promise} dict with tmdb results, mapped as movie/show objects.
*/
mapResults(response, type = undefined) {
- let results = response.results.map(result => {
+ const results = response.results.map(result => {
if (type === "movie" || result.media_type === "movie") {
const movie = Movie.convertFromTmdbResponse(result);
return movie.createJsonResponse();
- } else if (type === "show" || result.media_type === "tv") {
+ }
+ if (type === "show" || result.media_type === "tv") {
const show = Show.convertFromTmdbResponse(result);
return show.createJsonResponse();
- } else if (type === "person" || result.media_type === "person") {
+ }
+ if (type === "person" || result.media_type === "person") {
const person = Person.convertFromTmdbResponse(result);
return person.createJsonResponse();
}
});
return {
- results: results,
+ results,
page: response.page,
total_results: response.total_results,
total_pages: response.total_pages
diff --git a/src/tmdb/types.js b/src/tmdb/types.js
index 0c7ae23..f3a831a 100644
--- a/src/tmdb/types.js
+++ b/src/tmdb/types.js
@@ -1,7 +1,7 @@
-const Movie = require('./types/movie.js')
-const Show = require('./types/show.js')
-const Person = require('./types/person.js')
-const Credits = require('./types/credits.js')
-const ReleaseDates = require('./types/releaseDates.js')
+const Movie = require("./types/movie.js");
+const Show = require("./types/show.js");
+const Person = require("./types/person.js");
+const Credits = require("./types/credits.js");
+const ReleaseDates = require("./types/releaseDates.js");
-module.exports = { Movie, Show, Person, Credits, ReleaseDates }
+module.exports = { Movie, Show, Person, Credits, ReleaseDates };
diff --git a/src/tmdb/types/credits.js b/src/tmdb/types/credits.js
index 0c47e51..b32a557 100644
--- a/src/tmdb/types/credits.js
+++ b/src/tmdb/types/credits.js
@@ -13,10 +13,11 @@ class Credits {
const { id, cast, crew } = response;
const allCast = cast.map(cast => {
- if (cast["media_type"]) {
+ if (cast.media_type) {
if (cast.media_type === "movie") {
return CreditedMovie.convertFromTmdbResponse(cast);
- } else if (cast.media_type === "tv") {
+ }
+ if (cast.media_type === "tv") {
return CreditedShow.convertFromTmdbResponse(cast);
}
}
@@ -31,10 +32,11 @@ class Credits {
});
const allCrew = crew.map(crew => {
- if (cast["media_type"]) {
+ if (cast.media_type) {
if (cast.media_type === "movie") {
return CreditedMovie.convertFromTmdbResponse(cast);
- } else if (cast.media_type === "tv") {
+ }
+ if (cast.media_type === "tv") {
return CreditedShow.convertFromTmdbResponse(cast);
}
}
diff --git a/src/tmdb/types/movie.js b/src/tmdb/types/movie.js
index 4663245..09b5816 100644
--- a/src/tmdb/types/movie.js
+++ b/src/tmdb/types/movie.js
@@ -1,7 +1,20 @@
class Movie {
- constructor(id, title, year=undefined, overview=undefined, poster=undefined, backdrop=undefined,
- releaseDate=undefined, rating=undefined, genres=undefined, productionStatus=undefined,
- tagline=undefined, runtime=undefined, imdb_id=undefined, popularity=undefined) {
+ constructor(
+ id,
+ title,
+ year = undefined,
+ overview = undefined,
+ poster = undefined,
+ backdrop = undefined,
+ releaseDate = undefined,
+ rating = undefined,
+ genres = undefined,
+ productionStatus = undefined,
+ tagline = undefined,
+ runtime = undefined,
+ imdb_id = undefined,
+ popularity = undefined
+ ) {
this.id = id;
this.title = title;
this.year = year;
@@ -16,27 +29,66 @@ class Movie {
this.runtime = runtime;
this.imdb_id = imdb_id;
this.popularity = popularity;
- this.type = 'movie';
+ this.type = "movie";
}
static convertFromTmdbResponse(response) {
- const { id, title, release_date, overview, poster_path, backdrop_path, vote_average, genres, status,
- tagline, runtime, imdb_id, popularity } = response;
+ const {
+ id,
+ title,
+ release_date,
+ overview,
+ poster_path,
+ backdrop_path,
+ vote_average,
+ genres,
+ status,
+ tagline,
+ runtime,
+ imdb_id,
+ popularity
+ } = response;
const releaseDate = new Date(release_date);
const year = releaseDate.getFullYear();
- const genreNames = genres ? genres.map(g => g.name) : undefined
+ const genreNames = genres ? genres.map(g => g.name) : undefined;
- return new Movie(id, title, year, overview, poster_path, backdrop_path, releaseDate, vote_average, genreNames, status,
- tagline, runtime, imdb_id, popularity)
+ return new Movie(
+ id,
+ title,
+ year,
+ overview,
+ poster_path,
+ backdrop_path,
+ releaseDate,
+ vote_average,
+ genreNames,
+ status,
+ tagline,
+ runtime,
+ imdb_id,
+ popularity
+ );
}
static convertFromPlexResponse(response) {
// console.log('response', response)
const { title, year, rating, tagline, summary } = response;
- const _ = undefined
+ const _ = undefined;
- return new Movie(null, title, year, summary, _, _, _, rating, _, _, tagline)
+ return new Movie(
+ null,
+ title,
+ year,
+ summary,
+ _,
+ _,
+ _,
+ rating,
+ _,
+ _,
+ tagline
+ );
}
createJsonResponse() {
@@ -55,7 +107,7 @@ class Movie {
runtime: this.runtime,
imdb_id: this.imdb_id,
type: this.type
- }
+ };
}
}
diff --git a/src/tmdb/types/releaseDates.js b/src/tmdb/types/releaseDates.js
index 340479e..02b6a4a 100644
--- a/src/tmdb/types/releaseDates.js
+++ b/src/tmdb/types/releaseDates.js
@@ -1,4 +1,4 @@
-class ReleaseDates {
+class ReleaseDates {
constructor(id, releases) {
this.id = id;
this.releases = releases;
@@ -7,24 +7,35 @@ class ReleaseDates {
static convertFromTmdbResponse(response) {
const { id, results } = response;
- const releases = results.map(countryRelease =>
- new Release(
- countryRelease.iso_3166_1,
- countryRelease.release_dates.map(rd => new ReleaseDate(rd.certification, rd.iso_639_1, rd.release_date, rd.type, rd.note))
- ))
+ const releases = results.map(
+ countryRelease =>
+ new Release(
+ countryRelease.iso_3166_1,
+ countryRelease.release_dates.map(
+ rd =>
+ new ReleaseDate(
+ rd.certification,
+ rd.iso_639_1,
+ rd.release_date,
+ rd.type,
+ rd.note
+ )
+ )
+ )
+ );
- return new ReleaseDates(id, releases)
+ return new ReleaseDates(id, releases);
}
createJsonResponse() {
return {
id: this.id,
results: this.releases.map(release => release.createJsonResponse())
- }
+ };
}
}
-class Release {
+class Release {
constructor(country, releaseDates) {
this.country = country;
this.releaseDates = releaseDates;
@@ -33,8 +44,10 @@ class Release {
createJsonResponse() {
return {
country: this.country,
- release_dates: this.releaseDates.map(releaseDate => releaseDate.createJsonResponse())
- }
+ release_dates: this.releaseDates.map(releaseDate =>
+ releaseDate.createJsonResponse()
+ )
+ };
}
}
@@ -49,19 +62,18 @@ class ReleaseDate {
releaseTypeLookup(releaseTypeKey) {
const releaseTypeEnum = {
- 1: 'Premier',
- 2: 'Limited theatrical',
- 3: 'Theatrical',
- 4: 'Digital',
- 5: 'Physical',
- 6: 'TV'
- }
+ 1: "Premier",
+ 2: "Limited theatrical",
+ 3: "Theatrical",
+ 4: "Digital",
+ 5: "Physical",
+ 6: "TV"
+ };
if (releaseTypeKey <= Object.keys(releaseTypeEnum).length) {
- return releaseTypeEnum[releaseTypeKey]
- } else {
- // TODO log | Release type not defined, does this need updating?
- return null
+ return releaseTypeEnum[releaseTypeKey];
}
+ // TODO log | Release type not defined, does this need updating?
+ return null;
}
createJsonResponse() {
@@ -71,7 +83,7 @@ class ReleaseDate {
release_date: this.releaseDate,
type: this.type,
note: this.note
- }
+ };
}
}
diff --git a/src/tmdb/types/show.js b/src/tmdb/types/show.js
index 176c59a..995a4de 100644
--- a/src/tmdb/types/show.js
+++ b/src/tmdb/types/show.js
@@ -1,7 +1,18 @@
class Show {
- constructor(id, title, year=undefined, overview=undefined, poster=undefined, backdrop=undefined,
- seasons=undefined, episodes=undefined, rank=undefined, genres=undefined, status=undefined,
- runtime=undefined) {
+ constructor(
+ id,
+ title,
+ year = undefined,
+ overview = undefined,
+ poster = undefined,
+ backdrop = undefined,
+ seasons = undefined,
+ episodes = undefined,
+ rank = undefined,
+ genres = undefined,
+ status = undefined,
+ runtime = undefined
+ ) {
this.id = id;
this.title = title;
this.year = year;
@@ -14,18 +25,44 @@ class Show {
this.genres = genres;
this.productionStatus = status;
this.runtime = runtime;
- this.type = 'show';
+ this.type = "show";
}
static convertFromTmdbResponse(response) {
- const { id, name, first_air_date, overview, poster_path, backdrop_path, number_of_seasons, number_of_episodes,
- rank, genres, status, episode_run_time, popularity } = response;
+ const {
+ id,
+ name,
+ first_air_date,
+ overview,
+ poster_path,
+ backdrop_path,
+ number_of_seasons,
+ number_of_episodes,
+ rank,
+ genres,
+ status,
+ episode_run_time,
+ popularity
+ } = response;
- const year = new Date(first_air_date).getFullYear()
- const genreNames = genres ? genres.map(g => g.name) : undefined
+ const year = new Date(first_air_date).getFullYear();
+ const genreNames = genres ? genres.map(g => g.name) : undefined;
- return new Show(id, name, year, overview, poster_path, backdrop_path, number_of_seasons, number_of_episodes,
- rank, genreNames, status, episode_run_time, popularity)
+ return new Show(
+ id,
+ name,
+ year,
+ overview,
+ poster_path,
+ backdrop_path,
+ number_of_seasons,
+ number_of_episodes,
+ rank,
+ genreNames,
+ status,
+ episode_run_time,
+ popularity
+ );
}
createJsonResponse() {
@@ -43,7 +80,7 @@ class Show {
production_status: this.productionStatus,
runtime: this.runtime,
type: this.type
- }
+ };
}
}
diff --git a/src/user/token.js b/src/user/token.js
index d99baac..3f80aad 100644
--- a/src/user/token.js
+++ b/src/user/token.js
@@ -1,5 +1,5 @@
-const User = require("./user");
const jwt = require("jsonwebtoken");
+const User = require("./user");
class Token {
constructor(user, admin = false, settings = null) {
@@ -16,8 +16,8 @@ class Token {
toString(secret) {
const { user, admin, settings } = this;
- let data = { username: user.username, settings };
- if (admin) data["admin"] = admin;
+ const data = { username: user.username, settings };
+ if (admin) data.admin = admin;
return jwt.sign(data, secret, { expiresIn: "90d" });
}
diff --git a/src/user/user.js b/src/user/user.js
index bdf326a..0c24602 100644
--- a/src/user/user.js
+++ b/src/user/user.js
@@ -1,8 +1,8 @@
class User {
- constructor(username, email=undefined) {
- this.username = username;
- this.email = email;
- }
+ constructor(username, email = undefined) {
+ this.username = username;
+ this.email = email;
+ }
}
module.exports = User;
diff --git a/src/webserver/app.js b/src/webserver/app.js
index 270c9ff..e184f5c 100644
--- a/src/webserver/app.js
+++ b/src/webserver/app.js
@@ -59,7 +59,7 @@ router.get("/", (req, res) => {
app.use(Raven.errorHandler());
app.use((err, req, res, next) => {
res.statusCode = 500;
- res.end(res.sentry + "\n");
+ res.end(`${res.sentry}\n`);
});
/**
@@ -68,6 +68,7 @@ app.use((err, req, res, next) => {
router.post("/v1/user", require("./controllers/user/register.js"));
router.post("/v1/user/login", require("./controllers/user/login.js"));
router.post("/v1/user/logout", require("./controllers/user/logout.js"));
+
router.get(
"/v1/user/settings",
mustBeAuthenticated,
@@ -88,6 +89,7 @@ router.get(
mustBeAuthenticated,
require("./controllers/user/requests.js")
);
+
router.post(
"/v1/user/link_plex",
mustBeAuthenticated,
diff --git a/src/webserver/controllers/list/listController.js b/src/webserver/controllers/list/listController.js
index 9ec287e..9557099 100644
--- a/src/webserver/controllers/list/listController.js
+++ b/src/webserver/controllers/list/listController.js
@@ -1,5 +1,6 @@
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
@@ -39,7 +40,8 @@ function fetchTmdbList(req, res, listname, type) {
.movieList(listname, page)
.then(listResponse => res.send(listResponse))
.catch(error => handleError(error, res));
- } else if (type === "show") {
+ }
+ if (type === "show") {
return tmdb
.showList(listname, page)
.then(listResponse => res.send(listResponse))
diff --git a/src/webserver/controllers/movie/credits.js b/src/webserver/controllers/movie/credits.js
index a33b2fa..f8ec6c1 100644
--- a/src/webserver/controllers/movie/credits.js
+++ b/src/webserver/controllers/movie/credits.js
@@ -17,12 +17,9 @@ const movieCreditsController = (req, res) => {
} 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"
- });
+ res.status(500).send({
+ message: "An unexpected error occured while requesting movie credits"
+ });
}
});
};
diff --git a/src/webserver/controllers/movie/releaseDates.js b/src/webserver/controllers/movie/releaseDates.js
index d8eb2e0..84bd43b 100644
--- a/src/webserver/controllers/movie/releaseDates.js
+++ b/src/webserver/controllers/movie/releaseDates.js
@@ -17,12 +17,9 @@ const movieReleaseDatesController = (req, res) => {
} 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"
- });
+ res.status(500).send({
+ message: "An unexpected error occured while requesting movie credits"
+ });
}
});
};
diff --git a/src/webserver/controllers/person/credits.js b/src/webserver/controllers/person/credits.js
index 91a79e5..19eb5c2 100644
--- a/src/webserver/controllers/person/credits.js
+++ b/src/webserver/controllers/person/credits.js
@@ -1,5 +1,6 @@
const configuration = require("../../../config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
+
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const personCreditsController = (req, res) => {
diff --git a/src/webserver/controllers/person/info.js b/src/webserver/controllers/person/info.js
index be1dad0..87c91ff 100644
--- a/src/webserver/controllers/person/info.js
+++ b/src/webserver/controllers/person/info.js
@@ -1,5 +1,6 @@
const configuration = require("../../../config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
+
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
function handleError(error, res) {
@@ -31,7 +32,7 @@ async function personInfoController(req, res) {
? (credits = true)
: (credits = false);
- let tmdbQueue = [tmdb.personInfo(personId)];
+ const tmdbQueue = [tmdb.personInfo(personId)];
if (credits) tmdbQueue.push(tmdb.personCredits(personId));
try {
diff --git a/src/webserver/controllers/pirate/addMagnet.js b/src/webserver/controllers/pirate/addMagnet.js
index 0ce38d0..7dfbbdd 100644
--- a/src/webserver/controllers/pirate/addMagnet.js
+++ b/src/webserver/controllers/pirate/addMagnet.js
@@ -8,9 +8,9 @@
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;
+ const { name } = req.body;
+ const { tmdb_id } = req.body;
PirateRepository.AddMagnet(magnet, name, tmdb_id)
.then(result => {
diff --git a/src/webserver/controllers/plex/hookDump.js b/src/webserver/controllers/plex/hookDump.js
index 82d4e69..15682a0 100644
--- a/src/webserver/controllers/plex/hookDump.js
+++ b/src/webserver/controllers/plex/hookDump.js
@@ -1,12 +1,12 @@
/*
-* @Author: KevinMidboe
-* @Date: 2017-05-03 23:26:46
-* @Last Modified by: KevinMidboe
-* @Last Modified time: 2018-02-06 20:54:22
-*/
+ * @Author: KevinMidboe
+ * @Date: 2017-05-03 23:26:46
+ * @Last Modified by: KevinMidboe
+ * @Last Modified time: 2018-02-06 20:54:22
+ */
function hookDumpController(req, res) {
- console.log(req);
+ console.log(req);
}
module.exports = hookDumpController;
diff --git a/src/webserver/controllers/plex/readRequest.js b/src/webserver/controllers/plex/readRequest.js
index db29647..04d8c98 100644
--- a/src/webserver/controllers/plex/readRequest.js
+++ b/src/webserver/controllers/plex/readRequest.js
@@ -9,7 +9,7 @@ const requestRepository = new RequestRepository();
* @returns {Callback}
*/
function readRequestController(req, res) {
- const mediaId = req.params.mediaId;
+ const { mediaId } = req.params;
const { type } = req.query;
requestRepository
.lookup(mediaId, type)
diff --git a/src/webserver/controllers/plex/search.js b/src/webserver/controllers/plex/search.js
index 0d7b577..50162e9 100644
--- a/src/webserver/controllers/plex/search.js
+++ b/src/webserver/controllers/plex/search.js
@@ -1,5 +1,6 @@
const configuration = require("../../../config/configuration").getInstance();
const Plex = require("../../../plex/plex");
+
const plex = new Plex(configuration.get("plex", "ip"));
/**
@@ -16,12 +17,10 @@ function searchPlexController(req, res) {
if (movies.length > 0) {
res.send(movies);
} else {
- res
- .status(404)
- .send({
- success: false,
- message: "Search query did not give any results from plex."
- });
+ res.status(404).send({
+ success: false,
+ message: "Search query did not give any results from plex."
+ });
}
})
.catch(error => {
diff --git a/src/webserver/controllers/plex/searchMedia.js b/src/webserver/controllers/plex/searchMedia.js
index c4d9698..d64cefe 100644
--- a/src/webserver/controllers/plex/searchMedia.js
+++ b/src/webserver/controllers/plex/searchMedia.js
@@ -19,12 +19,10 @@ function searchMediaController(req, res) {
if (media !== undefined || media.length > 0) {
res.send(media);
} else {
- res
- .status(404)
- .send({
- success: false,
- message: "Search query did not return any results."
- });
+ res.status(404).send({
+ success: false,
+ message: "Search query did not return any results."
+ });
}
})
.catch(error => {
diff --git a/src/webserver/controllers/plex/submitRequest.js b/src/webserver/controllers/plex/submitRequest.js
index 2d78018..c06083a 100644
--- a/src/webserver/controllers/plex/submitRequest.js
+++ b/src/webserver/controllers/plex/submitRequest.js
@@ -1,6 +1,7 @@
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();
@@ -26,7 +27,7 @@ function submitRequestController(req, res) {
const user_agent = req.headers["user-agent"];
const username = req.loggedInUser ? req.loggedInUser.username : null;
- let mediaFunction = undefined;
+ let mediaFunction;
if (type === "movie") {
console.log("movie");
diff --git a/src/webserver/controllers/plex/updateRequested.js b/src/webserver/controllers/plex/updateRequested.js
index 3194a03..0fd4b18 100644
--- a/src/webserver/controllers/plex/updateRequested.js
+++ b/src/webserver/controllers/plex/updateRequested.js
@@ -10,8 +10,8 @@ const requestRepository = new RequestRepository();
*/
function updateRequested(req, res) {
const id = req.params.requestId;
- const type = req.body.type;
- const status = req.body.status;
+ const { type } = req.body;
+ const { status } = req.body;
requestRepository
.updateRequestedById(id, type, status)
diff --git a/src/webserver/controllers/plex/watchDirectLink.js b/src/webserver/controllers/plex/watchDirectLink.js
index a56f85d..13c4eb1 100644
--- a/src/webserver/controllers/plex/watchDirectLink.js
+++ b/src/webserver/controllers/plex/watchDirectLink.js
@@ -1,5 +1,6 @@
const configuration = require("../../../config/configuration").getInstance();
const Plex = require("../../../plex/plex");
+
const plex = new Plex(configuration.get("plex", "ip"));
/**
diff --git a/src/webserver/controllers/request/fetchAllRequests.js b/src/webserver/controllers/request/fetchAllRequests.js
index 7679169..c6f8ae2 100644
--- a/src/webserver/controllers/request/fetchAllRequests.js
+++ b/src/webserver/controllers/request/fetchAllRequests.js
@@ -1,4 +1,5 @@
const RequestRepository = require("../../../request/request");
+
const request = new RequestRepository();
/**
@@ -8,9 +9,9 @@ const request = new RequestRepository();
* @returns {Callback}
*/
function fetchAllRequests(req, res) {
- let { page, filter, sort, query } = req.query;
+ const { page, filter, sort, query } = req.query;
let sort_by = sort;
- let sort_direction = undefined;
+ let sort_direction;
if (sort !== undefined && sort.includes(":")) {
[sort_by, sort_direction] = sort.split(":");
diff --git a/src/webserver/controllers/request/getRequest.js b/src/webserver/controllers/request/getRequest.js
index 9167e95..ec79520 100644
--- a/src/webserver/controllers/request/getRequest.js
+++ b/src/webserver/controllers/request/getRequest.js
@@ -1,4 +1,5 @@
const RequestRepository = require("../../../request/request");
+
const request = new RequestRepository();
/**
@@ -8,7 +9,7 @@ const request = new RequestRepository();
* @returns {Callback}
*/
function fetchAllRequests(req, res) {
- const id = req.params.id;
+ const { id } = req.params;
const { type } = req.query;
request
diff --git a/src/webserver/controllers/request/requestTmdbId.js b/src/webserver/controllers/request/requestTmdbId.js
index a4e6185..139e560 100644
--- a/src/webserver/controllers/request/requestTmdbId.js
+++ b/src/webserver/controllers/request/requestTmdbId.js
@@ -1,6 +1,7 @@
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");
@@ -26,7 +27,7 @@ function requestTmdbIdController(req, res) {
const user_agent = req.headers["user-agent"];
const username = req.loggedInUser ? req.loggedInUser.username : null;
- let mediaFunction = undefined;
+ let mediaFunction;
if (id === undefined || type === undefined) {
res.status(422).send({
diff --git a/src/webserver/controllers/search/movieSearch.js b/src/webserver/controllers/search/movieSearch.js
index bfee6d1..3fa329d 100644
--- a/src/webserver/controllers/search/movieSearch.js
+++ b/src/webserver/controllers/search/movieSearch.js
@@ -1,6 +1,7 @@
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();
@@ -13,7 +14,7 @@ const searchHistory = new SearchHistory();
function movieSearchController(req, res) {
const { query, page, adult } = req.query;
const username = req.loggedInUser ? req.loggedInUser.username : null;
- const includeAdult = adult == "true" ? true : false;
+ const includeAdult = adult == "true";
if (username) {
searchHistory.create(username, query);
diff --git a/src/webserver/controllers/search/multiSearch.js b/src/webserver/controllers/search/multiSearch.js
index db977c7..5172612 100644
--- a/src/webserver/controllers/search/multiSearch.js
+++ b/src/webserver/controllers/search/multiSearch.js
@@ -1,11 +1,12 @@
-const configuration = require("../../..//config/configuration").getInstance();
+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();
function checkAndCreateJsonResponse(result) {
- if (typeof result["createJsonResponse"] === "function") {
+ if (typeof result.createJsonResponse === "function") {
return result.createJsonResponse();
}
return result;
diff --git a/src/webserver/controllers/search/personSearch.js b/src/webserver/controllers/search/personSearch.js
index dbd11c1..4a3699f 100644
--- a/src/webserver/controllers/search/personSearch.js
+++ b/src/webserver/controllers/search/personSearch.js
@@ -1,6 +1,7 @@
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();
@@ -13,7 +14,7 @@ const searchHistory = new SearchHistory();
function personSearchController(req, res) {
const { query, page, adult } = req.query;
const username = req.loggedInUser ? req.loggedInUser.username : null;
- const includeAdult = adult == "true" ? true : false;
+ const includeAdult = adult == "true";
if (username) {
searchHistory.create(username, query);
diff --git a/src/webserver/controllers/search/showSearch.js b/src/webserver/controllers/search/showSearch.js
index cd420c4..2566010 100644
--- a/src/webserver/controllers/search/showSearch.js
+++ b/src/webserver/controllers/search/showSearch.js
@@ -1,6 +1,7 @@
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();
@@ -13,7 +14,7 @@ const searchHistory = new SearchHistory();
function showSearchController(req, res) {
const { query, page, adult } = req.query;
const username = req.loggedInUser ? req.loggedInUser.username : null;
- const includeAdult = adult == "true" ? true : false;
+ const includeAdult = adult == "true";
if (username) {
searchHistory.create(username, query);
diff --git a/src/webserver/controllers/show/credits.js b/src/webserver/controllers/show/credits.js
index b7014a5..f381efd 100644
--- a/src/webserver/controllers/show/credits.js
+++ b/src/webserver/controllers/show/credits.js
@@ -1,5 +1,6 @@
const configuration = require("../../../config/configuration").getInstance();
const TMDB = require("../../../tmdb/tmdb");
+
const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const showCreditsController = (req, res) => {
@@ -16,11 +17,9 @@ const showCreditsController = (req, res) => {
} 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"
- });
+ res.status(500).send({
+ message: "An unexpected error occured while requesting show credits"
+ });
}
});
};
diff --git a/src/webserver/controllers/show/info.js b/src/webserver/controllers/show/info.js
index 322c381..9ae9e58 100644
--- a/src/webserver/controllers/show/info.js
+++ b/src/webserver/controllers/show/info.js
@@ -1,6 +1,7 @@
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"));
@@ -35,7 +36,7 @@ async function showInfoController(req, res) {
? (check_existance = true)
: (check_existance = false);
- let tmdbQueue = [tmdb.showInfo(showId)];
+ const tmdbQueue = [tmdb.showInfo(showId)];
if (credits) tmdbQueue.push(tmdb.showCredits(showId));
try {
diff --git a/src/webserver/controllers/user/authenticatePlexAccount.js b/src/webserver/controllers/user/authenticatePlexAccount.js
index 19a2749..4e5a09c 100644
--- a/src/webserver/controllers/user/authenticatePlexAccount.js
+++ b/src/webserver/controllers/user/authenticatePlexAccount.js
@@ -1,4 +1,5 @@
const UserRepository = require("../../../user/userRepository");
+
const userRepository = new UserRepository();
const fetch = require("node-fetch");
const FormData = require("form-data");
diff --git a/src/webserver/controllers/user/login.js b/src/webserver/controllers/user/login.js
index c0098ca..0438a89 100644
--- a/src/webserver/controllers/user/login.js
+++ b/src/webserver/controllers/user/login.js
@@ -27,7 +27,7 @@ const cookieOptions = {
*/
async function loginController(req, res) {
const user = new User(req.body.username);
- const password = req.body.password;
+ const { password } = req.body;
try {
const [loggedIn, isAdmin, settings] = await Promise.all([
@@ -43,11 +43,7 @@ async function loginController(req, res) {
});
}
- const token = new Token(
- user,
- isAdmin === 1 ? true : false,
- settings
- ).toString(secret);
+ const token = new Token(user, isAdmin === 1, settings).toString(secret);
return res.cookie("authorization", token, cookieOptions).status(200).send({
success: true,
diff --git a/src/webserver/controllers/user/register.js b/src/webserver/controllers/user/register.js
index e3a5d71..2c36f4e 100644
--- a/src/webserver/controllers/user/register.js
+++ b/src/webserver/controllers/user/register.js
@@ -24,7 +24,7 @@ const cookieOptions = {
*/
function registerController(req, res) {
const user = new User(req.body.username, req.body.email);
- const password = req.body.password;
+ const { password } = req.body;
userSecurity
.createNewUser(user, password)
diff --git a/src/webserver/controllers/user/settings.js b/src/webserver/controllers/user/settings.js
index b69b322..caf55f8 100644
--- a/src/webserver/controllers/user/settings.js
+++ b/src/webserver/controllers/user/settings.js
@@ -1,4 +1,5 @@
const UserRepository = require("../../../user/userRepository");
+
const userRepository = new UserRepository();
/**
* Controller: Retrieves settings of a logged in user
diff --git a/src/webserver/controllers/user/viewHistory.js b/src/webserver/controllers/user/viewHistory.js
index 8a5334e..99725e5 100644
--- a/src/webserver/controllers/user/viewHistory.js
+++ b/src/webserver/controllers/user/viewHistory.js
@@ -1,5 +1,6 @@
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");
@@ -10,12 +11,11 @@ function handleError(error, res) {
if (status && message) {
return res.status(status).send({ success: false, message });
- } else {
- console.log("caught view history controller error", error);
- return res.status(500).send({
- message: "An unexpected error occured while fetching view history"
- });
}
+ console.log("caught view history controller error", error);
+ return res.status(500).send({
+ message: "An unexpected error occured while fetching view history"
+ });
}
function watchTimeStatsController(req, res) {
diff --git a/src/webserver/middleware/mustBeAdmin.js b/src/webserver/middleware/mustBeAdmin.js
index be516c6..4ee3bb6 100644
--- a/src/webserver/middleware/mustBeAdmin.js
+++ b/src/webserver/middleware/mustBeAdmin.js
@@ -1,29 +1,28 @@
const establishedDatabase = require("../../database/database");
const mustBeAdmin = (req, res, next) => {
- let database = establishedDatabase;
+ const database = establishedDatabase;
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."
- });
- }
- });
}
+ 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();
};
diff --git a/src/webserver/middleware/mustHaveAccountLinkedToPlex.js b/src/webserver/middleware/mustHaveAccountLinkedToPlex.js
index d3413d0..c1ce4a5 100644
--- a/src/webserver/middleware/mustHaveAccountLinkedToPlex.js
+++ b/src/webserver/middleware/mustHaveAccountLinkedToPlex.js
@@ -1,35 +1,33 @@
const establishedDatabase = require("../../database/database");
const mustHaveAccountLinkedToPlex = (req, res, next) => {
- let database = establishedDatabase;
- const loggedInUser = req.loggedInUser;
+ const database = establishedDatabase;
+ const { loggedInUser } = req;
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();
- }
- });
}
+ database
+ .get(
+ `SELECT plex_userid FROM settings WHERE user_name IS ?`,
+ loggedInUser.username
+ )
+ .then(row => {
+ const { plex_userid } = row;
+
+ 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."
+ });
+ }
+ req.loggedInUser.plex_userid = plex_userid;
+ return next();
+ });
};
module.exports = mustHaveAccountLinkedToPlex;