Fix: Linter warnings (#137)
* Automaticly fixable eslint issues, mostly 3 -> 2 space indentation * fix: updated plex_userid to camelcase * Linted and some consistency refactor on middleware * eslint uses ecmaversion 2020 & allow empty catch rule * Started linting source files * Fixed eslint errors & improved a lot of error handling * Set 2 eslint rules as warning temporarly
This commit is contained in:
@@ -1,19 +1,33 @@
|
||||
const UserRepository = require("../../../user/userRepository");
|
||||
const userRepository = new UserRepository();
|
||||
const fetch = require("node-fetch");
|
||||
const FormData = require("form-data");
|
||||
const UserRepository = require("../../../user/userRepository");
|
||||
|
||||
const userRepository = new UserRepository();
|
||||
|
||||
class PlexAuthenticationError extends Error {
|
||||
constructor(errorResponse, statusCode) {
|
||||
const message =
|
||||
"Unexptected error while authenticating to plex signin api. View error response.";
|
||||
super(message);
|
||||
|
||||
this.errorResponse = errorResponse;
|
||||
this.statusCode = statusCode;
|
||||
this.success = false;
|
||||
}
|
||||
}
|
||||
|
||||
function handleError(error, res) {
|
||||
let { status, message, source } = error;
|
||||
const status = error?.status;
|
||||
let { message, source } = error;
|
||||
|
||||
if (status && message) {
|
||||
if (status === 401) {
|
||||
(message = "Unauthorized. Please check plex credentials."),
|
||||
(source = "plex");
|
||||
message = "Unauthorized. Please check plex credentials.";
|
||||
source = "plex";
|
||||
}
|
||||
|
||||
res.status(status).send({ success: false, message, source });
|
||||
} else {
|
||||
// eslint-disable-next-line no-console
|
||||
console.log("caught authenticate plex account controller error", error);
|
||||
res.status(500).send({
|
||||
message:
|
||||
@@ -25,11 +39,7 @@ function handleError(error, res) {
|
||||
|
||||
function handleResponse(response) {
|
||||
if (!response.ok) {
|
||||
throw {
|
||||
success: false,
|
||||
status: response.status,
|
||||
message: response.statusText
|
||||
};
|
||||
throw new PlexAuthenticationError(response.statusText, response.status);
|
||||
}
|
||||
|
||||
return response.json();
|
||||
@@ -63,7 +73,7 @@ function link(req, res) {
|
||||
|
||||
return plexAuthenticate(username, password)
|
||||
.then(plexUser => userRepository.linkPlexUserId(user.username, plexUser.id))
|
||||
.then(response =>
|
||||
.then(() =>
|
||||
res.send({
|
||||
success: true,
|
||||
message:
|
||||
@@ -78,7 +88,7 @@ function unlink(req, res) {
|
||||
|
||||
return userRepository
|
||||
.unlinkPlexUserId(username)
|
||||
.then(response =>
|
||||
.then(() =>
|
||||
res.send({
|
||||
success: true,
|
||||
message: "Successfully unlinked plex account from seasoned request."
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
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();
|
||||
const userRepository = new UserRepository();
|
||||
|
||||
const isProduction = process.env.NODE_ENV === "production";
|
||||
const cookieOptions = {
|
||||
@@ -24,7 +22,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)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const RequestRepository = require("../../../plex/requestRepository.js");
|
||||
const RequestRepository = require("../../../plex/requestRepository");
|
||||
|
||||
const requestRepository = new RequestRepository();
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
const UserRepository = require("../../../user/userRepository");
|
||||
|
||||
const userRepository = new UserRepository();
|
||||
/**
|
||||
* Controller: Retrieves settings of a logged in user
|
||||
@@ -22,11 +23,12 @@ const getSettingsController = (req, res) => {
|
||||
const updateSettingsController = (req, res) => {
|
||||
const username = req.loggedInUser ? req.loggedInUser.username : null;
|
||||
|
||||
const idempotencyKey = req.headers("Idempotency-Key"); // TODO implement better transactions
|
||||
const { dark_mode, emoji } = req.body;
|
||||
// const idempotencyKey = req.headers("Idempotency-Key"); // TODO implement better transactions
|
||||
const emoji = req.body?.emoji;
|
||||
const darkMode = req.body?.dark_mode;
|
||||
|
||||
userRepository
|
||||
.updateSettings(username, dark_mode, emoji)
|
||||
.updateSettings(username, darkMode, emoji)
|
||||
.then(settings => {
|
||||
res.send({ success: true, settings });
|
||||
})
|
||||
|
||||
@@ -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,19 +11,18 @@ 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"
|
||||
});
|
||||
}
|
||||
|
||||
return res.status(500).send({
|
||||
message: "An unexpected error occured while fetching view history"
|
||||
});
|
||||
}
|
||||
|
||||
function watchTimeStatsController(req, res) {
|
||||
const user = req.loggedInUser;
|
||||
|
||||
return tautulli
|
||||
.watchTimeStats(user.plex_userid)
|
||||
.watchTimeStats(user.plexUserId)
|
||||
.then(data => {
|
||||
return res.send({
|
||||
success: true,
|
||||
@@ -35,10 +35,11 @@ function watchTimeStatsController(req, res) {
|
||||
|
||||
function getPlaysByDayOfWeekController(req, res) {
|
||||
const user = req.loggedInUser;
|
||||
const { days, y_axis } = req.query;
|
||||
const days = req.query?.days;
|
||||
const yAxis = req.query?.y_axis;
|
||||
|
||||
return tautulli
|
||||
.getPlaysByDayOfWeek(user.plex_userid, days, y_axis)
|
||||
.getPlaysByDayOfWeek(user.plexUserId, days, yAxis)
|
||||
.then(data =>
|
||||
res.send({
|
||||
success: true,
|
||||
@@ -51,7 +52,8 @@ function getPlaysByDayOfWeekController(req, res) {
|
||||
|
||||
function getPlaysByDaysController(req, res) {
|
||||
const user = req.loggedInUser;
|
||||
const { days, y_axis } = req.query;
|
||||
const days = req.query?.days;
|
||||
const yAxis = req.query?.y_axis;
|
||||
|
||||
if (days === undefined) {
|
||||
return res.status(422).send({
|
||||
@@ -61,7 +63,7 @@ function getPlaysByDaysController(req, res) {
|
||||
}
|
||||
|
||||
const allowedYAxisDataType = ["plays", "duration"];
|
||||
if (!allowedYAxisDataType.includes(y_axis)) {
|
||||
if (!allowedYAxisDataType.includes(yAxis)) {
|
||||
return res.status(422).send({
|
||||
success: false,
|
||||
message: `Y axis parameter must be one of values: [${allowedYAxisDataType}]`
|
||||
@@ -69,7 +71,7 @@ function getPlaysByDaysController(req, res) {
|
||||
}
|
||||
|
||||
return tautulli
|
||||
.getPlaysByDays(user.plex_userid, days, y_axis)
|
||||
.getPlaysByDays(user.plexUserId, days, yAxis)
|
||||
.then(data =>
|
||||
res.send({
|
||||
success: true,
|
||||
@@ -86,7 +88,7 @@ function userViewHistoryController(req, res) {
|
||||
// and then return 501 Not implemented
|
||||
|
||||
return tautulli
|
||||
.viewHistory(user.plex_userid)
|
||||
.viewHistory(user.plexUserId)
|
||||
.then(data => {
|
||||
return res.send({
|
||||
success: true,
|
||||
|
||||
Reference in New Issue
Block a user