diff options
author | Christoph <ckluente@thoughtworks.com> | 2016-06-20 14:05:06 +0200 |
---|---|---|
committer | Christoph <ckluente@thoughtworks.com> | 2016-06-20 14:05:06 +0200 |
commit | 51e4ccbd5c1ebb640679763cc8655d00f44bbeb9 (patch) | |
tree | 71398f7c2327e90288255304e14a1496ca031cb2 | |
parent | 4c7cfbd70a9dbe1c0168520c6c600b019703f289 (diff) |
fail gracefully if user does no exist
-rwxr-xr-x | destroy-user-db | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/destroy-user-db b/destroy-user-db index 00b17f1..cd17eb5 100755 --- a/destroy-user-db +++ b/destroy-user-db @@ -6,16 +6,16 @@ def main() parse_opts server = LEAP::Server.new users_db = LEAP::Users.new(server) - identities_db = server.database('identities') - all_users_db = server.database('users') record = users_db.find_by_login($username) - user_id = record.id return_code = 0 if record.nil? puts "Username #{$username} does not exist." - return_code=1 + exit 1 end + user_id = record.id dbname = "user-#{user_id}" + identities_db = server.database('identities') + all_users_db = server.database('users') begin server.database(dbname).delete! puts "Deleted DB #{dbname}" @@ -25,24 +25,24 @@ def main() end if $destroy_identities == TRUE identities_db.view('Identity/by_user_id', :reduce => false, :startkey => user_id, :endkey => user_id)['rows'].each do |row| - begin - doc = identities_db.get(row['id']) - identities_db.delete_doc(doc) - puts " deleted #{identities_db.name}/#{row['id']}" - rescue RestClient::ResourceNotFound - puts "identities DB does not exist: #{doc}" - return_code=1 - end + begin + doc = identities_db.get(row['id']) + identities_db.delete_doc(doc) + puts " deleted #{identities_db.name}/#{row['id']}" + rescue RestClient::ResourceNotFound + puts "identities DB does not exist: #{doc}" + return_code=1 + end end all_users_db.view('User/by_login', :reduce => false, :startkey => $username, :endkey => $username)['rows'].each do |row| begin - doc = all_users_db.get(user_id) - all_users_db.delete_doc(doc) - puts " deleted #{user_id} from user db" - rescue RestClient::ResourceNotFound - puts "user not found in user db: #{user_id}" - return_code=1 - end + doc = all_users_db.get(user_id) + all_users_db.delete_doc(doc) + puts " deleted #{user_id} from user db" + rescue RestClient::ResourceNotFound + puts "user not found in user db: #{user_id}" + return_code=1 + end end end exit return_code |