1// Copyright 2021 Gitea. All rights reserved.
2// Use of this source code is governed by a MIT-style
3// license that can be found in the LICENSE file.
4
5package models
6
7import (
8	asymkey_model "code.gitea.io/gitea/models/asymkey"
9	repo_model "code.gitea.io/gitea/models/repo"
10	user_model "code.gitea.io/gitea/models/user"
11	"code.gitea.io/gitea/modules/git"
12)
13
14// ConvertFromGitCommit converts git commits into SignCommitWithStatuses
15func ConvertFromGitCommit(commits []*git.Commit, repo *repo_model.Repository) []*SignCommitWithStatuses {
16	return ParseCommitsWithStatus(
17		asymkey_model.ParseCommitsWithSignature(
18			user_model.ValidateCommitsWithEmails(commits),
19			repo.GetTrustModel(),
20			func(user *user_model.User) (bool, error) {
21				return IsOwnerMemberCollaborator(repo, user.ID)
22			},
23		),
24		repo,
25	)
26}
27