All file imports change from commonjs to es-module

This commit is contained in:
2022-08-22 23:03:19 +02:00
parent 628ed52012
commit ce45ed7b7f
94 changed files with 410 additions and 372 deletions

View File

@@ -1,7 +1,12 @@
const Plex = require("src/plex/plex"); import Plex from "../src/plex/plexRepository";
const configuration = require("src/config/configuration").getInstance(); import establishedDatabase from "../src/database/database";
const plex = new Plex(configuration.get("plex", "ip")); import Configuration from "../src/config/configuration";
const establishedDatabase = require("src/database/database");
const configuration = Configuration.getInstance();
const plex = new Plex(
configuration.get("plex", "ip"),
configuration.get("plex", "token")
);
const queries = { const queries = {
getRequestsNotYetInPlex: `SELECT * FROM requests WHERE status = 'requested' OR status = 'downloading'`, getRequestsNotYetInPlex: `SELECT * FROM requests WHERE status = 'requested' OR status = 'downloading'`,

14
src/cache/redis.js vendored
View File

@@ -1,10 +1,11 @@
const configuration = require("../config/configuration").getInstance(); import redis from "redis";
import Configuration from "../config/configuration";
const configuration = Configuration.getInstance();
let client; let client;
const mockCache = {}; const mockCache = {};
try { try {
const redis = require("redis"); // eslint-disable-line global-require
console.log("Trying to connect with redis.."); // eslint-disable-line no-console console.log("Trying to connect with redis.."); // eslint-disable-line no-console
const host = configuration.get("redis", "host"); const host = configuration.get("redis", "host");
const port = configuration.get("redis", "port"); const port = configuration.get("redis", "port");
@@ -37,7 +38,7 @@ try {
}); });
} catch (e) {} } catch (e) {}
function set(key, value, TTL = 10800) { export function set(key, value, TTL = 10800) {
if (value == null || key == null) return null; if (value == null || key == null) return null;
const json = JSON.stringify(value); const json = JSON.stringify(value);
@@ -60,7 +61,7 @@ function set(key, value, TTL = 10800) {
return value; return value;
} }
function get(key) { export function get(key) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
client.get(key, (error, reply) => { client.get(key, (error, reply) => {
if (reply === null) { if (reply === null) {
@@ -71,8 +72,3 @@ function get(key) {
}); });
}); });
} }
module.exports = {
get,
set
};

View File

@@ -1,5 +1,5 @@
const path = require("path"); import path from "path";
const Field = require("./field"); import Field from "./field";
let instance = null; let instance = null;
@@ -45,4 +45,4 @@ class Config {
} }
} }
module.exports = Config; export default Config;

View File

@@ -12,4 +12,4 @@ class EnvironmentVariables {
} }
} }
module.exports = EnvironmentVariables; export default EnvironmentVariables;

View File

@@ -1,5 +1,5 @@
const Filters = require("./filters"); import Filters from "./filters";
const EnvironmentVariables = require("./environmentVariables"); import EnvironmentVariables from "./environmentVariables";
class Field { class Field {
constructor(rawValue, environmentVariables) { constructor(rawValue, environmentVariables) {
@@ -50,4 +50,4 @@ class Field {
} }
} }
module.exports = Field; export default Field;

View File

@@ -31,4 +31,4 @@ class Filters {
} }
} }
module.exports = Filters; export default Filters;

View File

@@ -1,5 +1,7 @@
const configuration = require("../config/configuration").getInstance(); import SqliteDatabase from "./sqliteDatabase";
const SqliteDatabase = require("./sqliteDatabase"); import Configuration from "../config/configuration";
const configuration = Configuration.getInstance();
const database = new SqliteDatabase(configuration.get("database", "host")); const database = new SqliteDatabase(configuration.get("database", "host"));
/** /**
@@ -10,4 +12,4 @@ const database = new SqliteDatabase(configuration.get("database", "host"));
*/ */
Promise.resolve().then(() => database.setUp()); Promise.resolve().then(() => database.setUp());
module.exports = database; export default database;

View File

@@ -1,6 +1,6 @@
const fs = require("fs"); import fs from "fs";
const path = require("path"); import path from "path";
const sqlite3 = require("sqlite3").verbose(); import sqlite3 from "sqlite3";
class SqliteDatabase { class SqliteDatabase {
constructor(host) { constructor(host) {
@@ -115,4 +115,4 @@ class SqliteDatabase {
} }
} }
module.exports = SqliteDatabase; export default SqliteDatabase;

View File

@@ -5,4 +5,4 @@ class GitRepository {
} }
} }
module.exports = GitRepository; export default GitRepository;

View File

@@ -15,4 +15,4 @@ class Media {
} }
} }
module.exports = Media; export default Media;

View File

@@ -12,4 +12,4 @@ class MediaInfo {
} }
} }
module.exports = MediaInfo; export default MediaInfo;

View File

@@ -9,4 +9,4 @@ class Player {
} }
} }
module.exports = Player; export default Player;

View File

@@ -1,6 +1,6 @@
/* eslint-disable camelcase */ /* eslint-disable camelcase */
const Media = require("./media"); import Media from "./media";
class Plex extends Media { class Plex extends Media {
constructor( constructor(
@@ -30,4 +30,4 @@ class Plex extends Media {
} }
} }
module.exports = Plex; export default Plex;

View File

@@ -1,6 +1,5 @@
/* eslint-disable camelcase */ /* eslint-disable camelcase */
import Media from "./media";
const Media = require("./media");
class TMDB extends Media { class TMDB extends Media {
// constructor(...args) { // constructor(...args) {
@@ -45,4 +44,4 @@ class TMDB extends Media {
} }
} }
module.exports = TMDB; export default TMDB;

View File

@@ -5,4 +5,4 @@ class User {
} }
} }
module.exports = User; export default User;

View File

@@ -1,4 +1,6 @@
const configuration = require("../config/configuration").getInstance(); import Configuration from "../config/configuration";
const configuration = Configuration.getInstance();
class SMSUnexpectedError extends Error { class SMSUnexpectedError extends Error {
constructor(errorMessage) { constructor(errorMessage) {
@@ -9,7 +11,7 @@ class SMSUnexpectedError extends Error {
} }
} }
const sendSMS = message => { export function sendSMS(message) {
const apiKey = configuration.get("sms", "apikey"); const apiKey = configuration.get("sms", "apikey");
if (!apiKey) { if (!apiKey) {
@@ -35,6 +37,4 @@ const sendSMS = message => {
.then(response => resolve(response)) .then(response => resolve(response))
.catch(error => reject(new SMSUnexpectedError(error))); .catch(error => reject(new SMSUnexpectedError(error)));
}); });
}; }
module.exports = { sendSMS };

View File

