From d802b88998b022b3711ad4f34adfe49a51df2ab2 Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Wed, 7 Sep 2016 10:42:55 -0700 Subject: [PATCH] delete tokens when deleting a client fixes #36 --- src/clients.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/clients.js b/src/clients.js index ec71db86e..648a407bf 100644 --- a/src/clients.js +++ b/src/clients.js @@ -258,10 +258,19 @@ function delByAppIdAndType(appId, type, callback) { assert.strictEqual(typeof type, 'string'); assert.strictEqual(typeof callback, 'function'); - clientdb.delByAppIdAndType(appId, type, function (error) { - if (error && error.reason === DatabaseError.NOT_FOUND) return callback(new ClientsError(ClientsError.NOT_FOUND, 'No such client')); + getByAppIdAndType(appId, type, function (error, result) { if (error) return callback(error); - callback(null); + + tokendb.delByClientId(result.id, function (error) { + if (error && error.reason !== DatabaseError.NOT_FOUND) return callback(new ClientsError(ClientsError.INTERNAL_ERROR, error)); + + clientdb.delByAppIdAndType(appId, type, function (error) { + if (error && error.reason === DatabaseError.NOT_FOUND) return callback(new ClientsError(ClientsError.NOT_FOUND, 'No such client')); + if (error) return callback(error); + + callback(null); + }); + }); }); }