diff options
Diffstat (limited to 'app/models/commit_signatures')
-rw-r--r-- | app/models/commit_signatures/gpg_signature.rb | 9 | ||||
-rw-r--r-- | app/models/commit_signatures/ssh_signature.rb | 9 | ||||
-rw-r--r-- | app/models/commit_signatures/x509_commit_signature.rb | 9 |
3 files changed, 27 insertions, 0 deletions
diff --git a/app/models/commit_signatures/gpg_signature.rb b/app/models/commit_signatures/gpg_signature.rb index 2ae59853520..a9e8ca2dd33 100644 --- a/app/models/commit_signatures/gpg_signature.rb +++ b/app/models/commit_signatures/gpg_signature.rb @@ -2,6 +2,7 @@ module CommitSignatures class GpgSignature < ApplicationRecord include CommitSignature + include SignatureType sha_attribute :gpg_key_primary_keyid @@ -10,6 +11,14 @@ module CommitSignatures validates :gpg_key_primary_keyid, presence: true + def signed_by_user + gpg_key&.user + end + + def type + :gpg + end + def self.with_key_and_subkeys(gpg_key) subkey_ids = gpg_key.subkeys.pluck(:id) diff --git a/app/models/commit_signatures/ssh_signature.rb b/app/models/commit_signatures/ssh_signature.rb index 7a8d0653fcd..1e64e2b2978 100644 --- a/app/models/commit_signatures/ssh_signature.rb +++ b/app/models/commit_signatures/ssh_signature.rb @@ -3,7 +3,16 @@ module CommitSignatures class SshSignature < ApplicationRecord include CommitSignature + include SignatureType belongs_to :key, optional: true + + def type + :ssh + end + + def signed_by_user + key&.user + end end end diff --git a/app/models/commit_signatures/x509_commit_signature.rb b/app/models/commit_signatures/x509_commit_signature.rb index 2cbb331dd7e..4edbc147502 100644 --- a/app/models/commit_signatures/x509_commit_signature.rb +++ b/app/models/commit_signatures/x509_commit_signature.rb @@ -2,15 +2,24 @@ module CommitSignatures class X509CommitSignature < ApplicationRecord include CommitSignature + include SignatureType belongs_to :x509_certificate, class_name: 'X509Certificate', foreign_key: 'x509_certificate_id', optional: false validates :x509_certificate_id, presence: true + def type + :x509 + end + def x509_commit return unless commit Gitlab::X509::Commit.new(commit) end + + def signed_by_user + commit&.committer + end end end |