From 0d622c2164a97c80027f113b7fce5878b4f585bb Mon Sep 17 00:00:00 2001 From: Azul Date: Mon, 5 Feb 2018 09:27:48 +0100 Subject: feature: hand out other key types like katzenpost keys --- lib/nickserver/couch_db/response.rb | 15 +++++++++++---- lib/nickserver/couch_db/source.rb | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) (limited to 'lib') 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 diff --git a/lib/nickserver/couch_db/source.rb b/lib/nickserver/couch_db/source.rb index b7531e4..7799ede 100644 --- a/lib/nickserver/couch_db/source.rb +++ b/lib/nickserver/couch_db/source.rb @@ -9,7 +9,7 @@ module Nickserver::CouchDB class Error < StandardError; end class Source < Nickserver::Source - VIEW = '/_design/Identity/_view/pgp_key_by_email'.freeze + VIEW = '/_design/Identity/_view/keys_by_email'.freeze UNEXPECTED_RESPONSE_CODES = [401, 500].freeze def query(nick) -- cgit v1.2.3