From cfeaecd64275221c989646ce372944d93957d92a Mon Sep 17 00:00:00 2001 From: Hans-Peter Herzog Date: Fri, 28 Oct 2016 12:20:58 +0200 Subject: [PATCH] TT#5036 Add method removeAllTokens Change-Id: Ieb34cdfac19e9bb5a0aec6799c4ccc175d7864f5 --- README.md | 8 ++++++++ src/admin.js | 16 ++++++++++++++++ test/admin-spec.js | 10 +++++++++- 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c9cb83c..ffb48fe 100644 --- a/README.md +++ b/README.md @@ -98,3 +98,11 @@ Methods (token based authentication) }).catch((err)=>{ ... }); + +### Remove all tokens + + adminClient.removeAllTokens().then((res)=>{ + ... + }).catch((err)=>{ + ... + }); diff --git a/src/admin.js b/src/admin.js index e26d36c..441698e 100644 --- a/src/admin.js +++ b/src/admin.js @@ -229,6 +229,22 @@ class Admin { }); } + removeAllTokens() { + return new Promise((resolve, reject)=>{ + this.listTokens().then((res)=>{ + var tokenRemovePromises = []; + _.forEach(res.tokens, (token)=>{ + tokenRemovePromises.push(this.removeToken(token.token)); + }); + return Promise.all(tokenRemovePromises); + }).then(()=>{ + resolve(); + }).catch((err)=>{ + reject(err); + }); + }); + } + } module.exports.JanusAdmin = Admin; diff --git a/test/admin-spec.js b/test/admin-spec.js index 5ad8d31..b8df06e 100644 --- a/test/admin-spec.js +++ b/test/admin-spec.js @@ -176,7 +176,15 @@ describe('Admin', function() { }); it('should remove a token', function(done){ - adminClient.removeToken(exampleToken).then((res)=>{ + adminClient.removeToken(exampleToken).then(()=>{ + done(); + }).catch((err)=>{ + done(err); + }); + }); + + it('should remove all tokens', function(done){ + adminClient.removeAllTokens().then(()=>{ done(); }).catch((err)=>{ done(err);