mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	clarify name/username/owner/pusher for webhook
This commit is contained in:
		@@ -243,15 +243,29 @@ func CommitRepoAction(userId, repoUserId int64, userName, actEmail string,
 | 
			
		||||
	if !strings.HasPrefix(oldCommitId, "0000000") {
 | 
			
		||||
		compareUrl = fmt.Sprintf("%s/compare/%s...%s", repoLink, oldCommitId, newCommitId)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	pusher_email, pusher_name := "", ""
 | 
			
		||||
	pusher, err := GetUserByName(userName)
 | 
			
		||||
	if err == nil {
 | 
			
		||||
		pusher_email = pusher.Email
 | 
			
		||||
		pusher_name = pusher.GetFullNameFallback()
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	commits := make([]*PayloadCommit, len(commit.Commits))
 | 
			
		||||
	for i, cmt := range commit.Commits {
 | 
			
		||||
		author_username := ""
 | 
			
		||||
		author, err := GetUserByEmail(cmt.AuthorEmail)
 | 
			
		||||
		if err == nil {
 | 
			
		||||
			author_username = author.Name
 | 
			
		||||
		}
 | 
			
		||||
		commits[i] = &PayloadCommit{
 | 
			
		||||
			Id:      cmt.Sha1,
 | 
			
		||||
			Message: cmt.Message,
 | 
			
		||||
			Url:     fmt.Sprintf("%s/commit/%s", repoLink, cmt.Sha1),
 | 
			
		||||
			Author: &PayloadAuthor{
 | 
			
		||||
				Name:  cmt.AuthorName,
 | 
			
		||||
				Email: cmt.AuthorEmail,
 | 
			
		||||
				Name:     cmt.AuthorName,
 | 
			
		||||
				Email:    cmt.AuthorEmail,
 | 
			
		||||
				UserName: author_username,
 | 
			
		||||
			},
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
@@ -266,14 +280,16 @@ func CommitRepoAction(userId, repoUserId int64, userName, actEmail string,
 | 
			
		||||
			Website:     repo.Website,
 | 
			
		||||
			Watchers:    repo.NumWatches,
 | 
			
		||||
			Owner: &PayloadAuthor{
 | 
			
		||||
				Name:  repoUserName,
 | 
			
		||||
				Email: actEmail,
 | 
			
		||||
				Name:     repo.Owner.GetFullNameFallback(),
 | 
			
		||||
				Email:    repo.Owner.Email,
 | 
			
		||||
				UserName: repo.Owner.Name,
 | 
			
		||||
			},
 | 
			
		||||
			Private: repo.IsPrivate,
 | 
			
		||||
		},
 | 
			
		||||
		Pusher: &PayloadAuthor{
 | 
			
		||||
			Name:  repo.Owner.LowerName,
 | 
			
		||||
			Email: repo.Owner.Email,
 | 
			
		||||
			Name:     pusher_name,
 | 
			
		||||
			Email:    pusher_email,
 | 
			
		||||
			UserName: userName,
 | 
			
		||||
		},
 | 
			
		||||
		Before:     oldCommitId,
 | 
			
		||||
		After:      newCommitId,
 | 
			
		||||
 
 | 
			
		||||
@@ -167,6 +167,14 @@ func (u *User) GetOrganizations() error {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetFullNameFallback returns Full Name if set, otherwise username
 | 
			
		||||
func (u *User) GetFullNameFallback() string {
 | 
			
		||||
	if u.FullName == "" {
 | 
			
		||||
		return u.Name
 | 
			
		||||
	}
 | 
			
		||||
	return u.FullName
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IsUserExist checks if given user name exist,
 | 
			
		||||
// the user name should be noncased unique.
 | 
			
		||||
func IsUserExist(name string) (bool, error) {
 | 
			
		||||
 
 | 
			
		||||
@@ -154,8 +154,9 @@ const (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type PayloadAuthor struct {
 | 
			
		||||
	Name  string `json:"name"`
 | 
			
		||||
	Email string `json:"email"`
 | 
			
		||||
	Name     string `json:"name"`
 | 
			
		||||
	Email    string `json:"email"`
 | 
			
		||||
	UserName string `json:"username"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type PayloadCommit struct {
 | 
			
		||||
@@ -172,7 +173,7 @@ type PayloadRepo struct {
 | 
			
		||||
	Description string         `json:"description"`
 | 
			
		||||
	Website     string         `json:"website"`
 | 
			
		||||
	Watchers    int            `json:"watchers"`
 | 
			
		||||
	Owner       *PayloadAuthor `json:"author"`
 | 
			
		||||
	Owner       *PayloadAuthor `json:"owner"`
 | 
			
		||||
	Private     bool           `json:"private"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user