@@ -1,10 +1,9 @@
const http = require("http"); import http from "http";
const { URL } = require("url"); import { URL } from "url";
const PythonShell = require("python-shell"); import PythonShell from "python-shell";
const establishedDatabase = require("../database/database"); import establishedDatabase from "../database/database";
import cache from "../cache/redis";
const cache = require("../cache/redis");
function getMagnetFromURL(url) { function getMagnetFromURL(url) {
return new Promise(resolve => { return new Promise(resolve => {
@@ -46,7 +45,7 @@ async function callPythonAddMagnet(url, callback) {
}); });
} }
async function SearchPiratebay(_query) { export async function SearchPiratebay(_query) {
let query = String(_query); let query = String(_query);
if (query?.includes("+")) { if (query?.includes("+")) {
@@ -76,7 +75,7 @@ async function SearchPiratebay(_query) {
); );
} }
function AddMagnet(magnet, name, tmdbId) { export function AddMagnet(magnet, name, tmdbId) {
return new Promise((resolve, reject) => return new Promise((resolve, reject) =>
callPythonAddMagnet(magnet, (err, results) => { callPythonAddMagnet(magnet, (err, results) => {
if (err) { if (err) {
@@ -98,5 +97,3 @@ function AddMagnet(magnet, name, tmdbId) {
}) })
); );
} }
module.exports = { SearchPiratebay, AddMagnet };

View File

@@ -1,4 +1,4 @@
const Episode = require("./types/episode"); import Episode from "./types/episode";
function convertPlexToEpisode(plexEpisode) { function convertPlexToEpisode(plexEpisode) {
const episode = new Episode( const episode = new Episode(
@@ -21,4 +21,5 @@ function convertPlexToEpisode(plexEpisode) {
return episode; return episode;
} }
module.exports = convertPlexToEpisode;
export default convertPlexToEpisode;

View File

@@ -1,4 +1,4 @@
const Movie = require("./types/movie"); import Movie from "./types/movie";
function convertPlexToMovie(plexMovie) { function convertPlexToMovie(plexMovie) {
const movie = new Movie(plexMovie.title, plexMovie.year); const movie = new Movie(plexMovie.title, plexMovie.year);
@@ -12,4 +12,4 @@ function convertPlexToMovie(plexMovie) {
return movie; return movie;
} }
module.exports = convertPlexToMovie; export default convertPlexToMovie;

View File

@@ -1,6 +1,6 @@
/* eslint-disable camelcase */ /* eslint-disable camelcase */
const Plex = require("../media_classes/plex"); import Plex from "../media_classes/plex";
function translateAdded(date_string) { function translateAdded(date_string) {
return new Date(date_string * 1000); return new Date(date_string * 1000);
@@ -32,4 +32,4 @@ function convertPlexToSeasoned(plex) {
return seasoned; return seasoned;
} }
module.exports = convertPlexToSeasoned; export default convertPlexToSeasoned;

View File

@@ -1,4 +1,4 @@
const Show = require("./types/show"); import Show from "./types/show";
function convertPlexToShow(plexShow) { function convertPlexToShow(plexShow) {
const show = new Show(plexShow.title, plexShow.year); const show = new Show(plexShow.title, plexShow.year);
@@ -10,4 +10,4 @@ function convertPlexToShow(plexShow) {
return show; return show;
} }
module.exports = convertPlexToShow; export default convertPlexToShow;

View File

@@ -1,8 +1,8 @@
const convertPlexToSeasoned = require("./convertPlexToSeasoned"); import convertPlexToSeasoned from "./convertPlexToSeasoned";
const convertStreamToMediaInfo = require("./convertStreamToMediaInfo"); import convertStreamToMediaInfo from "./convertStreamToMediaInfo";
const convertStreamToPlayer = require("./stream/convertStreamToPlayer"); import convertStreamToPlayer from "./stream/convertStreamToPlayer";
const convertStreamToUser = require("./stream/convertStreamToUser"); import convertStreamToUser from "./stream/convertStreamToUser";
const ConvertStreamToPlayback = require("./stream/convertStreamToPlayback"); import ConvertStreamToPlayback from "./stream/convertStreamToPlayback";
function convertPlexToStream(plexStream) { function convertPlexToStream(plexStream) {
const stream = convertPlexToSeasoned(plexStream); const stream = convertPlexToSeasoned(plexStream);
@@ -16,4 +16,4 @@ function convertPlexToStream(plexStream) {
return stream; return stream;
} }
module.exports = convertPlexToStream; export default convertPlexToStream;

View File

@@ -1,4 +1,4 @@
const MediaInfo = require("../media_classes/mediaInfo"); import MediaInfo from "../media_classes/mediaInfo";
function convertStreamToMediaInfo(plexStream) { function convertStreamToMediaInfo(plexStream) {
const mediaInfo = new MediaInfo(); const mediaInfo = new MediaInfo();
@@ -19,4 +19,4 @@ function convertStreamToMediaInfo(plexStream) {
return mediaInfo; return mediaInfo;
} }
module.exports = convertStreamToMediaInfo; export default convertStreamToMediaInfo;

View File

@@ -22,4 +22,4 @@ class mailTemplate {
} }
} }
module.exports = mailTemplate; export default mailTemplate;

View File

@@ -1,7 +1,7 @@
const convertPlexToMovie = require("./convertPlexToMovie"); import convertPlexToMovie from "./convertPlexToMovie";
const convertPlexToShow = require("./convertPlexToShow"); import convertPlexToShow from "./convertPlexToShow";
const convertPlexToEpisode = require("./convertPlexToEpisode"); import convertPlexToEpisode from "./convertPlexToEpisode";
const redisCache = require("../cache/redis"); import redisCache from "../cache/redis";
class PlexRequestTimeoutError extends Error { class PlexRequestTimeoutError extends Error {
constructor() { constructor() {
@@ -227,4 +227,4 @@ class Plex {
} }
} }
module.exports = Plex; export default Plex;

View File

@@ -1,5 +1,5 @@
const convertPlexToSeasoned = require("./convertPlexToSeasoned"); import convertPlexToSeasoned from "./convertPlexToSeasoned";
const convertPlexToStream = require("./convertPlexToStream"); import convertPlexToStream from "./convertPlexToStream";
// eslint-disable-next-line // eslint-disable-next-line
function addAttributeIfTmdbInPlex(_tmdb, plexResult) { function addAttributeIfTmdbInPlex(_tmdb, plexResult) {
@@ -103,4 +103,4 @@ class PlexRepository {
// } // }
} }
module.exports = PlexRepository; export default PlexRepository;

View File

@@ -1,8 +1,9 @@
const PlexRepository = require("./plexRepository"); import PlexRepository from "./plexRepository";
const configuration = require("../config/configuration").getInstance(); import TMDB from "../tmdb/tmdb";
const TMDB = require("../tmdb/tmdb"); import establishedDatabase from "../database/database";
const establishedDatabase = require("../database/database"); import Configuration from "../config/configuration";
const configuration = Configuration.getInstance();
const plexRepository = new PlexRepository( const plexRepository = new PlexRepository(
configuration.get("plex", "ip"), configuration.get("plex", "ip"),
configuration.get("plex", "token") configuration.get("plex", "token")
@@ -128,4 +129,4 @@ class RequestRepository {
} }
} }
module.exports = RequestRepository; export default RequestRepository;

View File

@@ -11,4 +11,4 @@ class convertStreamToPlayback {
} }
} }
module.exports = convertStreamToPlayback; export default convertStreamToPlayback;

View File

@@ -1,4 +1,4 @@
const Player = require("../../media_classes/player"); import Player from "../../media_classes/player";
function convertStreamToPlayer(plexStream) { function convertStreamToPlayer(plexStream) {
const player = new Player(plexStream.device, plexStream.address); const player = new Player(plexStream.device, plexStream.address);
@@ -10,4 +10,4 @@ function convertStreamToPlayer(plexStream) {
return player; return player;
} }
module.exports = convertStreamToPlayer; export default convertStreamToPlayer;

View File

@@ -1,7 +1,7 @@
const User = require("../../media_classes/user"); import User from "../../media_classes/user";
function convertStreamToUser(plexStream) { function convertStreamToUser(plexStream) {
return new User(plexStream.id, plexStream.title); return new User(plexStream.id, plexStream.title);
} }
module.exports = convertStreamToUser; export default convertStreamToUser;

View File

@@ -13,4 +13,4 @@ class Episode {
} }
} }
module.exports = Episode; export default Episode;

View File

@@ -9,4 +9,4 @@ class Movie {
} }
} }
module.exports = Movie; export default Movie;

View File

@@ -9,4 +9,4 @@ class Show {
} }
} }
module.exports = Show; export default Show;

