[bitwarden] default fetch raises NoMethodError

When fetched item is not a login, Bitwarden adapter raises NoMethodError
because the returned JSON does not have the login.password value.

Add a nicer error message for that case.
This commit is contained in:
Jan Sterba
2024-09-28 12:03:07 +02:00
parent 5036f8843f
commit 29b02f5c30
2 changed files with 38 additions and 1 deletions

View File

@@ -35,8 +35,10 @@ class Kamal::Secrets::Adapters::Bitwarden < Kamal::Secrets::Adapters::Base
value = item_field["value"]
results["#{item}/#{field}"] = value
end
elsif item_json.dig("login", "password")
results[item] = item_json.dig("login", "password")
else
results[item] = item_json["login"]["password"]
raise RuntimeError, "Item #{item} is not a login type item and no fields were specified"
end
end
end