diff --git a/README.md b/README.md index 6c8650e..a357de4 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,11 @@ dockerHubAPI.login(process.env.DOCKER_HUB_USERNAME, process.env.DOCKER_HUB_PASSW }); ``` +### logout() +This logs you out of Docker Hub. + +No response is sent back, but any issues will throw. + ### setLoginToken(token) This works similar to above, but uses an existing login token so that you don't need to make a login request. diff --git a/src/api.js b/src/api.js index a2b9347..312a1d9 100644 --- a/src/api.js +++ b/src/api.js @@ -69,6 +69,30 @@ }.bind(this), ); }, + /** + * This logs you out of Docker Hub. + * + * @returns {Promise} + */ + logout: function() { + return new Promise( + function(resolve, reject) { + if (!loggedInToken) { + return reject( + new Error( + 'No login token found! Please login() or setLoginToken() to continue!', + ), + ); + } + + this.makePostRequest('logout/') + .then(function() { + return resolve(); + }) + .catch(reject); + }.bind(this), + ); + }, /** * This gets information about the current logged in user. * @@ -1425,14 +1449,6 @@ makePostRequest(path, data, extract) { return new Promise( function(resolve, reject) { - if (!data || typeof data !== 'object') { - return reject( - new Error( - 'Data must be passed to all POST requests in the form of an object!', - ), - ); - } - request( this.makeRequestParams('post', path, data), function(err, res, body) {