View File

@@ -1,7 +1,7 @@
const assert = require("assert"); import assert from "assert";
// const configuration = require("../config/configuration").getInstance(); // const configuration = require("../config/configuration").getInstance();
// const TMDB = require("../tmdb/tmdb"); // const TMDB = require("../tmdb/tmdb");
const establishedDatabase = require("../database/database"); import establishedDatabase from "../database/database";
// const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); // const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
@@ -156,4 +156,4 @@ class RequestRepository {
} }
} }
module.exports = RequestRepository; export default RequestRepository;

View File

@@ -1,4 +1,4 @@
const establishedDatabase = require("../database/database"); import establishedDatabase from "../database/database";
class SearchHistoryCreateDatabaseError extends Error { class SearchHistoryCreateDatabaseError extends Error {
constructor(message = "an unexpected error occured", errorResponse = null) { constructor(message = "an unexpected error occured", errorResponse = null) {
@@ -55,4 +55,4 @@ class SearchHistory {
} }
} }
module.exports = SearchHistory; export default SearchHistory;

View File

@@ -4,4 +4,4 @@ class Stray {
} }
} }
module.exports = Stray; export default Stray;

View File

@@ -1,7 +1,7 @@
const assert = require("assert"); import assert from "assert";
const pythonShell = require("python-shell"); import pythonShell from "python-shell";
const Stray = require("./stray"); import Stray from "./stray";
const establishedDatabase = require("../database/database"); import establishedDatabase from "../database/database";
class StrayRepository { class StrayRepository {
constructor(database) { constructor(database) {
@@ -65,4 +65,4 @@ class StrayRepository {
} }
} }
module.exports = StrayRepository; export default StrayRepository;

View File

@@ -1,5 +1,5 @@
const assert = require("assert"); import assert from "assert";
const establishedDatabase = require("../database/database"); import establishedDatabase from "../database/database";
class Cache { class Cache {
constructor(database) { constructor(database) {
@@ -45,4 +45,4 @@ class Cache {
} }
} }
module.exports = Cache; export default Cache;

View File

@@ -1,5 +1,5 @@
const moviedb = require("km-moviedb"); import moviedb from "km-moviedb";
const redisCache = require("../cache/redis"); import redisCache from "../cache/redis";
const { Movie, Show, Person, Credits, ReleaseDates } = require("./types"); const { Movie, Show, Person, Credits, ReleaseDates } = require("./types");
@@ -339,4 +339,4 @@ class TMDB {
} }
} }
module.exports = TMDB; export default TMDB;

View File

@@ -1,7 +1,7 @@
const Movie = require("./types/movie"); import Movie from "./types/movie";
const Show = require("./types/show"); import Show from "./types/show";
const Person = require("./types/person"); import Person from "./types/person";
const Credits = require("./types/credits"); import Credits from "./types/credits";
const ReleaseDates = require("./types/releaseDates"); import ReleaseDates from "./types/releaseDates";
module.exports = { Movie, Show, Person, Credits, ReleaseDates }; export default { Movie, Show, Person, Credits, ReleaseDates };

View File

@@ -1,6 +1,6 @@
/* eslint-disable camelcase */ /* eslint-disable camelcase */
const Movie = require("./movie"); import Movie from "./movie";
const Show = require("./show"); import Show from "./show";
class CreditedMovie extends Movie {} class CreditedMovie extends Movie {}
class CreditedShow extends Show {} class CreditedShow extends Show {}
@@ -113,4 +113,4 @@ class Credits {
} }
} }
module.exports = Credits; export default Credits;

View File

@@ -113,4 +113,4 @@ class Movie {
} }
} }
module.exports = Movie; export default Movie;

View File

@@ -69,4 +69,4 @@ class Person {
} }
} }
module.exports = Person; export default Person;

View File

@@ -89,4 +89,4 @@ class ReleaseDates {
} }
} }
module.exports = ReleaseDates; export default ReleaseDates;

View File

@@ -86,4 +86,4 @@ class Show {
} }
} }
module.exports = Show; export default Show;

View File

@@ -1,5 +1,5 @@
const jwt = require("jsonwebtoken"); import jwt from "jsonwebtoken";
const User = require("./user"); import User from "./user";
class Token { class Token {
constructor(user, admin = false, settings = null) { constructor(user, admin = false, settings = null) {
@@ -38,4 +38,4 @@ class Token {
} }
} }
module.exports = Token; export default Token;

View File

@@ -5,4 +5,4 @@ class User {
} }
} }
module.exports = User; export default User;

View File

