diff --git a/package.json b/package.json index 4d311e4..8af3139 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "url": "https://www.opensource.org/licenses/mit-license.php" }, "main": "webserver/server.js", + "type": "module", "scripts": { "start": "SEASONED_CONFIG=configurations/production.json NODE_ENV=production node src/webserver/server.js", "dev": "SEASONED_CONFIG=configurations/development.json NODE_ENV=development node src/webserver/server.js", diff --git a/src/cache/redis.js b/src/cache/redis.js index 1979231..76846c9 100644 --- a/src/cache/redis.js +++ b/src/cache/redis.js @@ -1,5 +1,5 @@ import redis from "redis"; -import Configuration from "../config/configuration"; +import Configuration from "../config/configuration.js"; const configuration = Configuration.getInstance(); let client; @@ -38,7 +38,7 @@ try { }); } catch (e) {} -export function set(key, value, TTL = 10800) { +function set(key, value, TTL = 10800) { if (value == null || key == null) return null; const json = JSON.stringify(value); @@ -61,7 +61,7 @@ export function set(key, value, TTL = 10800) { return value; } -export function get(key) { +function get(key) { return new Promise((resolve, reject) => { client.get(key, (error, reply) => { if (reply === null) { @@ -72,3 +72,8 @@ export function get(key) { }); }); } + +export default { + set, + get +}; diff --git a/src/config/field.js b/src/config/field.js index 8126f6a..443a577 100644 --- a/src/config/field.js +++ b/src/config/field.js @@ -1,5 +1,5 @@ -import Filters from "./filters"; -import EnvironmentVariables from "./environmentVariables"; +import Filters from "./filters.js"; +import EnvironmentVariables from "./environmentVariables.js"; class Field { constructor(rawValue, environmentVariables) { diff --git a/src/database/database.js b/src/database/database.js index 7640c7c..be4c9d3 100644 --- a/src/database/database.js +++ b/src/database/database.js @@ -1,5 +1,5 @@ -import SqliteDatabase from "./sqliteDatabase"; -import Configuration from "../config/configuration"; +import SqliteDatabase from "./sqliteDatabase.js"; +import Configuration from "../config/configuration.js"; const configuration = Configuration.getInstance(); diff --git a/src/media_classes/plex.js b/src/media_classes/plex.js index b39a062..ba9135b 100644 --- a/src/media_classes/plex.js +++ b/src/media_classes/plex.js @@ -1,6 +1,6 @@ /* eslint-disable camelcase */ -import Media from "./media"; +import Media from "./media.js"; class Plex extends Media { constructor( diff --git a/src/media_classes/tmdb.js b/src/media_classes/tmdb.js index 1b33ff5..1bbb942 100644 --- a/src/media_classes/tmdb.js +++ b/src/media_classes/tmdb.js @@ -1,5 +1,5 @@ /* eslint-disable camelcase */ -import Media from "./media"; +import Media from "./media.js"; class TMDB extends Media { // constructor(...args) { diff --git a/src/notifications/sms.js b/src/notifications/sms.js index a60d135..a970633 100644 --- a/src/notifications/sms.js +++ b/src/notifications/sms.js @@ -1,4 +1,4 @@ -import Configuration from "../config/configuration"; +import Configuration from "../config/configuration.js"; const configuration = Configuration.getInstance(); diff --git a/src/pirate/pirateRepository.js b/src/pirate/pirateRepository.js index ea2974c..4fdf068 100644 --- a/src/pirate/pirateRepository.js +++ b/src/pirate/pirateRepository.js @@ -2,8 +2,8 @@ import http from "http"; import { URL } from "url"; import PythonShell from "python-shell"; -import establishedDatabase from "../database/database"; -import cache from "../cache/redis"; +import establishedDatabase from "../database/database.js"; +import cache from "../cache/redis.js"; function getMagnetFromURL(url) { return new Promise(resolve => { diff --git a/src/plex/convertPlexToEpisode.js b/src/plex/convertPlexToEpisode.js index 4c671d8..49a83b0 100644 --- a/src/plex/convertPlexToEpisode.js +++ b/src/plex/convertPlexToEpisode.js @@ -1,4 +1,4 @@ -import Episode from "./types/episode"; +import Episode from "./types/episode.js"; function convertPlexToEpisode(plexEpisode) { const episode = new Episode( diff --git a/src/plex/convertPlexToMovie.js b/src/plex/convertPlexToMovie.js index 9df2fe2..f050cc1 100644 --- a/src/plex/convertPlexToMovie.js +++ b/src/plex/convertPlexToMovie.js @@ -1,4 +1,4 @@ -import Movie from "./types/movie"; +import Movie from "./types/movie.js"; function convertPlexToMovie(plexMovie) { const movie = new Movie(plexMovie.title, plexMovie.year); diff --git a/src/plex/convertPlexToSeasoned.js b/src/plex/convertPlexToSeasoned.js index 27bf858..7de9e12 100644 --- a/src/plex/convertPlexToSeasoned.js +++ b/src/plex/convertPlexToSeasoned.js @@ -1,6 +1,6 @@ /* eslint-disable camelcase */ -import Plex from "../media_classes/plex"; +import Plex from "../media_classes/plex.js"; function translateAdded(date_string) { return new Date(date_string * 1000); diff --git a/src/plex/convertPlexToShow.js b/src/plex/convertPlexToShow.js index 6bf06dc..596773b 100644 --- a/src/plex/convertPlexToShow.js +++ b/src/plex/convertPlexToShow.js @@ -1,4 +1,4 @@ -import Show from "./types/show"; +import Show from "./types/show.js"; function convertPlexToShow(plexShow) { const show = new Show(plexShow.title, plexShow.year); diff --git a/src/plex/convertPlexToStream.js b/src/plex/convertPlexToStream.js index 53d2955..e370636 100644 --- a/src/plex/convertPlexToStream.js +++ b/src/plex/convertPlexToStream.js @@ -1,8 +1,8 @@ -import convertPlexToSeasoned from "./convertPlexToSeasoned"; -import convertStreamToMediaInfo from "./convertStreamToMediaInfo"; -import convertStreamToPlayer from "./stream/convertStreamToPlayer"; -import convertStreamToUser from "./stream/convertStreamToUser"; -import ConvertStreamToPlayback from "./stream/convertStreamToPlayback"; +import convertPlexToSeasoned from "./convertPlexToSeasoned.js"; +import convertStreamToMediaInfo from "./convertStreamToMediaInfo.js"; +import convertStreamToPlayer from "./stream/convertStreamToPlayer.js"; +import convertStreamToUser from "./stream/convertStreamToUser.js"; +import ConvertStreamToPlayback from "./stream/convertStreamToPlayback.js"; function convertPlexToStream(plexStream) { const stream = convertPlexToSeasoned(plexStream); diff --git a/src/plex/convertStreamToMediaInfo.js b/src/plex/convertStreamToMediaInfo.js index 819210b..34dc7a8 100644 --- a/src/plex/convertStreamToMediaInfo.js +++ b/src/plex/convertStreamToMediaInfo.js @@ -1,4 +1,4 @@ -import MediaInfo from "../media_classes/mediaInfo"; +import MediaInfo from "../media_classes/mediaInfo.js"; function convertStreamToMediaInfo(plexStream) { const mediaInfo = new MediaInfo(); diff --git a/src/plex/plex.js b/src/plex/plex.js index 6cd743c..a1b8bec 100644 --- a/src/plex/plex.js +++ b/src/plex/plex.js @@ -1,7 +1,7 @@ -import convertPlexToMovie from "./convertPlexToMovie"; -import convertPlexToShow from "./convertPlexToShow"; -import convertPlexToEpisode from "./convertPlexToEpisode"; -import redisCache from "../cache/redis"; +import convertPlexToMovie from "./convertPlexToMovie.js"; +import convertPlexToShow from "./convertPlexToShow.js"; +import convertPlexToEpisode from "./convertPlexToEpisode.js"; +import redisCache from "../cache/redis.js"; class PlexRequestTimeoutError extends Error { constructor() { diff --git a/src/plex/plexRepository.js b/src/plex/plexRepository.js index 36b4219..ddb552f 100644 --- a/src/plex/plexRepository.js +++ b/src/plex/plexRepository.js @@ -1,5 +1,5 @@ -import convertPlexToSeasoned from "./convertPlexToSeasoned"; -import convertPlexToStream from "./convertPlexToStream"; +import convertPlexToSeasoned from "./convertPlexToSeasoned.js"; +import convertPlexToStream from "./convertPlexToStream.js"; // eslint-disable-next-line function addAttributeIfTmdbInPlex(_tmdb, plexResult) { diff --git a/src/plex/requestRepository.js b/src/plex/requestRepository.js index 66d54a3..bbafce2 100644 --- a/src/plex/requestRepository.js +++ b/src/plex/requestRepository.js @@ -1,7 +1,7 @@ -import PlexRepository from "./plexRepository"; -import TMDB from "../tmdb/tmdb"; -import establishedDatabase from "../database/database"; -import Configuration from "../config/configuration"; +import PlexRepository from "./plexRepository.js"; +import TMDB from "../tmdb/tmdb.js"; +import establishedDatabase from "../database/database.js"; +import Configuration from "../config/configuration.js"; const configuration = Configuration.getInstance(); const plexRepository = new PlexRepository( diff --git a/src/plex/stream/convertStreamToPlayer.js b/src/plex/stream/convertStreamToPlayer.js index 06417bd..455df9b 100644 --- a/src/plex/stream/convertStreamToPlayer.js +++ b/src/plex/stream/convertStreamToPlayer.js @@ -1,4 +1,4 @@ -import Player from "../../media_classes/player"; +import Player from "../../media_classes/player.js"; function convertStreamToPlayer(plexStream) { const player = new Player(plexStream.device, plexStream.address); diff --git a/src/plex/stream/convertStreamToUser.js b/src/plex/stream/convertStreamToUser.js index 5249d34..6ec32e5 100644 --- a/src/plex/stream/convertStreamToUser.js +++ b/src/plex/stream/convertStreamToUser.js @@ -1,4 +1,4 @@ -import User from "../../media_classes/user"; +import User from "../../media_classes/user.js"; function convertStreamToUser(plexStream) { return new User(plexStream.id, plexStream.title); diff --git a/src/request/request.js b/src/request/request.js index 2ff6e9e..32b9fcc 100644 --- a/src/request/request.js +++ b/src/request/request.js @@ -1,7 +1,7 @@ import assert from "assert"; // const configuration = require("../config/configuration").getInstance(); // const TMDB = require("../tmdb/tmdb"); -import establishedDatabase from "../database/database"; +import establishedDatabase from "../database/database.js"; // const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); diff --git a/src/request/utils.js b/src/request/utils.js index 67756c0..22836ff 100644 --- a/src/request/utils.js +++ b/src/request/utils.js @@ -45,4 +45,4 @@ function validFilter(filterParam) { }); } -module.exports = { validSort, validFilter }; +export default { validSort, validFilter }; diff --git a/src/searchHistory/searchHistory.js b/src/searchHistory/searchHistory.js index 7af2ce3..86b2fe2 100644 --- a/src/searchHistory/searchHistory.js +++ b/src/searchHistory/searchHistory.js @@ -1,4 +1,4 @@ -import establishedDatabase from "../database/database"; +import establishedDatabase from "../database/database.js"; class SearchHistoryCreateDatabaseError extends Error { constructor(message = "an unexpected error occured", errorResponse = null) { diff --git a/src/seasoned/strayRepository.js b/src/seasoned/strayRepository.js index ed6c6f3..5bf477e 100644 --- a/src/seasoned/strayRepository.js +++ b/src/seasoned/strayRepository.js @@ -1,7 +1,7 @@ import assert from "assert"; import pythonShell from "python-shell"; -import Stray from "./stray"; -import establishedDatabase from "../database/database"; +import Stray from "./stray.js"; +import establishedDatabase from "../database/database.js"; class StrayRepository { constructor(database) { diff --git a/src/tautulli/tautulli.js b/src/tautulli/tautulli.js index 90b7b29..1e529c3 100644 --- a/src/tautulli/tautulli.js +++ b/src/tautulli/tautulli.js @@ -75,4 +75,4 @@ class Tautulli { } } -module.exports = Tautulli; +export default Tautulli; diff --git a/src/tmdb/cache.js b/src/tmdb/cache.js index b481218..af851fe 100644 --- a/src/tmdb/cache.js +++ b/src/tmdb/cache.js @@ -1,5 +1,5 @@ import assert from "assert"; -import establishedDatabase from "../database/database"; +import establishedDatabase from "../database/database.js"; class Cache { constructor(database) { diff --git a/src/tmdb/tmdb.js b/src/tmdb/tmdb.js index 46811ca..f4b5796 100644 --- a/src/tmdb/tmdb.js +++ b/src/tmdb/tmdb.js @@ -1,7 +1,7 @@ import moviedb from "km-moviedb"; -import redisCache from "../cache/redis"; +import redisCache from "../cache/redis.js"; -const { Movie, Show, Person, Credits, ReleaseDates } = require("./types"); +import { Movie, Show, Person, Credits, ReleaseDates } from "./types.js"; class TMDBNotFoundError extends Error { constructor(message) { diff --git a/src/tmdb/types.js b/src/tmdb/types.js index 2316ba3..26d8aa6 100644 --- a/src/tmdb/types.js +++ b/src/tmdb/types.js @@ -1,7 +1,7 @@ -import Movie from "./types/movie"; -import Show from "./types/show"; -import Person from "./types/person"; -import Credits from "./types/credits"; -import ReleaseDates from "./types/releaseDates"; +import Movie from "./types/movie.js"; +import Show from "./types/show.js"; +import Person from "./types/person.js"; +import Credits from "./types/credits.js"; +import ReleaseDates from "./types/releaseDates.js"; -export default { Movie, Show, Person, Credits, ReleaseDates }; +export { Movie, Show, Person, Credits, ReleaseDates }; diff --git a/src/tmdb/types/credits.js b/src/tmdb/types/credits.js index c300839..66efa42 100644 --- a/src/tmdb/types/credits.js +++ b/src/tmdb/types/credits.js @@ -1,6 +1,6 @@ /* eslint-disable camelcase */ -import Movie from "./movie"; -import Show from "./show"; +import Movie from "./movie.js"; +import Show from "./show.js"; class CreditedMovie extends Movie {} class CreditedShow extends Show {} diff --git a/src/user/token.js b/src/user/token.js index 664565b..d5a2e82 100644 --- a/src/user/token.js +++ b/src/user/token.js @@ -1,5 +1,5 @@ import jwt from "jsonwebtoken"; -import User from "./user"; +import User from "./user.js"; class Token { constructor(user, admin = false, settings = null) { diff --git a/src/user/userRepository.js b/src/user/userRepository.js index 97c8e41..cc99bca 100644 --- a/src/user/userRepository.js +++ b/src/user/userRepository.js @@ -1,5 +1,5 @@ import assert from "assert"; -import establishedDatabase from "../database/database"; +import establishedDatabase from "../database/database.js"; class LinkPlexUserError extends Error { constructor(errorMessage = null) { diff --git a/src/user/userSecurity.js b/src/user/userSecurity.js index 6042a04..42c8d70 100644 --- a/src/user/userSecurity.js +++ b/src/user/userSecurity.js @@ -1,5 +1,5 @@ import bcrypt from "bcrypt"; -import UserRepository from "./userRepository"; +import UserRepository from "./userRepository.js"; class UserSecurity { constructor(database) { diff --git a/src/webserver/app.js b/src/webserver/app.js index bf98d9d..bce3795 100644 --- a/src/webserver/app.js +++ b/src/webserver/app.js @@ -3,67 +3,69 @@ import Raven from "raven"; import cookieParser from "cookie-parser"; import bodyParser from "body-parser"; -import Configuration from "../config/configuration"; - -import reqTokenToUser from "./middleware/reqTokenToUser"; -import mustBeAuthenticated from "./middleware/mustBeAuthenticated"; -import mustBeAdmin from "./middleware/mustBeAdmin"; -import mustHaveAccountLinkedToPlex from "./middleware/mustHaveAccountLinkedToPlex"; - -import listController from "./controllers/list/listController"; -import tautulli from "./controllers/user/viewHistory"; -import SettingsController from "./controllers/user/settings"; -import AuthenticatePlexAccountController from "./controllers/user/authenticatePlexAccount"; - +import Configuration from "../config/configuration.js"; 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 reqTokenToUser from "./middleware/reqTokenToUser.js"; +import mustBeAuthenticated from "./middleware/mustBeAuthenticated.js"; +import mustBeAdmin from "./middleware/mustBeAdmin.js"; +import mustHaveAccountLinkedToPlex from "./middleware/mustHaveAccountLinkedToPlex.js"; -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 tautulli from "./controllers/user/viewHistory.js"; +import { + getSettingsController, + updateSettingsController +} from "./controllers/user/settings.js"; +import AuthenticatePlexAccountController from "./controllers/user/authenticatePlexAccount.js"; -import MovieCreditsController from "./controllers/movie/credits"; -import MovieReleaseDatesController from "./controllers/movie/releaseDates"; -import MovieInfoController from "./controllers/movie/info"; +import UserRegisterController from "./controllers/user/register.js"; +import UserLoginController from "./controllers/user/login.js"; +import UserLogoutController from "./controllers/user/logout.js"; +import UserSearchHistoryController from "./controllers/user/searchHistory.js"; +import UserRequestsController from "./controllers/user/requests.js"; -import ShowCreditsController from "./controllers/show/credits"; -import ShowInfoController from "./controllers/show/info"; +import SearchMultiController from "./controllers/search/multiSearch.js"; +import SearchMovieController from "./controllers/search/movieSearch.js"; +import SearchShowController from "./controllers/search/showSearch.js"; +import SearchPersonController from "./controllers/search/personSearch.js"; -import PersonCreditsController from "./controllers/person/credits"; -import PersonInfoController from "./controllers/person/info"; +import listController from "./controllers/list/listController.js"; -import SeasonedAllController from "./controllers/seasoned/readStrays"; -import SeasonedInfoController from "./controllers/seasoned/strayById"; -import SeasonedVerifyController from "./controllers/seasoned/verifyStray"; +import MovieCreditsController from "./controllers/movie/credits.js"; +import MovieReleaseDatesController from "./controllers/movie/releaseDates.js"; +import MovieInfoController from "./controllers/movie/info.js"; -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 ShowCreditsController from "./controllers/show/credits.js"; +import ShowInfoController from "./controllers/show/info.js"; -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 PersonCreditsController from "./controllers/person/credits.js"; +import PersonInfoController from "./controllers/person/info.js"; -import PirateSearchController from "./controllers/pirate/search"; -import PirateAddController from "./controllers/pirate/addMagnet"; +import SeasonedAllController from "./controllers/seasoned/readStrays.js"; +import SeasonedInfoController from "./controllers/seasoned/strayById.js"; +import SeasonedVerifyController from "./controllers/seasoned/verifyStray.js"; -import GitDumpController from "./controllres/git/dump"; -import EmojiController from "./controllers/misc/emoji"; +import PlexSearchController from "./controllers/plex/search.js"; +import PlexFetchRequestedController from "./controllers/plex/fetchRequested.js"; +import PlexRequestsInfo from "./controllers/plex/updateRequested.js"; +import PlexWatchLinkController from "./controllers/plex/watchDirectLink.js"; +import PlexHookController from "./controllers/plex/hookDump.js"; +import PlexSubmitRequestController from "./controllers/plex/submitRequest.js"; +import PlexRequestInfo from "./controllers/plex/readRequest.js"; +import PlexSearchRequestController from "./controllers/plex/searchRequest.js"; +import PlexPlayingController from "./controllers/plex/plexPlaying.js"; +import PlexSearchMediaController from "./controllers/plex/searchMedia.js"; +import PlexUpdateRequestedController from "./controllers/plex/updateRequested.js"; + +import RequestFetchAllController from "./controllers/request/fetchAllRequests.js"; +import RequestInfoController from "./controllers/request/getRequest.js"; +import RequestSubmitController from "./controllers/request/requestTmdbId.js"; + +import PirateSearchController from "./controllers/pirate/searchTheBay.js"; +import PirateAddController from "./controllers/pirate/addMagnet.js"; + +import GitDumpController from "./controllers/git/dumpHook.js"; +import EmojiController from "./controllers/misc/emoji.js"; // TODO: Have our raven router check if there is a value, if not don't enable raven. Raven.config(configuration.get("raven", "DSN")).install(); @@ -119,16 +121,8 @@ router.post("/v1/user", UserRegisterController); router.post("/v1/user/login", UserLoginController); router.post("/v1/user/logout", UserLogoutController); -router.get( - "/v1/user/settings", - mustBeAuthenticated, - SettingsController.getSettingsController -); -router.put( - "/v1/user/settings", - mustBeAuthenticated, - SettingsController.updateSettingsController -); +router.get("/v1/user/settings", mustBeAuthenticated, getSettingsController); +router.put("/v1/user/settings", mustBeAuthenticated, updateSettingsController); router.get( "/v1/user/search_history", mustBeAuthenticated, @@ -220,7 +214,7 @@ router.get("/v1/plex/watch-link", mustBeAuthenticated, PlexWatchLinkController); router.get("/v2/request", RequestFetchAllController); router.get("/v2/request/:id", RequestInfoController); router.post("/v2/request", RequestSubmitController); -router.get("/v1/plex/requests/all", RequestAllController); +router.get("/v1/plex/requests/all", PlexFetchRequestedController); router.put( "/v1/plex/request/:requestId", mustBeAuthenticated, diff --git a/src/webserver/controllers/git/dumpHook.js b/src/webserver/controllers/git/dumpHook.js index d7f4208..571e2be 100644 --- a/src/webserver/controllers/git/dumpHook.js +++ b/src/webserver/controllers/git/dumpHook.js @@ -1,4 +1,4 @@ -import GitRepository from "../../../git/gitRepository"; +import GitRepository from "../../../git/gitRepository.js"; const gitRepository = new GitRepository(); diff --git a/src/webserver/controllers/list/listController.js b/src/webserver/controllers/list/listController.js index 0715103..9e94cec 100644 --- a/src/webserver/controllers/list/listController.js +++ b/src/webserver/controllers/list/listController.js @@ -1,5 +1,5 @@ -import TMDB from "../../../tmdb/tmdb"; -import Configuration from "../../../config/configuration"; +import TMDB from "../../../tmdb/tmdb.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); @@ -51,17 +51,27 @@ function fetchTmdbList(req, res, listname, type) { ); } -export const nowPlayingMovies = (req, res) => +const nowPlayingMovies = (req, res) => fetchTmdbList(req, res, "miscNowPlayingMovies", "movie"); -export const popularMovies = (req, res) => +const popularMovies = (req, res) => fetchTmdbList(req, res, "miscPopularMovies", "movie"); -export const topRatedMovies = (req, res) => +const topRatedMovies = (req, res) => fetchTmdbList(req, res, "miscTopRatedMovies", "movie"); -export const upcomingMovies = (req, res) => +const upcomingMovies = (req, res) => fetchTmdbList(req, res, "miscUpcomingMovies", "movie"); -export const nowPlayingShows = (req, res) => +const nowPlayingShows = (req, res) => fetchTmdbList(req, res, "tvOnTheAir", "show"); -export const popularShows = (req, res) => +const popularShows = (req, res) => fetchTmdbList(req, res, "miscPopularTvs", "show"); -export const topRatedShows = (req, res) => +const topRatedShows = (req, res) => fetchTmdbList(req, res, "miscTopRatedTvs", "show"); + +export default { + nowPlayingMovies, + popularMovies, + topRatedMovies, + upcomingMovies, + nowPlayingShows, + popularShows, + topRatedShows +}; diff --git a/src/webserver/controllers/movie/credits.js b/src/webserver/controllers/movie/credits.js index ff4f5fd..e66764e 100644 --- a/src/webserver/controllers/movie/credits.js +++ b/src/webserver/controllers/movie/credits.js @@ -1,5 +1,5 @@ -import TMDB from "../../../tmdb/tmdb"; -import Configuration from "../../../config/configuration"; +import TMDB from "../../../tmdb/tmdb.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); diff --git a/src/webserver/controllers/movie/info.js b/src/webserver/controllers/movie/info.js index 3865c53..ae1009d 100644 --- a/src/webserver/controllers/movie/info.js +++ b/src/webserver/controllers/movie/info.js @@ -1,6 +1,6 @@ -import TMDB from "../../../tmdb/tmdb"; -import Plex from "../../../plex/plex"; -import Configuration from "../../../config/configuration"; +import TMDB from "../../../tmdb/tmdb.js"; +import Plex from "../../../plex/plex.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); diff --git a/src/webserver/controllers/movie/releaseDates.js b/src/webserver/controllers/movie/releaseDates.js index fcff8f2..43d1b30 100644 --- a/src/webserver/controllers/movie/releaseDates.js +++ b/src/webserver/controllers/movie/releaseDates.js @@ -1,5 +1,5 @@ -import TMDB from "../../../tmdb/tmdb"; -import Configuration from "../../../config/configuration"; +import TMDB from "../../../tmdb/tmdb.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); diff --git a/src/webserver/controllers/person/credits.js b/src/webserver/controllers/person/credits.js index 537d299..5b71717 100644 --- a/src/webserver/controllers/person/credits.js +++ b/src/webserver/controllers/person/credits.js @@ -1,8 +1,8 @@ -import TMDB from "../../../tmdb/tmdb"; -import Configuration from "../../../config/configuration"; +import TMDB from "../../../tmdb/tmdb.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); -const tmdb = new TMDB(Configuration.get("tmdb", "apiKey")); +const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); const personCreditsController = (req, res) => { const personId = req.params.id; diff --git a/src/webserver/controllers/person/info.js b/src/webserver/controllers/person/info.js index 7543cdf..ae7fc77 100644 --- a/src/webserver/controllers/person/info.js +++ b/src/webserver/controllers/person/info.js @@ -1,5 +1,5 @@ -import TMDB from "../../../tmdb/tmdb"; -import Configuration from "../../../config/configuration"; +import TMDB from "../../../tmdb/tmdb.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); diff --git a/src/webserver/controllers/pirate/addMagnet.js b/src/webserver/controllers/pirate/addMagnet.js index 3a20adf..67d5dae 100644 --- a/src/webserver/controllers/pirate/addMagnet.js +++ b/src/webserver/controllers/pirate/addMagnet.js @@ -5,13 +5,13 @@ * @Last Modified time: 2017-10-21 15:32:43 */ -import PirateRepository from "../../../pirate/pirateRepository"; +import { AddMagnet } from "../../../pirate/pirateRepository.js"; function addMagnet(req, res) { const { magnet, name } = req.body; const tmdbId = req.body?.tmdb_id; - PirateRepository.AddMagnet(magnet, name, tmdbId) + AddMagnet(magnet, name, tmdbId) .then(result => res.send(result)) .catch(error => { res.status(500).send({ success: false, message: error.message }); diff --git a/src/webserver/controllers/pirate/searchTheBay.js b/src/webserver/controllers/pirate/searchTheBay.js index 2c48e09..34b6f07 100644 --- a/src/webserver/controllers/pirate/searchTheBay.js +++ b/src/webserver/controllers/pirate/searchTheBay.js @@ -5,7 +5,7 @@ * @Last Modified time: 2018-02-26 19:56:32 */ -import PirateRepository from "../../../pirate/pirateRepository"; +import { SearchPiratebay } from "../../../pirate/pirateRepository.js"; // const pirateRepository = new PirateRepository(); /** @@ -17,7 +17,7 @@ import PirateRepository from "../../../pirate/pirateRepository"; function updateRequested(req, res) { const { query, page, type } = req.query; - PirateRepository.SearchPiratebay(query, page, type) + SearchPiratebay(query, page, type) .then(result => { res.send({ success: true, results: result }); }) diff --git a/src/webserver/controllers/plex/fetchRequested.js b/src/webserver/controllers/plex/fetchRequested.js index c562cb3..ded3fcc 100644 --- a/src/webserver/controllers/plex/fetchRequested.js +++ b/src/webserver/controllers/plex/fetchRequested.js @@ -1,4 +1,4 @@ -import RequestRepository from "../../../plex/requestRepository"; +import RequestRepository from "../../../plex/requestRepository.js"; const requestRepository = new RequestRepository(); diff --git a/src/webserver/controllers/plex/plexPlaying.js b/src/webserver/controllers/plex/plexPlaying.js index 287c945..cb9f290 100644 --- a/src/webserver/controllers/plex/plexPlaying.js +++ b/src/webserver/controllers/plex/plexPlaying.js @@ -1,5 +1,5 @@ -import PlexRepository from "../../../plex/plexRepository"; -import Configuration from "../../../config/configuration"; +import PlexRepository from "../../../plex/plexRepository.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); @@ -19,4 +19,4 @@ function playingController(req, res) { }); } -module.exports = playingController; +export default playingController; diff --git a/src/webserver/controllers/plex/readRequest.js b/src/webserver/controllers/plex/readRequest.js index 4153eda..e03cdd3 100644 --- a/src/webserver/controllers/plex/readRequest.js +++ b/src/webserver/controllers/plex/readRequest.js @@ -1,4 +1,4 @@ -import RequestRepository from "../../../plex/requestRepository"; +import RequestRepository from "../../../plex/requestRepository.js"; const requestRepository = new RequestRepository(); diff --git a/src/webserver/controllers/plex/search.js b/src/webserver/controllers/plex/search.js index b01d469..cf9dc09 100644 --- a/src/webserver/controllers/plex/search.js +++ b/src/webserver/controllers/plex/search.js @@ -1,5 +1,5 @@ -import Plex from "../../../plex/plex"; -import Configuration from "../../../config/configuration"; +import Plex from "../../../plex/plex.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); diff --git a/src/webserver/controllers/plex/searchMedia.js b/src/webserver/controllers/plex/searchMedia.js index e98d10e..773021f 100644 --- a/src/webserver/controllers/plex/searchMedia.js +++ b/src/webserver/controllers/plex/searchMedia.js @@ -1,5 +1,5 @@ -import PlexRepository from "../../../plex/plexRepository"; -import Configuration from "../../../config/configuration"; +import PlexRepository from "../../../plex/plexRepository.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); diff --git a/src/webserver/controllers/plex/searchRequest.js b/src/webserver/controllers/plex/searchRequest.js index 0020078..6611764 100644 --- a/src/webserver/controllers/plex/searchRequest.js +++ b/src/webserver/controllers/plex/searchRequest.js @@ -1,6 +1,6 @@ -import SearchHistory from "../../../searchHistory/searchHistory"; -import Cache from "../../../tmdb/cache"; -import RequestRepository from "../../../plex/requestRepository"; +import SearchHistory from "../../../searchHistory/searchHistory.js"; +import Cache from "../../../tmdb/cache.js"; +import RequestRepository from "../../../plex/requestRepository.js"; const cache = new Cache(); const requestRepository = new RequestRepository(cache); diff --git a/src/webserver/controllers/plex/submitRequest.js b/src/webserver/controllers/plex/submitRequest.js index c5b0737..cc50294 100644 --- a/src/webserver/controllers/plex/submitRequest.js +++ b/src/webserver/controllers/plex/submitRequest.js @@ -1,6 +1,6 @@ -import RequestRepository from "../../../request/request"; -import TMDB from "../../../tmdb/tmdb"; -import Configuration from "../../../config/configuration"; +import RequestRepository from "../../../request/request.js"; +import TMDB from "../../../tmdb/tmdb.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); diff --git a/src/webserver/controllers/plex/updateRequested.js b/src/webserver/controllers/plex/updateRequested.js index 5209765..a8672ab 100644 --- a/src/webserver/controllers/plex/updateRequested.js +++ b/src/webserver/controllers/plex/updateRequested.js @@ -1,4 +1,4 @@ -import RequestRepository from "../../../plex/requestRepository"; +import RequestRepository from "../../../plex/requestRepository.js"; const requestRepository = new RequestRepository(); diff --git a/src/webserver/controllers/plex/watchDirectLink.js b/src/webserver/controllers/plex/watchDirectLink.js index 70c2d82..3e61754 100644 --- a/src/webserver/controllers/plex/watchDirectLink.js +++ b/src/webserver/controllers/plex/watchDirectLink.js @@ -1,5 +1,5 @@ -import Plex from "../../../plex/plex"; -import Configuration from "../../../config/configuration"; +import Plex from "../../../plex/plex.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); 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 88fa757..ed4bc41 100644 --- a/src/webserver/controllers/request/fetchAllRequests.js +++ b/src/webserver/controllers/request/fetchAllRequests.js @@ -1,4 +1,4 @@ -import RequestRepository from "../../../request/request"; +import RequestRepository from "../../../request/request.js"; const request = new RequestRepository(); diff --git a/src/webserver/controllers/request/getRequest.js b/src/webserver/controllers/request/getRequest.js index 10b0122..b1912ae 100644 --- a/src/webserver/controllers/request/getRequest.js +++ b/src/webserver/controllers/request/getRequest.js @@ -1,4 +1,4 @@ -import RequestRepository from "../../../request/request"; +import RequestRepository from "../../../request/request.js"; const request = new RequestRepository(); diff --git a/src/webserver/controllers/request/requestTmdbId.js b/src/webserver/controllers/request/requestTmdbId.js index d113a01..caa8252 100644 --- a/src/webserver/controllers/request/requestTmdbId.js +++ b/src/webserver/controllers/request/requestTmdbId.js @@ -1,6 +1,6 @@ -import TMDB from "../../../tmdb/tmdb"; -import RequestRepository from "../../../request/request"; -import Configuration from "../../../config/configuration"; +import TMDB from "../../../tmdb/tmdb.js"; +import RequestRepository from "../../../request/request.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); diff --git a/src/webserver/controllers/search/movieSearch.js b/src/webserver/controllers/search/movieSearch.js index 01f9900..00a50f2 100644 --- a/src/webserver/controllers/search/movieSearch.js +++ b/src/webserver/controllers/search/movieSearch.js @@ -1,6 +1,6 @@ -import TMDB from "../../../tmdb/tmdb"; -import SearchHistory from "../../../searchHistory/searchHistory"; -import Configuration from "../../../config/configuration"; +import TMDB from "../../../tmdb/tmdb.js"; +import SearchHistory from "../../../searchHistory/searchHistory.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); diff --git a/src/webserver/controllers/search/multiSearch.js b/src/webserver/controllers/search/multiSearch.js index 5490249..95610cf 100644 --- a/src/webserver/controllers/search/multiSearch.js +++ b/src/webserver/controllers/search/multiSearch.js @@ -1,6 +1,6 @@ -import TMDB from "../../../tmdb/tmdb"; -import SearchHistory from "../../../searchHistory/searchHistory"; -import Configuration from "../../../config/configuration"; +import TMDB from "../../../tmdb/tmdb.js"; +import SearchHistory from "../../../searchHistory/searchHistory.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); diff --git a/src/webserver/controllers/search/personSearch.js b/src/webserver/controllers/search/personSearch.js index c44fbea..c6ffd29 100644 --- a/src/webserver/controllers/search/personSearch.js +++ b/src/webserver/controllers/search/personSearch.js @@ -1,6 +1,6 @@ -import TMDB from "../../../tmdb/tmdb"; -import SearchHistory from "../../../searchHistory/searchHistory"; -import Configuration from "../../../config/configuration"; +import TMDB from "../../../tmdb/tmdb.js"; +import SearchHistory from "../../../searchHistory/searchHistory.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); diff --git a/src/webserver/controllers/search/showSearch.js b/src/webserver/controllers/search/showSearch.js index f349180..c70de1a 100644 --- a/src/webserver/controllers/search/showSearch.js +++ b/src/webserver/controllers/search/showSearch.js @@ -1,6 +1,6 @@ -import SearchHistory from "../../../searchHistory/searchHistory"; -import TMDB from "../../../tmdb/tmdb"; -import Configuration from "../../../config/configuration"; +import TMDB from "../../../tmdb/tmdb.js"; +import SearchHistory from "../../../searchHistory/searchHistory.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); diff --git a/src/webserver/controllers/seasoned/readStrays.js b/src/webserver/controllers/seasoned/readStrays.js index 845f9c5..876e0e2 100644 --- a/src/webserver/controllers/seasoned/readStrays.js +++ b/src/webserver/controllers/seasoned/readStrays.js @@ -1,4 +1,4 @@ -import StrayRepository from "../../../seasoned/strayRepository"; +import StrayRepository from "../../../seasoned/strayRepository.js"; const strayRepository = new StrayRepository(); diff --git a/src/webserver/controllers/seasoned/strayById.js b/src/webserver/controllers/seasoned/strayById.js index 9f5491c..09354ea 100644 --- a/src/webserver/controllers/seasoned/strayById.js +++ b/src/webserver/controllers/seasoned/strayById.js @@ -1,4 +1,4 @@ -import StrayRepository from "../../../seasoned/strayRepository"; +import StrayRepository from "../../../seasoned/strayRepository.js"; const strayRepository = new StrayRepository(); diff --git a/src/webserver/controllers/seasoned/verifyStray.js b/src/webserver/controllers/seasoned/verifyStray.js index 7ddef74..c21f2b9 100644 --- a/src/webserver/controllers/seasoned/verifyStray.js +++ b/src/webserver/controllers/seasoned/verifyStray.js @@ -1,4 +1,4 @@ -import StrayRepository from "../../../seasoned/strayRepository"; +import StrayRepository from "../../../seasoned/strayRepository.js"; const strayRepository = new StrayRepository(); diff --git a/src/webserver/controllers/show/credits.js b/src/webserver/controllers/show/credits.js index 6a2cc2e..2feee40 100644 --- a/src/webserver/controllers/show/credits.js +++ b/src/webserver/controllers/show/credits.js @@ -1,5 +1,5 @@ -import TMDB from "../../../tmdb/tmdb"; -import Configuration from "../../../config/configuration"; +import TMDB from "../../../tmdb/tmdb.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); diff --git a/src/webserver/controllers/show/info.js b/src/webserver/controllers/show/info.js index b3ef032..300af7d 100644 --- a/src/webserver/controllers/show/info.js +++ b/src/webserver/controllers/show/info.js @@ -1,6 +1,6 @@ -import TMDB from "../../../tmdb/tmdb"; -import Plex from "../../../plex/plex"; -import Configuration from "../../../config/configuration"; +import TMDB from "../../../tmdb/tmdb.js"; +import Plex from "../../../plex/plex.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); diff --git a/src/webserver/controllers/user/authenticatePlexAccount.js b/src/webserver/controllers/user/authenticatePlexAccount.js index 6ac9b04..1cefa75 100644 --- a/src/webserver/controllers/user/authenticatePlexAccount.js +++ b/src/webserver/controllers/user/authenticatePlexAccount.js @@ -1,5 +1,5 @@ import FormData from "form-data"; -import UserRepository from "../../../user/userRepository"; +import UserRepository from "../../../user/userRepository.js"; const userRepository = new UserRepository(); @@ -61,7 +61,7 @@ function plexAuthenticate(username, password) { return fetch(url, options).then(resp => handleResponse(resp)); } -export function link(req, res) { +function link(req, res) { const user = req.loggedInUser; const { username, password } = req.body; @@ -86,7 +86,7 @@ export function link(req, res) { ); } -export function unlink(req, res) { +function unlink(req, res) { const username = req.loggedInUser ? req.loggedInUser.username : null; return userRepository @@ -108,3 +108,5 @@ export function unlink(req, res) { }) ); } + +export default { link, unlink }; diff --git a/src/webserver/controllers/user/login.js b/src/webserver/controllers/user/login.js index e8a2d58..3215701 100644 --- a/src/webserver/controllers/user/login.js +++ b/src/webserver/controllers/user/login.js @@ -1,8 +1,8 @@ -import User from "../../../user/user"; -import Token from "../../../user/token"; -import UserSecurity from "../../../user/userSecurity"; -import UserRepository from "../../../user/userRepository"; -import Configuration from "../../../config/configuration"; +import User from "../../../user/user.js"; +import Token from "../../../user/token.js"; +import UserSecurity from "../../../user/userSecurity.js"; +import UserRepository from "../../../user/userRepository.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const secret = configuration.get("authentication", "secret"); diff --git a/src/webserver/controllers/user/register.js b/src/webserver/controllers/user/register.js index 47b5430..7917405 100644 --- a/src/webserver/controllers/user/register.js +++ b/src/webserver/controllers/user/register.js @@ -1,7 +1,7 @@ -import User from "../../../user/user"; -import Token from "../../../user/token"; -import UserSecurity from "../../../user/userSecurity"; -import Configuration from "../../../config/configuration"; +import User from "../../../user/user.js"; +import Token from "../../../user/token.js"; +import UserSecurity from "../../../user/userSecurity.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const secret = configuration.get("authentication", "secret"); diff --git a/src/webserver/controllers/user/requests.js b/src/webserver/controllers/user/requests.js index e4c1ac6..e4cc213 100644 --- a/src/webserver/controllers/user/requests.js +++ b/src/webserver/controllers/user/requests.js @@ -1,4 +1,4 @@ -import RequestRepository from "../../../plex/requestRepository"; +import RequestRepository from "../../../plex/requestRepository.js"; const requestRepository = new RequestRepository(); diff --git a/src/webserver/controllers/user/searchHistory.js b/src/webserver/controllers/user/searchHistory.js index 37e3193..81af85c 100644 --- a/src/webserver/controllers/user/searchHistory.js +++ b/src/webserver/controllers/user/searchHistory.js @@ -1,4 +1,4 @@ -import SearchHistory from "../../../searchHistory/searchHistory"; +import SearchHistory from "../../../searchHistory/searchHistory.js"; const searchHistory = new SearchHistory(); diff --git a/src/webserver/controllers/user/settings.js b/src/webserver/controllers/user/settings.js index 92fc58b..946ec2d 100644 --- a/src/webserver/controllers/user/settings.js +++ b/src/webserver/controllers/user/settings.js @@ -1,4 +1,4 @@ -import UserRepository from "../../../user/userRepository"; +import UserRepository from "../../../user/userRepository.js"; const userRepository = new UserRepository(); /** diff --git a/src/webserver/controllers/user/viewHistory.js b/src/webserver/controllers/user/viewHistory.js index bb190e5..e74fd04 100644 --- a/src/webserver/controllers/user/viewHistory.js +++ b/src/webserver/controllers/user/viewHistory.js @@ -1,5 +1,5 @@ -import configuration from "../../../config/configuration"; -import Tautulli from "../../../tautulli/tautulli"; +import Tautulli from "../../../tautulli/tautulli.js"; +import Configuration from "../../../config/configuration.js"; const configuration = Configuration.getInstance(); const apiKey = configuration.get("tautulli", "apiKey"); diff --git a/src/webserver/middleware/mustBeAdmin.js b/src/webserver/middleware/mustBeAdmin.js index a91b56e..1721d0d 100644 --- a/src/webserver/middleware/mustBeAdmin.js +++ b/src/webserver/middleware/mustBeAdmin.js @@ -1,4 +1,4 @@ -import establishedDatabase from "../../database/database"; +import establishedDatabase from "../../database/database.js"; // eslint-disable-next-line consistent-return const mustBeAdmin = (req, res, next) => { diff --git a/src/webserver/middleware/mustHaveAccountLinkedToPlex.js b/src/webserver/middleware/mustHaveAccountLinkedToPlex.js index 219cbf7..e4b7d54 100644 --- a/src/webserver/middleware/mustHaveAccountLinkedToPlex.js +++ b/src/webserver/middleware/mustHaveAccountLinkedToPlex.js @@ -1,4 +1,4 @@ -import establishedDatabase from "../../database/database"; +import establishedDatabase from "../../database/database.js"; /* eslint-disable consistent-return */ const mustHaveAccountLinkedToPlex = (req, res, next) => { diff --git a/src/webserver/middleware/reqTokenToUser.js b/src/webserver/middleware/reqTokenToUser.js index de37af7..5e45570 100644 --- a/src/webserver/middleware/reqTokenToUser.js +++ b/src/webserver/middleware/reqTokenToUser.js @@ -1,6 +1,6 @@ /* eslint-disable no-param-reassign */ -import Configuration from "../../config/configuration"; -import Token from "../../user/token"; +import Configuration from "../../config/configuration.js"; +import Token from "../../user/token.js"; const configuration = Configuration.getInstance(); const secret = configuration.get("authentication", "secret"); diff --git a/src/webserver/server.js b/src/webserver/server.js index 7e16439..3de69c2 100644 --- a/src/webserver/server.js +++ b/src/webserver/server.js @@ -1,11 +1,15 @@ -import Configuration from "../config/configuration"; -import app from "./app"; +import Configuration from "../config/configuration.js"; +import app from "./app.js"; const configuration = Configuration.getInstance(); -export default app.listen(config.get("webserver", "port"), () => { +export default app.listen(configuration.get("webserver", "port"), () => { /* eslint-disable no-console */ console.log("seasonedAPI"); - console.log(`Database is located at ${config.get("database", "host")}`); - console.log(`Webserver is listening on ${config.get("webserver", "port")}`); + console.log( + `Database is located at ${configuration.get("database", "host")}` + ); + console.log( + `Webserver is listening on ${configuration.get("webserver", "port")}` + ); });