diff options
Diffstat (limited to 'lib/nickserver/couch_db/response.rb')
-rw-r--r-- | lib/nickserver/couch_db/response.rb | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/nickserver/couch_db/response.rb b/lib/nickserver/couch_db/response.rb index eae5cc1..427ac92 100644 --- a/lib/nickserver/couch_db/response.rb +++ b/lib/nickserver/couch_db/response.rb @@ -26,7 +26,7 @@ module Nickserver::CouchDB protected def key_response - format address: nick.to_s, openpgp: key + format keys.merge(address: nick.to_s) end def not_found_response @@ -37,8 +37,15 @@ module Nickserver::CouchDB response.to_json end - def key - rows.first['value'] + def keys + rows.first['value'].map do |k,v| + if k == 'pgp' + # created through webapps deprecated API + ['openpgp', v] + else + [k, v['value']] + end + end.to_h end def ok? @@ -46,7 +53,7 @@ module Nickserver::CouchDB end def empty? - rows.empty? + rows.empty? || keys.empty? end def rows |