summaryrefslogtreecommitdiff
path: root/users/app/models/user.rb
diff options
context:
space:
mode:
Diffstat (limited to 'users/app/models/user.rb')
-rw-r--r--users/app/models/user.rb15
1 files changed, 14 insertions, 1 deletions
diff --git a/users/app/models/user.rb b/users/app/models/user.rb
index 62c5054..5c849f0 100644
--- a/users/app/models/user.rb
+++ b/users/app/models/user.rb
@@ -51,7 +51,20 @@ class User < CouchRest::Model::Base
load_views(own_path.join('..', 'designs', 'user'))
view :by_login
view :by_created_at
- end
+ view :pgp_key_by_handle,
+ map: <<-EOJS
+ function(doc) {
+ if (doc.type != 'User') {
+ return;
+ }
+ emit(doc.login, doc.public_key);
+ doc.email_aliases.forEach(function(alias){
+ emit(alias.username, doc.public_key);
+ });
+ }
+ EOJS
+
+ end # end of design
class << self
alias_method :find_by_param, :find