@@ -1,5 +1,5 @@
const assert = require("assert"); import assert from "assert";
const establishedDatabase = require("../database/database"); import establishedDatabase from "../database/database";
class LinkPlexUserError extends Error { class LinkPlexUserError extends Error {
constructor(errorMessage = null) { constructor(errorMessage = null) {
@@ -263,4 +263,4 @@ class UserRepository {
} }
} }
module.exports = UserRepository; export default UserRepository;

View File

@@ -1,5 +1,5 @@
const bcrypt = require("bcrypt"); import bcrypt from "bcrypt";
const UserRepository = require("./userRepository"); import UserRepository from "./userRepository";
class UserSecurity { class UserSecurity {
constructor(database) { constructor(database) {
@@ -72,4 +72,4 @@ class UserSecurity {
} }
} }
module.exports = UserSecurity; export default UserSecurity;

View File

@@ -1,19 +1,69 @@
const express = require("express"); import express from "express";
const Raven = require("raven"); import Raven from "raven";
const cookieParser = require("cookie-parser"); import cookieParser from "cookie-parser";
const bodyParser = require("body-parser"); import bodyParser from "body-parser";
const configuration = require("../config/configuration").getInstance(); import Configuration from "../config/configuration";
const reqTokenToUser = require("./middleware/reqTokenToUser"); import reqTokenToUser from "./middleware/reqTokenToUser";
const mustBeAuthenticated = require("./middleware/mustBeAuthenticated"); import mustBeAuthenticated from "./middleware/mustBeAuthenticated";
const mustBeAdmin = require("./middleware/mustBeAdmin"); import mustBeAdmin from "./middleware/mustBeAdmin";
const mustHaveAccountLinkedToPlex = require("./middleware/mustHaveAccountLinkedToPlex"); import mustHaveAccountLinkedToPlex from "./middleware/mustHaveAccountLinkedToPlex";
const listController = require("./controllers/list/listController"); import listController from "./controllers/list/listController";
const tautulli = require("./controllers/user/viewHistory"); import tautulli from "./controllers/user/viewHistory";
const SettingsController = require("./controllers/user/settings"); import SettingsController from "./controllers/user/settings";
const AuthenticatePlexAccountController = require("./controllers/user/authenticatePlexAccount"); import AuthenticatePlexAccountController from "./controllers/user/authenticatePlexAccount";
const configuration = Configuration.getInstance();
import UserRegisterController from "./controller/user/register";
import UserLoginController from "./controller/user/login";
import UserLogoutController from "./controller/user/logout";
import UserSearchHistoryController from "./controllers/user/searchHistory";
import UserRequestsController from "./controllers/user/requests";
import SearchMultiController from "./controllers/search/multiSearch";
import SearchMovieController from "./controllers/search/movieSearch";
import SearchShowController from "./controllers/search/showSearch";
import SearchPersonController from "./controllers/search/personSearch";
import MovieCreditsController from "./controllers/movie/credits";
import MovieReleaseDatesController from "./controllers/movie/releaseDates";
import MovieInfoController from "./controllers/movie/info";
import ShowCreditsController from "./controllers/show/credits";
import ShowInfoController from "./controllers/show/info";
import PersonCreditsController from "./controllers/person/credits";
import PersonInfoController from "./controllers/person/info";
import SeasonedAllController from "./controllers/seasoned/readStrays";
import SeasonedInfoController from "./controllers/seasoned/strayById";
import SeasonedVerifyController from "./controllers/seasoned/verifyStray";
import PlexSearchController from "./controllers/plex/search";
import PlexRequestsAllController from "./controllres/plex/requests/all";
import PlexRequestsInfo from "./controllers/plex/updateRequested";
import PlexWatchLinkController from "./controllers/plex/watchDirectLink";
import PlexHookController from "./controllers/plex/hookDump";
import PlexSubmitRequestController from "./controllers/plex/submitRequest";
import PlexRequestInfo from "./controllers/plex/readRequest";
import PlexSearchRequestController from "./controllers/plex/searchRequest";
import PlexPlayingController from "./controllers/plex/plexPlaying";
import PlexSearchMediaController from "./controllres/plex/searchMedia";
import PlexUpdateRequestedController from "./controllers/plex/updateRequested";
import RequestFetchAllController from "./controllers/request/fetchAllRequests";
import RequestAllController from "./controllers/plex/fetchRequested";
import RequestInfoController from "./controllers/request/getRequest";
import RequestSubmitController from "./controllers/request/requestTmdbId";
import PirateSearchController from "./controllers/pirate/search";
import PirateAddController from "./controllers/pirate/addMagnet";
import GitDumpController from "./controllres/git/dump";
import EmojiController from "./controllers/misc/emoji";
// TODO: Have our raven router check if there is a value, if not don't enable raven. // TODO: Have our raven router check if there is a value, if not don't enable raven.
Raven.config(configuration.get("raven", "DSN")).install(); Raven.config(configuration.get("raven", "DSN")).install();
@@ -65,9 +115,9 @@ router.get("/", (req, res) => {
/** /**
* User * User
*/ */
router.post("/v1/user", require("./controllers/user/register")); router.post("/v1/user", UserRegisterController);
router.post("/v1/user/login", require("./controllers/user/login")); router.post("/v1/user/login", UserLoginController);
router.post("/v1/user/logout", require("./controllers/user/logout")); router.post("/v1/user/logout", UserLogoutController);
router.get( router.get(
"/v1/user/settings", "/v1/user/settings",
@@ -82,13 +132,9 @@ router.put(
router.get( router.get(
"/v1/user/search_history", "/v1/user/search_history",
mustBeAuthenticated, mustBeAuthenticated,
require("./controllers/user/searchHistory") UserSearchHistoryController
);
router.get(
"/v1/user/requests",
mustBeAuthenticated,
require("./controllers/user/requests")
); );
router.get("/v1/user/requests", mustBeAuthenticated, UserRequestsController);
router.post( router.post(
"/v1/user/link_plex", "/v1/user/link_plex",
@@ -125,111 +171,80 @@ router.get(
/** /**
* Seasoned * Seasoned
*/ */
router.get("/v1/seasoned/all", require("./controllers/seasoned/readStrays")); router.get("/v1/seasoned/all", SeasonedAllController);
router.get( router.get("/v1/seasoned/:strayId", SeasonedInfoController);
"/v1/seasoned/:strayId", router.post("/v1/seasoned/verify/:strayId", SeasonedVerifyController);
require("./controllers/seasoned/strayById")
);
router.post(
"/v1/seasoned/verify/:strayId",
require("./controllers/seasoned/verifyStray")
);
router.get("/v2/search/", require("./controllers/search/multiSearch")); router.get("/v2/search/", SearchMultiController);
router.get("/v2/search/movie", require("./controllers/search/movieSearch")); router.get("/v2/search/movie", SearchMovieController);
router.get("/v2/search/show", require("./controllers/search/showSearch")); router.get("/v2/search/show", SearchShowController);
router.get("/v2/search/person", require("./controllers/search/personSearch")); router.get("/v2/search/person", SearchPersonController);
router.get("/v2/movie/now_playing", listController.nowPlayingMovies); router.get("/v2/movie/now_playing", listController.nowPlayingMovies);
router.get("/v2/movie/popular", listController.popularMovies); router.get("/v2/movie/popular", listController.popularMovies);
router.get("/v2/movie/top_rated", listController.topRatedMovies); router.get("/v2/movie/top_rated", listController.topRatedMovies);
router.get("/v2/movie/upcoming", listController.upcomingMovies); router.get("/v2/movie/upcoming", listController.upcomingMovies);
router.get("/v2/movie/:id/credits", require("./controllers/movie/credits")); router.get("/v2/movie/:id/credits", MovieCreditsController);
router.get( router.get("/v2/movie/:id/release_dates", MovieReleaseDatesController);
"/v2/movie/:id/release_dates", router.get("/v2/movie/:id", MovieInfoController);
require("./controllers/movie/releaseDates")
);
router.get("/v2/movie/:id", require("./controllers/movie/info"));
router.get("/v2/show/now_playing", listController.nowPlayingShows); router.get("/v2/show/now_playing", listController.nowPlayingShows);
router.get("/v2/show/popular", listController.popularShows); router.get("/v2/show/popular", listController.popularShows);
router.get("/v2/show/top_rated", listController.topRatedShows); router.get("/v2/show/top_rated", listController.topRatedShows);
router.get("/v2/show/:id/credits", require("./controllers/show/credits")); router.get("/v2/show/:id/credits", ShowCreditsController);
router.get("/v2/show/:id", require("./controllers/show/info")); router.get("/v2/show/:id", ShowInfoController);
router.get("/v2/person/:id/credits", require("./controllers/person/credits")); router.get("/v2/person/:id/credits", PersonCreditsController);
router.get("/v2/person/:id", require("./controllers/person/info")); router.get("/v2/person/:id", PersonInfoController);
/** /**
* Plex * Plex
*/ */
router.get("/v2/plex/search", require("./controllers/plex/search")); router.get("/v2/plex/search", PlexSearchController);
/** /**
* List * List
*/ */
router.get("/v1/plex/search", require("./controllers/plex/searchMedia")); router.get("/v1/plex/search", PlexSearchMediaController);
router.get("/v1/plex/playing", require("./controllers/plex/plexPlaying")); router.get("/v1/plex/playing", PlexPlayingController);
router.get("/v1/plex/request", require("./controllers/plex/searchRequest")); router.get("/v1/plex/request", PlexSearchRequestController);
router.get( router.get("/v1/plex/request/:mediaId", PlexRequestInfo);
"/v1/plex/request/:mediaId", router.post("/v1/plex/request/:mediaId", PlexSubmitRequestController);
require("./controllers/plex/readRequest") router.post("/v1/plex/hook", PlexHookController);
);
router.post(
"/v1/plex/request/:mediaId",
require("./controllers/plex/submitRequest")
);
router.post("/v1/plex/hook", require("./controllers/plex/hookDump"));
router.get( router.get("/v1/plex/watch-link", mustBeAuthenticated, PlexWatchLinkController);
"/v1/plex/watch-link",
mustBeAuthenticated,
require("./controllers/plex/watchDirectLink")
);
/** /**
* Requests * Requests
*/ */
router.get("/v2/request", require("./controllers/request/fetchAllRequests")); router.get("/v2/request", RequestFetchAllController);
router.get("/v2/request/:id", require("./controllers/request/getRequest")); router.get("/v2/request/:id", RequestInfoController);
router.post("/v2/request", require("./controllers/request/requestTmdbId")); router.post("/v2/request", RequestSubmitController);
router.get( router.get("/v1/plex/requests/all", RequestAllController);
"/v1/plex/requests/all",
require("./controllers/plex/fetchRequested")
);
router.put( router.put(
"/v1/plex/request/:requestId", "/v1/plex/request/:requestId",
mustBeAuthenticated, mustBeAuthenticated,
require("./controllers/plex/updateRequested") PlexUpdateRequestedController
); );
/** /**
* Pirate * Pirate
*/ */
router.get( router.get("/v1/pirate/search", mustBeAdmin, PirateSearchController);
"/v1/pirate/search", router.post("/v1/pirate/add", mustBeAdmin, PirateAddController);
mustBeAdmin,
require("./controllers/pirate/searchTheBay")
);
router.post(
"/v1/pirate/add",
mustBeAdmin,
require("./controllers/pirate/addMagnet")
);
/** /**
* git * git
*/ */
router.post("/v1/git/dump", require("./controllers/git/dumpHook")); router.post("/v1/git/dump", GitDumpController);
/** /**
* misc * misc
*/ */
router.get("/v1/emoji", require("./controllers/misc/emoji")); router.get("/v1/emoji", EmojiController);
// REGISTER OUR ROUTES ------------------------------- // REGISTER OUR ROUTES -------------------------------
// all of our routes will be prefixed with /api // all of our routes will be prefixed with /api
app.use("/api", router); app.use("/api", router);
module.exports = app; export default app;

View File

@@ -1,4 +1,4 @@
const GitRepository = require("../../../git/gitRepository"); import GitRepository from "../../../git/gitRepository";
const gitRepository = new GitRepository(); const gitRepository = new GitRepository();
@@ -9,4 +9,4 @@ function dumpHookController(req, res) {
.catch(() => res.status(500)); .catch(() => res.status(500));
} }
module.exports = dumpHookController; export default dumpHookController;

View File

@@ -1,6 +1,7 @@
const configuration = require("../../../config/configuration").getInstance(); import TMDB from "../../../tmdb/tmdb";
const TMDB = require("../../../tmdb/tmdb"); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
// there should be a translate function from query params to // there should be a translate function from query params to
@@ -50,27 +51,17 @@ function fetchTmdbList(req, res, listname, type) {
); );
} }
const nowPlayingMovies = (req, res) => export const nowPlayingMovies = (req, res) =>
fetchTmdbList(req, res, "miscNowPlayingMovies", "movie"); fetchTmdbList(req, res, "miscNowPlayingMovies", "movie");
const popularMovies = (req, res) => export const popularMovies = (req, res) =>
fetchTmdbList(req, res, "miscPopularMovies", "movie"); fetchTmdbList(req, res, "miscPopularMovies", "movie");
const topRatedMovies = (req, res) => export const topRatedMovies = (req, res) =>
fetchTmdbList(req, res, "miscTopRatedMovies", "movie"); fetchTmdbList(req, res, "miscTopRatedMovies", "movie");
const upcomingMovies = (req, res) => export const upcomingMovies = (req, res) =>
fetchTmdbList(req, res, "miscUpcomingMovies", "movie"); fetchTmdbList(req, res, "miscUpcomingMovies", "movie");
const nowPlayingShows = (req, res) => export const nowPlayingShows = (req, res) =>
fetchTmdbList(req, res, "tvOnTheAir", "show"); fetchTmdbList(req, res, "tvOnTheAir", "show");
const popularShows = (req, res) => export const popularShows = (req, res) =>
fetchTmdbList(req, res, "miscPopularTvs", "show"); fetchTmdbList(req, res, "miscPopularTvs", "show");
const topRatedShows = (req, res) => export const topRatedShows = (req, res) =>
fetchTmdbList(req, res, "miscTopRatedTvs", "show"); fetchTmdbList(req, res, "miscTopRatedTvs", "show");
module.exports = {
nowPlayingMovies,
popularMovies,
topRatedMovies,
upcomingMovies,
nowPlayingShows,
popularShows,
topRatedShows
};

View File

@@ -16,12 +16,10 @@ const randomEmoji = () => {
* @param {Response} res * @param {Response} res
* @returns {Callback} * @returns {Callback}
*/ */
function emojiController(req, res) { export default function emojiController(req, res) {
res.send({ res.send({
success: true, success: true,
emoji: randomEmoji(), emoji: randomEmoji(),
message: "Happy emoji-ing! 🌝" message: "Happy emoji-ing! 🌝"
}); });
} }
module.exports = emojiController;

View File

@@ -1,6 +1,7 @@
const configuration = require("../../../config/configuration").getInstance(); import TMDB from "../../../tmdb/tmdb";
const TMDB = require("../../../tmdb/tmdb"); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const movieCreditsController = (req, res) => { const movieCreditsController = (req, res) => {
@@ -19,4 +20,4 @@ const movieCreditsController = (req, res) => {
}); });
}; };
module.exports = movieCreditsController; export default movieCreditsController;

View File

@@ -1,7 +1,8 @@
const configuration = require("../../../config/configuration").getInstance(); import TMDB from "../../../tmdb/tmdb";
const TMDB = require("../../../tmdb/tmdb"); import Plex from "../../../plex/plex";
const Plex = require("../../../plex/plex"); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const plex = new Plex(configuration.get("plex", "ip")); const plex = new Plex(configuration.get("plex", "ip"));
@@ -52,4 +53,4 @@ async function movieInfoController(req, res) {
} }
} }
module.exports = movieInfoController; export default movieInfoController;

View File

@@ -1,6 +1,7 @@
const configuration = require("../../../config/configuration").getInstance(); import TMDB from "../../../tmdb/tmdb";
const TMDB = require("../../../tmdb/tmdb"); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const movieReleaseDatesController = (req, res) => { const movieReleaseDatesController = (req, res) => {
@@ -19,4 +20,4 @@ const movieReleaseDatesController = (req, res) => {
}); });
}; };
module.exports = movieReleaseDatesController; export default movieReleaseDatesController;

