// Copyright 2019 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT package files import ( "context" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/structs" asymkey_service "code.gitea.io/gitea/services/asymkey" ) // GetPayloadCommitVerification returns the verification information of a commit func GetPayloadCommitVerification(ctx context.Context, commit *git.Commit) *structs.PayloadCommitVerification { verification := &structs.PayloadCommitVerification{} commitVerification := asymkey_service.ParseCommitWithSignature(ctx, commit) if commit.Signature != nil { verification.Signature = commit.Signature.Signature verification.Payload = commit.Signature.Payload } if commitVerification.SigningUser != nil { verification.Signer = &structs.PayloadUser{ Name: commitVerification.SigningUser.Name, Email: commitVerification.SigningUser.Email, } } verification.Verified = commitVerification.Verified verification.Reason = commitVerification.Reason if verification.Reason == "" && !verification.Verified { verification.Reason = "gpg.error.not_signed_commit" } return verification }