From a41e7e0105e238161ba697ebf26d8554ae59d295 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20D=C3=A1vila?= Date: Wed, 27 Sep 2017 16:11:42 -0500 Subject: Add ability to include subkeys when finding by fingerprint --- app/models/gpg_key.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'app/models') diff --git a/app/models/gpg_key.rb b/app/models/gpg_key.rb index ed09b44027c..6d3537b6fcf 100644 --- a/app/models/gpg_key.rb +++ b/app/models/gpg_key.rb @@ -40,6 +40,17 @@ class GpgKey < ActiveRecord::Base after_commit :update_invalid_gpg_signatures, on: :create after_create :generate_subkeys + def self.find_with_subkeys(fingerprint) + keys_table = arel_table + subkeys_table = GpgKeySubkey.arel_table + + condition = keys_table[:primary_keyid].eq(fingerprint).or( + subkeys_table[:keyid].eq(fingerprint) + ) + + joins(:subkeys).where(condition).first + end + def primary_keyid super&.upcase end -- cgit v1.2.1