View File

@@ -1,7 +1,8 @@
const configuration = require("../../../config/configuration").getInstance(); import TMDB from "../../../tmdb/tmdb";
const TMDB = require("../../../tmdb/tmdb"); import Configuration from "../../../config/configuration";
const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); const configuration = Configuration.getInstance();
const tmdb = new TMDB(Configuration.get("tmdb", "apiKey"));
const personCreditsController = (req, res) => { const personCreditsController = (req, res) => {
const personId = req.params.id; const personId = req.params.id;
@@ -19,4 +20,4 @@ const personCreditsController = (req, res) => {
}); });
}; };
module.exports = personCreditsController; export default personCreditsController;

View File

@@ -1,6 +1,7 @@
const configuration = require("../../../config/configuration").getInstance(); import TMDB from "../../../tmdb/tmdb";
const TMDB = require("../../../tmdb/tmdb"); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
/** /**
@@ -36,4 +37,4 @@ async function personInfoController(req, res) {
} }
} }
module.exports = personInfoController; export default personInfoController;

View File

@@ -5,7 +5,7 @@
* @Last Modified time: 2017-10-21 15:32:43 * @Last Modified time: 2017-10-21 15:32:43
*/ */
const PirateRepository = require("../../../pirate/pirateRepository"); import PirateRepository from "../../../pirate/pirateRepository";
function addMagnet(req, res) { function addMagnet(req, res) {
const { magnet, name } = req.body; const { magnet, name } = req.body;
@@ -18,4 +18,4 @@ function addMagnet(req, res) {
}); });
} }
module.exports = addMagnet; export default addMagnet;

