diff --git a/src/notifications/sms.js b/src/notifications/sms.js index b9e6f41..8dbb3fe 100644 --- a/src/notifications/sms.js +++ b/src/notifications/sms.js @@ -1,4 +1,3 @@ -const request = require("request"); const configuration = require("../config/configuration").getInstance(); class SMSUnexpectedError extends Error { @@ -20,23 +19,21 @@ const sendSMS = message => { const sender = configuration.get("sms", "sender"); const recipient = configuration.get("sms", "recipient"); + const smsRequestHeaders = { "Content-Type": "application/json" }; + const smsRequestBody = { + sender, + message, + recipients: [{ msisdn: `47${recipient}` }] + }; return new Promise((resolve, reject) => { - request.post( - { - url: `https://gatewayapi.com/rest/mtsms?token=${apiKey}`, - json: true, - body: { - sender, - message, - recipients: [{ msisdn: `47${recipient}` }] - } - }, - (err, r, body) => { - if (err) reject(new SMSUnexpectedError(err || body)); - resolve(body); - } - ); + fetch(`https://gatewayapi.com/rest/mtsms?token=${apiKey}`, { + body: JSON.stringify(smsRequestBody), + headers: smsRequestHeaders + }) + .then(resp => resp.json()) + .then(response => resolve(response)) + .catch(error => reject(new SMSUnexpectedError(error))); }); }; diff --git a/src/plex/plex.js b/src/plex/plex.js index 01b9cee..09c74e9 100644 --- a/src/plex/plex.js +++ b/src/plex/plex.js @@ -1,4 +1,3 @@ -const fetch = require("node-fetch"); const convertPlexToMovie = require("./convertPlexToMovie"); const convertPlexToShow = require("./convertPlexToShow"); const convertPlexToEpisode = require("./convertPlexToEpisode"); diff --git a/src/plex/plexRepository.js b/src/plex/plexRepository.js index 472111f..4018ce2 100644 --- a/src/plex/plexRepository.js +++ b/src/plex/plexRepository.js @@ -1,4 +1,3 @@ -const rp = require("request-promise"); const convertPlexToSeasoned = require("./convertPlexToSeasoned"); const convertPlexToStream = require("./convertPlexToStream"); @@ -35,8 +34,9 @@ function mapResults(response) { } class PlexRepository { - constructor(plexIP) { + constructor(plexIP, plexToken) { this.plexIP = plexIP; + this.plexToken = plexToken; } inPlex(_tmdbResult) { @@ -56,19 +56,17 @@ class PlexRepository { } search(query) { - const queryUri = encodeURIComponent(query); - const uri = encodeURI( - `http://${this.plexIP}:32400/search?query=${queryUri}` + const url = encodeURI( + `http://${this.plexIP}:32400/search?query=${encodeURIComponent( + query + )}&X-Plex-Token=${this.plexToken}` ); const options = { - uri, - headers: { - Accept: "application/json" - }, - json: true + headers: { Accept: "application/json" } }; - return rp(options) + return fetch(url, options) + .then(resp => resp.json()) .then(result => mapResults(result)) .then(([mappedResults, resultCount]) => ({ results: mappedResults, @@ -77,15 +75,13 @@ class PlexRepository { } nowPlaying() { + const url = `http://${this.plexIP}:32400/status/sessions?X-Plex-Token=${this.plexToken}`; const options = { - uri: `http://${this.plexIP}:32400/status/sessions`, - headers: { - Accept: "application/json" - }, - json: true + headers: { Accept: "application/json" } }; - return rp(options) + return fetch(url, options) + .then(resp => resp.json()) .then(result => { if (result.MediaContainer.size > 0) { const playing = diff --git a/src/plex/requestRepository.js b/src/plex/requestRepository.js index 85caaf1..ebe8f63 100644 --- a/src/plex/requestRepository.js +++ b/src/plex/requestRepository.js @@ -3,7 +3,10 @@ const configuration = require("../config/configuration").getInstance(); const TMDB = require("../tmdb/tmdb"); const establishedDatabase = require("../database/database"); -const plexRepository = new PlexRepository(configuration.get("plex", "ip")); +const plexRepository = new PlexRepository( + configuration.get("plex", "ip"), + configuration.get("plex", "token") +); const tmdb = new TMDB(configuration.get("tmdb", "apiKey")); class RequestRepository { diff --git a/src/tautulli/tautulli.js b/src/tautulli/tautulli.js index f5fdf3d..90b7b29 100644 --- a/src/tautulli/tautulli.js +++ b/src/tautulli/tautulli.js @@ -1,5 +1,3 @@ -const fetch = require("node-fetch"); - class TautulliUnexpectedError extends Error { constructor(errorMessage) { const message = "Unexpected error fetching from tautulli."; diff --git a/src/webserver/controllers/plex/plexPlaying.js b/src/webserver/controllers/plex/plexPlaying.js index aa153b6..4c07c17 100644 --- a/src/webserver/controllers/plex/plexPlaying.js +++ b/src/webserver/controllers/plex/plexPlaying.js @@ -1,7 +1,10 @@ const PlexRepository = require("../../../plex/plexRepository"); const configuration = require("../../../config/configuration").getInstance(); -const plexRepository = new PlexRepository(configuration.get("plex", "ip")); +const plexRepository = new PlexRepository( + configuration.get("plex", "ip"), + configuration.get("plex", "token") +); function playingController(req, res) { plexRepository diff --git a/src/webserver/controllers/plex/searchMedia.js b/src/webserver/controllers/plex/searchMedia.js index d64cefe..07d941d 100644 --- a/src/webserver/controllers/plex/searchMedia.js +++ b/src/webserver/controllers/plex/searchMedia.js @@ -1,7 +1,10 @@ const PlexRepository = require("../../../plex/plexRepository"); const configuration = require("../../../config/configuration").getInstance(); -const plexRepository = new PlexRepository(configuration.get("plex", "ip")); +const plexRepository = new PlexRepository( + configuration.get("plex", "ip"), + configuration.get("plex", "token") +); /** * Controller: Search for media and check existence diff --git a/src/webserver/server.js b/src/webserver/server.js index 95dc9c7..dae8d96 100644 --- a/src/webserver/server.js +++ b/src/webserver/server.js @@ -4,8 +4,6 @@ const app = require("./app"); module.exports = app.listen(config.get("webserver", "port"), () => { /* eslint-disable no-console */ console.log("seasonedAPI"); - /* eslint-disable no-console */ console.log(`Database is located at ${config.get("database", "host")}`); - /* eslint-disable no-console */ console.log(`Webserver is listening on ${config.get("webserver", "port")}`); });