From 4da94716b8f9429cf2c4770696d99b30178cbca7 Mon Sep 17 00:00:00 2001 From: Alvaro Octal Date: Sat, 16 Apr 2016 18:13:57 +0200 Subject: [PATCH] Added basic support for session - Now you can open a session, and use the account methods. --- lib/moviedb.js | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/lib/moviedb.js b/lib/moviedb.js index c2a0dbd..5bdc8a8 100644 --- a/lib/moviedb.js +++ b/lib/moviedb.js @@ -26,7 +26,7 @@ function MovieDB(api_key, base_url) { } /* - * API auth + * API request token */ MovieDB.prototype.requestToken = function(fn){ @@ -40,8 +40,34 @@ MovieDB.prototype.requestToken = function(fn){ if(err) { fn(err); } else { - self.token = res.body; - fn(); + self.token = res.body; + fn(); + } + }); + + return this; +}; + +/* + * API session + */ + +MovieDB.prototype.session = function(fn){ + var self = this; + + request + .get(endpoints.base_url + endpoints.authentication.session) + .query({'api_key': self.api_key, 'request_token': self.token.request_token}) + .set('Accept', 'application/json') + .end(function(err, res){ + if(err) { + fn(err); + } else { + if (res.body.success) { + self.session_id = res.body.session_id; + fn(); + } + else fn(res.body); } }); @@ -83,7 +109,7 @@ var execMethod = function(type, params, endpoint, fn){ type = type.toUpperCase(); var req = request(type, endpoints.base_url + endpoint) - .query({api_key : this.api_key}) + .query({api_key : this.api_key, session_id: this.session_id}) .set('Accept', 'application/json'); if (params.ifNoneMatch) {