View File

@@ -5,7 +5,7 @@
* @Last Modified time: 2018-02-26 19:56:32 * @Last Modified time: 2018-02-26 19:56:32
*/ */
const PirateRepository = require("../../../pirate/pirateRepository"); import PirateRepository from "../../../pirate/pirateRepository";
// const pirateRepository = new PirateRepository(); // const pirateRepository = new PirateRepository();
/** /**
@@ -26,4 +26,4 @@ function updateRequested(req, res) {
}); });
} }
module.exports = updateRequested; export default updateRequested;

View File

@@ -1,4 +1,4 @@
const RequestRepository = require("../../../plex/requestRepository"); import RequestRepository from "../../../plex/requestRepository";
const requestRepository = new RequestRepository(); const requestRepository = new RequestRepository();
@@ -26,4 +26,4 @@ function fetchRequestedController(req, res) {
}); });
} }
module.exports = fetchRequestedController; export default fetchRequestedController;

View File

@@ -5,4 +5,4 @@ function hookDumpController(req, res) {
res.status(200); res.status(200);
} }
module.exports = hookDumpController; export default hookDumpController;

View File

@@ -1,5 +1,7 @@
const PlexRepository = require("../../../plex/plexRepository"); import PlexRepository from "../../../plex/plexRepository";
const configuration = require("../../../config/configuration").getInstance(); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const plexRepository = new PlexRepository( const plexRepository = new PlexRepository(
configuration.get("plex", "ip"), configuration.get("plex", "ip"),

View File

@@ -1,4 +1,4 @@
const RequestRepository = require("../../../plex/requestRepository"); import RequestRepository from "../../../plex/requestRepository";
const requestRepository = new RequestRepository(); const requestRepository = new RequestRepository();
@@ -21,4 +21,4 @@ function readRequestController(req, res) {
}); });
} }
module.exports = readRequestController; export default readRequestController;

View File

@@ -1,5 +1,7 @@
const configuration = require("../../../config/configuration").getInstance(); import Plex from "../../../plex/plex";
const Plex = require("../../../plex/plex"); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const plex = new Plex(configuration.get("plex", "ip")); const plex = new Plex(configuration.get("plex", "ip"));
@@ -28,4 +30,4 @@ function searchPlexController(req, res) {
}); });
} }
module.exports = searchPlexController; export default searchPlexController;

View File

@@ -1,5 +1,7 @@
const PlexRepository = require("../../../plex/plexRepository"); import PlexRepository from "../../../plex/plexRepository";
const configuration = require("../../../config/configuration").getInstance(); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const plexRepository = new PlexRepository( const plexRepository = new PlexRepository(
configuration.get("plex", "ip"), configuration.get("plex", "ip"),
@@ -33,4 +35,4 @@ function searchMediaController(req, res) {
}); });
} }
module.exports = searchMediaController; export default searchMediaController;

View File

@@ -1,6 +1,6 @@
const SearchHistory = require("../../../searchHistory/searchHistory"); import SearchHistory from "../../../searchHistory/searchHistory";
const Cache = require("../../../tmdb/cache"); import Cache from "../../../tmdb/cache";
const RequestRepository = require("../../../plex/requestRepository"); import RequestRepository from "../../../plex/requestRepository";
const cache = new Cache(); const cache = new Cache();
const requestRepository = new RequestRepository(cache); const requestRepository = new RequestRepository(cache);
@@ -21,4 +21,4 @@ function searchRequestController(req, res) {
}); });
} }
module.exports = searchRequestController; export default searchRequestController;

View File

@@ -1,7 +1,8 @@
const configuration = require("../../../config/configuration").getInstance(); import RequestRepository from "../../../request/request";
const RequestRepository = require("../../../request/request"); import TMDB from "../../../tmdb/tmdb";
const TMDB = require("../../../tmdb/tmdb"); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const request = new RequestRepository(); const request = new RequestRepository();
@@ -57,4 +58,4 @@ function submitRequestController(req, res) {
); );
} }
module.exports = submitRequestController; export default submitRequestController;

View File

@@ -1,4 +1,4 @@
const RequestRepository = require("../../../plex/requestRepository"); import RequestRepository from "../../../plex/requestRepository";
const requestRepository = new RequestRepository(); const requestRepository = new RequestRepository();
@@ -23,4 +23,4 @@ function updateRequested(req, res) {
}); });
} }
module.exports = updateRequested; export default updateRequested;

View File

@@ -1,6 +1,7 @@
const configuration = require("../../../config/configuration").getInstance(); import Plex from "../../../plex/plex";
const Plex = require("../../../plex/plex"); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const plex = new Plex(configuration.get("plex", "ip")); const plex = new Plex(configuration.get("plex", "ip"));
/** /**
@@ -25,4 +26,4 @@ function watchDirectLink(req, res) {
}); });
} }
module.exports = watchDirectLink; export default watchDirectLink;

View File

@@ -1,4 +1,4 @@
const RequestRepository = require("../../../request/request"); import RequestRepository from "../../../request/request";
const request = new RequestRepository(); const request = new RequestRepository();
@@ -24,4 +24,4 @@ function fetchAllRequests(req, res) {
}); });
} }
module.exports = fetchAllRequests; export default fetchAllRequests;

View File

@@ -1,4 +1,4 @@
const RequestRepository = require("../../../request/request"); import RequestRepository from "../../../request/request";
const request = new RequestRepository(); const request = new RequestRepository();
@@ -37,4 +37,4 @@ function fetchAllRequests(req, res) {
}); });
} }
module.exports = fetchAllRequests; export default fetchAllRequests;

View File

@@ -1,7 +1,8 @@
const configuration = require("../../../config/configuration").getInstance(); import TMDB from "../../../tmdb/tmdb";
const TMDB = require("../../../tmdb/tmdb"); import RequestRepository from "../../../request/request";
const RequestRepository = require("../../../request/request"); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const request = new RequestRepository(); const request = new RequestRepository();
// const { sendSMS } = require("src/notifications/sms"); // const { sendSMS } = require("src/notifications/sms");
@@ -65,4 +66,4 @@ function requestTmdbIdController(req, res) {
}); });
} }
module.exports = requestTmdbIdController; export default requestTmdbIdController;

View File

@@ -1,7 +1,8 @@
const configuration = require("../../../config/configuration").getInstance(); import TMDB from "../../../tmdb/tmdb";
const TMDB = require("../../../tmdb/tmdb"); import SearchHistory from "../../../searchHistory/searchHistory";
const SearchHistory = require("../../../searchHistory/searchHistory"); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const searchHistory = new SearchHistory(); const searchHistory = new SearchHistory();
@@ -33,4 +34,4 @@ function movieSearchController(req, res) {
}); });
} }
module.exports = movieSearchController; export default movieSearchController;

View File

@@ -1,7 +1,8 @@
const configuration = require("../../../config/configuration").getInstance(); import TMDB from "../../../tmdb/tmdb";
const TMDB = require("../../../tmdb/tmdb"); import SearchHistory from "../../../searchHistory/searchHistory";
const SearchHistory = require("../../../searchHistory/searchHistory"); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const searchHistory = new SearchHistory(); const searchHistory = new SearchHistory();
@@ -33,4 +34,4 @@ function multiSearchController(req, res) {
}); });
} }
module.exports = multiSearchController; export default multiSearchController;

View File

@@ -1,7 +1,8 @@
const configuration = require("../../../config/configuration").getInstance(); import TMDB from "../../../tmdb/tmdb";
const TMDB = require("../../../tmdb/tmdb"); import SearchHistory from "../../../searchHistory/searchHistory";
const SearchHistory = require("../../../searchHistory/searchHistory"); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const searchHistory = new SearchHistory(); const searchHistory = new SearchHistory();
@@ -33,4 +34,4 @@ function personSearchController(req, res) {
}); });
} }
module.exports = personSearchController; export default personSearchController;

View File

@@ -1,7 +1,8 @@
const SearchHistory = require("../../../searchHistory/searchHistory"); import SearchHistory from "../../../searchHistory/searchHistory";
const configuration = require("../../../config/configuration").getInstance(); import TMDB from "../../../tmdb/tmdb";
const TMDB = require("../../../tmdb/tmdb"); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const searchHistory = new SearchHistory(); const searchHistory = new SearchHistory();
@@ -35,4 +36,4 @@ function showSearchController(req, res) {
}); });
} }
module.exports = showSearchController; export default showSearchController;

View File

@@ -1,4 +1,4 @@
const StrayRepository = require("../../../seasoned/strayRepository"); import StrayRepository from "../../../seasoned/strayRepository";
const strayRepository = new StrayRepository(); const strayRepository = new StrayRepository();
@@ -14,4 +14,4 @@ function readStraysController(req, res) {
}); });
} }
module.exports = readStraysController; export default readStraysController;

View File

@@ -1,4 +1,4 @@
const StrayRepository = require("../../../seasoned/strayRepository"); import StrayRepository from "../../../seasoned/strayRepository";
const strayRepository = new StrayRepository(); const strayRepository = new StrayRepository();
@@ -15,4 +15,4 @@ function strayByIdController(req, res) {
}); });
} }
module.exports = strayByIdController; export default strayByIdController;

View File

@@ -1,4 +1,4 @@
const StrayRepository = require("../../../seasoned/strayRepository"); import StrayRepository from "../../../seasoned/strayRepository";
const strayRepository = new StrayRepository(); const strayRepository = new StrayRepository();
@@ -15,4 +15,4 @@ function verifyStrayController(req, res) {
}); });
} }
module.exports = verifyStrayController; export default verifyStrayController;

View File

@@ -1,6 +1,7 @@
const configuration = require("../../../config/configuration").getInstance(); import TMDB from "../../../tmdb/tmdb";
const TMDB = require("../../../tmdb/tmdb"); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const showCreditsController = (req, res) => { const showCreditsController = (req, res) => {
@@ -19,4 +20,4 @@ const showCreditsController = (req, res) => {
}); });
}; };
module.exports = showCreditsController; export default showCreditsController;

View File

@@ -1,7 +1,8 @@
const configuration = require("../../../config/configuration").getInstance(); import TMDB from "../../../tmdb/tmdb";
const TMDB = require("../../../tmdb/tmdb"); import Plex from "../../../plex/plex";
const Plex = require("../../../plex/plex"); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); const tmdb = new TMDB(configuration.get("tmdb", "apiKey"));
const plex = new Plex(configuration.get("plex", "ip")); const plex = new Plex(configuration.get("plex", "ip"));
@@ -47,4 +48,4 @@ async function showInfoController(req, res) {
} }
} }
module.exports = showInfoController; export default showInfoController;

View File

@@ -1,5 +1,5 @@
const FormData = require("form-data"); import FormData from "form-data";
const UserRepository = require("../../../user/userRepository"); import UserRepository from "../../../user/userRepository";
const userRepository = new UserRepository(); const userRepository = new UserRepository();
@@ -67,7 +67,7 @@ function plexAuthenticate(username, password) {
return fetch(url, options).then(resp => handleResponse(resp)); return fetch(url, options).then(resp => handleResponse(resp));
} }
function link(req, res) { export function link(req, res) {
const user = req.loggedInUser; const user = req.loggedInUser;
const { username, password } = req.body; const { username, password } = req.body;
@@ -80,10 +80,19 @@ function link(req, res) {
"Successfully authenticated and linked plex account with seasoned request." "Successfully authenticated and linked plex account with seasoned request."
}) })
) )
.catch(error => handleError(error, res)); .catch(error =>
res.status(error?.statusCode || 500).send({
message:
error?.message ||
"Unexptected error occured while linking plex account",
success: error?.success || false,
source: error?.source,
errorResponse: error?.errorResponse
})
);
} }
function unlink(req, res) { export function unlink(req, res) {
const username = req.loggedInUser ? req.loggedInUser.username : null; const username = req.loggedInUser ? req.loggedInUser.username : null;
return userRepository return userRepository
@@ -94,10 +103,14 @@ function unlink(req, res) {
message: "Successfully unlinked plex account from seasoned request." message: "Successfully unlinked plex account from seasoned request."
}) })
) )
.catch(error => handleError(error, res)); .catch(error =>
res.status(error?.statusCode || 500).send({
message:
error?.message ||
"Unexptected error occured while unlinking plex account",
success: error?.success || false,
source: error?.source,
errorResponse: error?.errorResponse
})
);
} }
module.exports = {
link,
unlink
};

View File

@@ -1,9 +1,10 @@
const User = require("../../../user/user"); import User from "../../../user/user";
const Token = require("../../../user/token"); import Token from "../../../user/token";
const UserSecurity = require("../../../user/userSecurity"); import UserSecurity from "../../../user/userSecurity";
const UserRepository = require("../../../user/userRepository"); import UserRepository from "../../../user/userRepository";
const configuration = require("../../../config/configuration").getInstance(); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const secret = configuration.get("authentication", "secret"); const secret = configuration.get("authentication", "secret");
const userSecurity = new UserSecurity(); const userSecurity = new UserSecurity();
const userRepository = new UserRepository(); const userRepository = new UserRepository();
@@ -54,4 +55,4 @@ async function loginController(req, res) {
} }
} }
module.exports = loginController; export default loginController;

View File

@@ -13,4 +13,4 @@ async function logoutController(req, res) {
}); });
} }
module.exports = logoutController; export default logoutController;

View File

@@ -1,8 +1,9 @@
const User = require("../../../user/user"); import User from "../../../user/user";
const Token = require("../../../user/token"); import Token from "../../../user/token";
const UserSecurity = require("../../../user/userSecurity"); import UserSecurity from "../../../user/userSecurity";
const configuration = require("../../../config/configuration").getInstance(); import Configuration from "../../../config/configuration";
const configuration = Configuration.getInstance();
const secret = configuration.get("authentication", "secret"); const secret = configuration.get("authentication", "secret");
const userSecurity = new UserSecurity(); const userSecurity = new UserSecurity();
@@ -42,4 +43,4 @@ function registerController(req, res) {
}); });
} }
module.exports = registerController; export default registerController;

View File

@@ -1,4 +1,4 @@
const RequestRepository = require("../../../plex/requestRepository"); import RequestRepository from "../../../plex/requestRepository";
const requestRepository = new RequestRepository(); const requestRepository = new RequestRepository();
@@ -25,4 +25,4 @@ function requestsController(req, res) {
}); });
} }
module.exports = requestsController; export default requestsController;

View File

@@ -1,4 +1,4 @@
const SearchHistory = require("../../../searchHistory/searchHistory"); import SearchHistory from "../../../searchHistory/searchHistory";
const searchHistory = new SearchHistory(); const searchHistory = new SearchHistory();
@@ -21,4 +21,4 @@ function historyController(req, res) {
}); });
} }
module.exports = historyController; export default historyController;

View File

@@ -1,4 +1,4 @@
const UserRepository = require("../../../user/userRepository"); import UserRepository from "../../../user/userRepository";
const userRepository = new UserRepository(); const userRepository = new UserRepository();
/** /**
@@ -7,7 +7,7 @@ const userRepository = new UserRepository();
* @param {Response} res * @param {Response} res
* @returns {Callback} * @returns {Callback}
*/ */
const getSettingsController = (req, res) => { export function getSettingsController(req, res) {
const username = req.loggedInUser ? req.loggedInUser.username : null; const username = req.loggedInUser ? req.loggedInUser.username : null;
userRepository userRepository
@@ -18,9 +18,9 @@ const getSettingsController = (req, res) => {
.catch(error => { .catch(error => {
res.status(404).send({ success: false, message: error.message }); res.status(404).send({ success: false, message: error.message });
}); });
}; }
const updateSettingsController = (req, res) => { export function updateSettingsController(req, res) {
const username = req.loggedInUser ? req.loggedInUser.username : null; const username = req.loggedInUser ? req.loggedInUser.username : null;
// const idempotencyKey = req.headers("Idempotency-Key"); // TODO implement better transactions // const idempotencyKey = req.headers("Idempotency-Key"); // TODO implement better transactions
@@ -35,9 +35,4 @@ const updateSettingsController = (req, res) => {
.catch(error => { .catch(error => {
res.status(404).send({ success: false, message: error.message }); res.status(404).send({ success: false, message: error.message });
}); });
}; }
module.exports = {
getSettingsController,
updateSettingsController
};

View File

@@ -1,4 +1,4 @@
const establishedDatabase = require("../../database/database"); import establishedDatabase from "../../database/database";
// eslint-disable-next-line consistent-return // eslint-disable-next-line consistent-return
const mustBeAdmin = (req, res, next) => { const mustBeAdmin = (req, res, next) => {
@@ -28,4 +28,4 @@ const mustBeAdmin = (req, res, next) => {
}); });
}; };
module.exports = mustBeAdmin; export default mustBeAdmin;

