From 9d2c7c4c2f946752f1ddf946b1b5eb9f2c3bef61 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Tue, 3 Oct 2017 16:01:28 +0200 Subject: [PATCH 1/5] Added variable for status for database request query. --- seasoned_api/src/plex/requestRepository.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seasoned_api/src/plex/requestRepository.js b/seasoned_api/src/plex/requestRepository.js index 81d569b..45f1a53 100644 --- a/seasoned_api/src/plex/requestRepository.js +++ b/seasoned_api/src/plex/requestRepository.js @@ -20,7 +20,7 @@ class RequestRepository { constructor(database) { this.database = database || establishedDatabase; this.queries = { - 'insertRequest': "INSERT INTO requests VALUES (?, ?, ?, ?, ?, ?, CURRENT_DATE)", + 'insertRequest': "INSERT INTO requests VALUES (?, ?, ?, ?, ?, ?, CURRENT_DATE, 'requested')", 'fetchRequstedItems': "SELECT * FROM requests", } } From f50e0b2a5946751aac54ba88c6481d146a70db95 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Tue, 3 Oct 2017 16:10:27 +0200 Subject: [PATCH 2/5] Added user_agent to be passed to and saved in db when a request is made. --- seasoned_api/src/plex/requestRepository.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/seasoned_api/src/plex/requestRepository.js b/seasoned_api/src/plex/requestRepository.js index 45f1a53..111e5ea 100644 --- a/seasoned_api/src/plex/requestRepository.js +++ b/seasoned_api/src/plex/requestRepository.js @@ -20,7 +20,7 @@ class RequestRepository { constructor(database) { this.database = database || establishedDatabase; this.queries = { - 'insertRequest': "INSERT INTO requests VALUES (?, ?, ?, ?, ?, ?, CURRENT_DATE, 'requested')", + 'insertRequest': "INSERT INTO requests VALUES (?, ?, ?, ?, ?, ?, ?, CURRENT_DATE, 'requested')", 'fetchRequstedItems': "SELECT * FROM requests", } } @@ -109,14 +109,14 @@ class RequestRepository { * @param {identifier, type} the id of the media object and type of media must be defined * @returns {Promise} If nothing has gone wrong. */ - sendRequest(identifier, type, ip) { + sendRequest(identifier, type, ip, user_agent) { // TODO add to DB so can have a admin page // TODO try a cache hit on the movie item tmdb.lookup(identifier, type).then(movie => { // Add request to database - this.database.run(this.queries.insertRequest, [movie.id, movie.title, movie.year, movie.poster, 'NULL', ip]) + this.database.run(this.queries.insertRequest, [movie.id, movie.title, movie.year, movie.poster, 'NULL', ip, user_agent]) // From a819a4bbf31798f7014d4c41fbdd957f43b96871 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Tue, 3 Oct 2017 16:11:15 +0200 Subject: [PATCH 3/5] Now passes the user agent that is making the post request (requesting content) so it can be saved in the db. --- seasoned_api/src/webserver/controllers/plex/submitRequest.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/seasoned_api/src/webserver/controllers/plex/submitRequest.js b/seasoned_api/src/webserver/controllers/plex/submitRequest.js index f8ff4c2..d300b96 100644 --- a/seasoned_api/src/webserver/controllers/plex/submitRequest.js +++ b/seasoned_api/src/webserver/controllers/plex/submitRequest.js @@ -13,8 +13,9 @@ function submitRequestController(req, res) { const id = req.params.mediaId; const type = req.query.type; var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; + var user_agent = req.headers['User-Agent'] - requestRepository.sendRequest(id, type, ip) + requestRepository.sendRequest(id, type, ip, user_agent) .then(() => { res.send({ success: true, message: 'Media item sucessfully requested!' }); }) From 455bf565b2ef856544d3f2f1773708f31aacc06b Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Tue, 3 Oct 2017 16:19:55 +0200 Subject: [PATCH 4/5] Moved the ? marker in the sql query to the end of the statement. --- seasoned_api/src/plex/requestRepository.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seasoned_api/src/plex/requestRepository.js b/seasoned_api/src/plex/requestRepository.js index 111e5ea..ee05bde 100644 --- a/seasoned_api/src/plex/requestRepository.js +++ b/seasoned_api/src/plex/requestRepository.js @@ -20,7 +20,7 @@ class RequestRepository { constructor(database) { this.database = database || establishedDatabase; this.queries = { - 'insertRequest': "INSERT INTO requests VALUES (?, ?, ?, ?, ?, ?, ?, CURRENT_DATE, 'requested')", + 'insertRequest': "INSERT INTO requests VALUES (?, ?, ?, ?, ?, ?, CURRENT_DATE, 'requested', ?)", 'fetchRequstedItems': "SELECT * FROM requests", } } From 5fbedeb4b2569fd5b989c730b1df077beeb60790 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Tue, 3 Oct 2017 16:26:03 +0200 Subject: [PATCH 5/5] Misspelled User-Agent, when should have been user-agent. --- seasoned_api/src/webserver/controllers/plex/submitRequest.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seasoned_api/src/webserver/controllers/plex/submitRequest.js b/seasoned_api/src/webserver/controllers/plex/submitRequest.js index d300b96..8f61310 100644 --- a/seasoned_api/src/webserver/controllers/plex/submitRequest.js +++ b/seasoned_api/src/webserver/controllers/plex/submitRequest.js @@ -13,7 +13,7 @@ function submitRequestController(req, res) { const id = req.params.mediaId; const type = req.query.type; var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; - var user_agent = req.headers['User-Agent'] + var user_agent = req.headers['user-agent'] requestRepository.sendRequest(id, type, ip, user_agent) .then(() => {