diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-08-18 11:17:02 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-08-18 11:17:02 +0300 |
commit | b39512ed755239198a9c294b6a45e65c05900235 (patch) | |
tree | d234a3efade1de67c46b9e5a38ce813627726aa7 /lib/gitlab/ssh | |
parent | d31474cf3b17ece37939d20082b07f6657cc79a9 (diff) |
Add latest changes from gitlab-org/gitlab@15-3-stable-eev15.3.0-rc42
Diffstat (limited to 'lib/gitlab/ssh')
-rw-r--r-- | lib/gitlab/ssh/commit.rb | 24 | ||||
-rw-r--r-- | lib/gitlab/ssh/signature.rb | 16 |
2 files changed, 32 insertions, 8 deletions
diff --git a/lib/gitlab/ssh/commit.rb b/lib/gitlab/ssh/commit.rb new file mode 100644 index 00000000000..bfeefc47f13 --- /dev/null +++ b/lib/gitlab/ssh/commit.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Gitlab + module Ssh + class Commit < Gitlab::SignedCommit + private + + def signature_class + CommitSignatures::SshSignature + end + + def attributes + signature = ::Gitlab::Ssh::Signature.new(signature_text, signed_text, @commit.committer_email) + + { + commit_sha: @commit.sha, + project: @commit.project, + key_id: signature.signed_by_key&.id, + verification_status: signature.verification_status + } + end + end + end +end diff --git a/lib/gitlab/ssh/signature.rb b/lib/gitlab/ssh/signature.rb index 1a236e1a70c..3b4df9a8d0c 100644 --- a/lib/gitlab/ssh/signature.rb +++ b/lib/gitlab/ssh/signature.rb @@ -26,6 +26,14 @@ module Gitlab end end + def signed_by_key + strong_memoize(:signed_by_key) do + next unless key_fingerprint + + Key.find_by_fingerprint_sha256(key_fingerprint) + end + end + private def all_attributes_present? @@ -61,14 +69,6 @@ module Gitlab def key_fingerprint strong_memoize(:key_fingerprint) { signature&.public_key&.fingerprint } end - - def signed_by_key - strong_memoize(:signed_by_key) do - next unless key_fingerprint - - Key.find_by_fingerprint_sha256(key_fingerprint) - end - end end end end |