View File

@@ -10,4 +10,4 @@ const mustBeAuthenticated = (req, res, next) => {
next(); next();
}; };
module.exports = mustBeAuthenticated; export default mustBeAuthenticated;

View File

@@ -1,4 +1,4 @@
const establishedDatabase = require("../../database/database"); import establishedDatabase from "../../database/database";
/* eslint-disable consistent-return */ /* eslint-disable consistent-return */
const mustHaveAccountLinkedToPlex = (req, res, next) => { const mustHaveAccountLinkedToPlex = (req, res, next) => {
@@ -33,4 +33,4 @@ const mustHaveAccountLinkedToPlex = (req, res, next) => {
}; };
/* eslint-enable consistent-return */ /* eslint-enable consistent-return */
module.exports = mustHaveAccountLinkedToPlex; export default mustHaveAccountLinkedToPlex;

View File

@@ -1,7 +1,8 @@
/* eslint-disable no-param-reassign */ /* eslint-disable no-param-reassign */
const configuration = require("../../config/configuration").getInstance(); import Configuration from "../../config/configuration";
const Token = require("../../user/token"); import Token from "../../user/token";
const configuration = Configuration.getInstance();
const secret = configuration.get("authentication", "secret"); const secret = configuration.get("authentication", "secret");
// Token example: // Token example:
@@ -25,4 +26,4 @@ const reqTokenToUser = (req, res, next) => {
return next(); return next();
}; };
module.exports = reqTokenToUser; export default reqTokenToUser;

View File

@@ -1,7 +1,9 @@
const config = require("../config/configuration").getInstance(); import Configuration from "../config/configuration";
const app = require("./app"); import app from "./app";
module.exports = app.listen(config.get("webserver", "port"), () => { const configuration = Configuration.getInstance();
export default app.listen(config.get("webserver", "port"), () => {
/* eslint-disable no-console */ /* eslint-disable no-console */
console.log("seasonedAPI"); console.log("seasonedAPI");
console.log(`Database is located at ${config.get("database", "host")}`); console.log(`Database is located at ${config.get("database", "host")}`);