mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	[refactor] Unify the export of user data via API (#15144)
* [refactor] unify how user data is exported via API * test time via unix timestamp
This commit is contained in:
		@@ -61,7 +61,7 @@ func TestAPIIssuesReactions(t *testing.T) {
 | 
				
			|||||||
	DecodeJSON(t, resp, &apiReactions)
 | 
						DecodeJSON(t, resp, &apiReactions)
 | 
				
			||||||
	expectResponse := make(map[int]api.Reaction)
 | 
						expectResponse := make(map[int]api.Reaction)
 | 
				
			||||||
	expectResponse[0] = api.Reaction{
 | 
						expectResponse[0] = api.Reaction{
 | 
				
			||||||
		User:     convert.ToUser(user2, true, true),
 | 
							User:     convert.ToUser(user2, user2),
 | 
				
			||||||
		Reaction: "eyes",
 | 
							Reaction: "eyes",
 | 
				
			||||||
		Created:  time.Unix(1573248003, 0),
 | 
							Created:  time.Unix(1573248003, 0),
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -121,12 +121,12 @@ func TestAPICommentReactions(t *testing.T) {
 | 
				
			|||||||
	DecodeJSON(t, resp, &apiReactions)
 | 
						DecodeJSON(t, resp, &apiReactions)
 | 
				
			||||||
	expectResponse := make(map[int]api.Reaction)
 | 
						expectResponse := make(map[int]api.Reaction)
 | 
				
			||||||
	expectResponse[0] = api.Reaction{
 | 
						expectResponse[0] = api.Reaction{
 | 
				
			||||||
		User:     convert.ToUser(user2, true, true),
 | 
							User:     convert.ToUser(user2, user2),
 | 
				
			||||||
		Reaction: "laugh",
 | 
							Reaction: "laugh",
 | 
				
			||||||
		Created:  time.Unix(1573248004, 0),
 | 
							Created:  time.Unix(1573248004, 0),
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	expectResponse[1] = api.Reaction{
 | 
						expectResponse[1] = api.Reaction{
 | 
				
			||||||
		User:     convert.ToUser(user1, true, true),
 | 
							User:     convert.ToUser(user1, user1),
 | 
				
			||||||
		Reaction: "laugh",
 | 
							Reaction: "laugh",
 | 
				
			||||||
		Created:  time.Unix(1573248005, 0),
 | 
							Created:  time.Unix(1573248005, 0),
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,5 +31,13 @@ func TestAPITeamUser(t *testing.T) {
 | 
				
			|||||||
	user2.Created = user2.Created.In(time.Local)
 | 
						user2.Created = user2.Created.In(time.Local)
 | 
				
			||||||
	user := models.AssertExistsAndLoadBean(t, &models.User{Name: "user2"}).(*models.User)
 | 
						user := models.AssertExistsAndLoadBean(t, &models.User{Name: "user2"}).(*models.User)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	assert.Equal(t, convert.ToUser(user, true, false), user2)
 | 
						expectedUser := convert.ToUser(user, user)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// test time via unix timestamp
 | 
				
			||||||
 | 
						assert.EqualValues(t, expectedUser.LastLogin.Unix(), user2.LastLogin.Unix())
 | 
				
			||||||
 | 
						assert.EqualValues(t, expectedUser.Created.Unix(), user2.Created.Unix())
 | 
				
			||||||
 | 
						expectedUser.LastLogin = user2.LastLogin
 | 
				
			||||||
 | 
						expectedUser.Created = user2.Created
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						assert.Equal(t, expectedUser, user2)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -86,13 +86,13 @@ func ToCommit(repo *models.Repository, commit *git.Commit, userCache map[string]
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ok {
 | 
						if ok {
 | 
				
			||||||
		apiAuthor = ToUser(cacheAuthor, false, false)
 | 
							apiAuthor = ToUser(cacheAuthor, nil)
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		author, err := models.GetUserByEmail(commit.Author.Email)
 | 
							author, err := models.GetUserByEmail(commit.Author.Email)
 | 
				
			||||||
		if err != nil && !models.IsErrUserNotExist(err) {
 | 
							if err != nil && !models.IsErrUserNotExist(err) {
 | 
				
			||||||
			return nil, err
 | 
								return nil, err
 | 
				
			||||||
		} else if err == nil {
 | 
							} else if err == nil {
 | 
				
			||||||
			apiAuthor = ToUser(author, false, false)
 | 
								apiAuthor = ToUser(author, nil)
 | 
				
			||||||
			if userCache != nil {
 | 
								if userCache != nil {
 | 
				
			||||||
				userCache[commit.Author.Email] = author
 | 
									userCache[commit.Author.Email] = author
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@@ -108,13 +108,13 @@ func ToCommit(repo *models.Repository, commit *git.Commit, userCache map[string]
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ok {
 | 
						if ok {
 | 
				
			||||||
		apiCommitter = ToUser(cacheCommitter, false, false)
 | 
							apiCommitter = ToUser(cacheCommitter, nil)
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		committer, err := models.GetUserByEmail(commit.Committer.Email)
 | 
							committer, err := models.GetUserByEmail(commit.Committer.Email)
 | 
				
			||||||
		if err != nil && !models.IsErrUserNotExist(err) {
 | 
							if err != nil && !models.IsErrUserNotExist(err) {
 | 
				
			||||||
			return nil, err
 | 
								return nil, err
 | 
				
			||||||
		} else if err == nil {
 | 
							} else if err == nil {
 | 
				
			||||||
			apiCommitter = ToUser(committer, false, false)
 | 
								apiCommitter = ToUser(committer, nil)
 | 
				
			||||||
			if userCache != nil {
 | 
								if userCache != nil {
 | 
				
			||||||
				userCache[commit.Committer.Email] = committer
 | 
									userCache[commit.Committer.Email] = committer
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,7 +31,7 @@ func ToAPIIssue(issue *models.Issue) *api.Issue {
 | 
				
			|||||||
		URL:      issue.APIURL(),
 | 
							URL:      issue.APIURL(),
 | 
				
			||||||
		HTMLURL:  issue.HTMLURL(),
 | 
							HTMLURL:  issue.HTMLURL(),
 | 
				
			||||||
		Index:    issue.Index,
 | 
							Index:    issue.Index,
 | 
				
			||||||
		Poster:   ToUser(issue.Poster, false, false),
 | 
							Poster:   ToUser(issue.Poster, nil),
 | 
				
			||||||
		Title:    issue.Title,
 | 
							Title:    issue.Title,
 | 
				
			||||||
		Body:     issue.Content,
 | 
							Body:     issue.Content,
 | 
				
			||||||
		Ref:      issue.Ref,
 | 
							Ref:      issue.Ref,
 | 
				
			||||||
@@ -66,9 +66,9 @@ func ToAPIIssue(issue *models.Issue) *api.Issue {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	if len(issue.Assignees) > 0 {
 | 
						if len(issue.Assignees) > 0 {
 | 
				
			||||||
		for _, assignee := range issue.Assignees {
 | 
							for _, assignee := range issue.Assignees {
 | 
				
			||||||
			apiIssue.Assignees = append(apiIssue.Assignees, ToUser(assignee, false, false))
 | 
								apiIssue.Assignees = append(apiIssue.Assignees, ToUser(assignee, nil))
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		apiIssue.Assignee = ToUser(issue.Assignees[0], false, false) // For compatibility, we're keeping the first assignee as `apiIssue.Assignee`
 | 
							apiIssue.Assignee = ToUser(issue.Assignees[0], nil) // For compatibility, we're keeping the first assignee as `apiIssue.Assignee`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if issue.IsPull {
 | 
						if issue.IsPull {
 | 
				
			||||||
		if err := issue.LoadPullRequest(); err != nil {
 | 
							if err := issue.LoadPullRequest(); err != nil {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,7 @@ import (
 | 
				
			|||||||
func ToComment(c *models.Comment) *api.Comment {
 | 
					func ToComment(c *models.Comment) *api.Comment {
 | 
				
			||||||
	return &api.Comment{
 | 
						return &api.Comment{
 | 
				
			||||||
		ID:       c.ID,
 | 
							ID:       c.ID,
 | 
				
			||||||
		Poster:   ToUser(c.Poster, false, false),
 | 
							Poster:   ToUser(c.Poster, nil),
 | 
				
			||||||
		HTMLURL:  c.HTMLURL(),
 | 
							HTMLURL:  c.HTMLURL(),
 | 
				
			||||||
		IssueURL: c.IssueURL(),
 | 
							IssueURL: c.IssueURL(),
 | 
				
			||||||
		PRURL:    c.PRURL(),
 | 
							PRURL:    c.PRURL(),
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -159,7 +159,7 @@ func ToAPIPullRequest(pr *models.PullRequest) *api.PullRequest {
 | 
				
			|||||||
	if pr.HasMerged {
 | 
						if pr.HasMerged {
 | 
				
			||||||
		apiPullRequest.Merged = pr.MergedUnix.AsTimePtr()
 | 
							apiPullRequest.Merged = pr.MergedUnix.AsTimePtr()
 | 
				
			||||||
		apiPullRequest.MergedCommitID = &pr.MergedCommitID
 | 
							apiPullRequest.MergedCommitID = &pr.MergedCommitID
 | 
				
			||||||
		apiPullRequest.MergedBy = ToUser(pr.Merger, false, false)
 | 
							apiPullRequest.MergedBy = ToUser(pr.Merger, nil)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return apiPullRequest
 | 
						return apiPullRequest
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,14 +20,9 @@ func ToPullReview(r *models.Review, doer *models.User) (*api.PullReview, error)
 | 
				
			|||||||
		r.Reviewer = models.NewGhostUser()
 | 
							r.Reviewer = models.NewGhostUser()
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	auth := false
 | 
					 | 
				
			||||||
	if doer != nil {
 | 
					 | 
				
			||||||
		auth = doer.IsAdmin || doer.ID == r.ReviewerID
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	result := &api.PullReview{
 | 
						result := &api.PullReview{
 | 
				
			||||||
		ID:                r.ID,
 | 
							ID:                r.ID,
 | 
				
			||||||
		Reviewer:          ToUser(r.Reviewer, doer != nil, auth),
 | 
							Reviewer:          ToUser(r.Reviewer, doer),
 | 
				
			||||||
		ReviewerTeam:      ToTeam(r.ReviewerTeam),
 | 
							ReviewerTeam:      ToTeam(r.ReviewerTeam),
 | 
				
			||||||
		State:             api.ReviewStateUnknown,
 | 
							State:             api.ReviewStateUnknown,
 | 
				
			||||||
		Body:              r.Content,
 | 
							Body:              r.Content,
 | 
				
			||||||
@@ -88,14 +83,10 @@ func ToPullReviewCommentList(review *models.Review, doer *models.User) ([]*api.P
 | 
				
			|||||||
	for _, lines := range review.CodeComments {
 | 
						for _, lines := range review.CodeComments {
 | 
				
			||||||
		for _, comments := range lines {
 | 
							for _, comments := range lines {
 | 
				
			||||||
			for _, comment := range comments {
 | 
								for _, comment := range comments {
 | 
				
			||||||
				auth := false
 | 
					 | 
				
			||||||
				if doer != nil {
 | 
					 | 
				
			||||||
					auth = doer.IsAdmin || doer.ID == comment.Poster.ID
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				apiComment := &api.PullReviewComment{
 | 
									apiComment := &api.PullReviewComment{
 | 
				
			||||||
					ID:           comment.ID,
 | 
										ID:           comment.ID,
 | 
				
			||||||
					Body:         comment.Content,
 | 
										Body:         comment.Content,
 | 
				
			||||||
					Reviewer:     ToUser(comment.Poster, doer != nil, auth),
 | 
										Reviewer:     ToUser(comment.Poster, doer),
 | 
				
			||||||
					ReviewID:     review.ID,
 | 
										ReviewID:     review.ID,
 | 
				
			||||||
					Created:      comment.CreatedUnix.AsTime(),
 | 
										Created:      comment.CreatedUnix.AsTime(),
 | 
				
			||||||
					Updated:      comment.UpdatedUnix.AsTime(),
 | 
										Updated:      comment.UpdatedUnix.AsTime(),
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,7 +29,7 @@ func ToRelease(r *models.Release) *api.Release {
 | 
				
			|||||||
		IsPrerelease: r.IsPrerelease,
 | 
							IsPrerelease: r.IsPrerelease,
 | 
				
			||||||
		CreatedAt:    r.CreatedUnix.AsTime(),
 | 
							CreatedAt:    r.CreatedUnix.AsTime(),
 | 
				
			||||||
		PublishedAt:  r.CreatedUnix.AsTime(),
 | 
							PublishedAt:  r.CreatedUnix.AsTime(),
 | 
				
			||||||
		Publisher:    ToUser(r.Publisher, false, false),
 | 
							Publisher:    ToUser(r.Publisher, nil),
 | 
				
			||||||
		Attachments:  assets,
 | 
							Attachments:  assets,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -102,7 +102,7 @@ func innerToRepo(repo *models.Repository, mode models.AccessMode, isParent bool)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	return &api.Repository{
 | 
						return &api.Repository{
 | 
				
			||||||
		ID:                        repo.ID,
 | 
							ID:                        repo.ID,
 | 
				
			||||||
		Owner:                     ToUser(repo.Owner, mode != models.AccessModeNone, mode >= models.AccessModeAdmin),
 | 
							Owner:                     ToUserWithAccessMode(repo.Owner, mode),
 | 
				
			||||||
		Name:                      repo.Name,
 | 
							Name:                      repo.Name,
 | 
				
			||||||
		FullName:                  repo.FullName(),
 | 
							FullName:                  repo.FullName(),
 | 
				
			||||||
		Description:               repo.Description,
 | 
							Description:               repo.Description,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,7 +24,7 @@ func ToCommitStatus(status *models.CommitStatus) *api.CommitStatus {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	if status.CreatorID != 0 {
 | 
						if status.CreatorID != 0 {
 | 
				
			||||||
		creator, _ := models.GetUserByID(status.CreatorID)
 | 
							creator, _ := models.GetUserByID(status.CreatorID)
 | 
				
			||||||
		apiStatus.Creator = ToUser(creator, false, false)
 | 
							apiStatus.Creator = ToUser(creator, nil)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return apiStatus
 | 
						return apiStatus
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,11 +11,32 @@ import (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ToUser convert models.User to api.User
 | 
					// ToUser convert models.User to api.User
 | 
				
			||||||
// signed shall only be set if requester is logged in. authed shall only be set if user is site admin or user himself
 | 
					// if doer is set, private information is added if the doer has the permission to see it
 | 
				
			||||||
func ToUser(user *models.User, signed, authed bool) *api.User {
 | 
					func ToUser(user, doer *models.User) *api.User {
 | 
				
			||||||
	if user == nil {
 | 
						if user == nil {
 | 
				
			||||||
		return nil
 | 
							return nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						authed := false
 | 
				
			||||||
 | 
						signed := false
 | 
				
			||||||
 | 
						if doer != nil {
 | 
				
			||||||
 | 
							signed = true
 | 
				
			||||||
 | 
							authed = doer.ID == user.ID || doer.IsAdmin
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return toUser(user, signed, authed)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ToUserWithAccessMode convert models.User to api.User
 | 
				
			||||||
 | 
					// AccessMode is not none show add some more information
 | 
				
			||||||
 | 
					func ToUserWithAccessMode(user *models.User, accessMode models.AccessMode) *api.User {
 | 
				
			||||||
 | 
						if user == nil {
 | 
				
			||||||
 | 
							return nil
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return toUser(user, accessMode != models.AccessModeNone, false)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// toUser convert models.User to api.User
 | 
				
			||||||
 | 
					// signed shall only be set if requester is logged in. authed shall only be set if user is site admin or user himself
 | 
				
			||||||
 | 
					func toUser(user *models.User, signed, authed bool) *api.User {
 | 
				
			||||||
	result := &api.User{
 | 
						result := &api.User{
 | 
				
			||||||
		ID:         user.ID,
 | 
							ID:         user.ID,
 | 
				
			||||||
		UserName:   user.Name,
 | 
							UserName:   user.Name,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,14 +15,14 @@ func TestUser_ToUser(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	user1 := models.AssertExistsAndLoadBean(t, &models.User{ID: 1, IsAdmin: true}).(*models.User)
 | 
						user1 := models.AssertExistsAndLoadBean(t, &models.User{ID: 1, IsAdmin: true}).(*models.User)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	apiUser := ToUser(user1, true, true)
 | 
						apiUser := toUser(user1, true, true)
 | 
				
			||||||
	assert.True(t, apiUser.IsAdmin)
 | 
						assert.True(t, apiUser.IsAdmin)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	user2 := models.AssertExistsAndLoadBean(t, &models.User{ID: 2, IsAdmin: false}).(*models.User)
 | 
						user2 := models.AssertExistsAndLoadBean(t, &models.User{ID: 2, IsAdmin: false}).(*models.User)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	apiUser = ToUser(user2, true, true)
 | 
						apiUser = toUser(user2, true, true)
 | 
				
			||||||
	assert.False(t, apiUser.IsAdmin)
 | 
						assert.False(t, apiUser.IsAdmin)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	apiUser = ToUser(user1, false, false)
 | 
						apiUser = toUser(user1, false, false)
 | 
				
			||||||
	assert.False(t, apiUser.IsAdmin)
 | 
						assert.False(t, apiUser.IsAdmin)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -53,7 +53,7 @@ func (m *webhookNotifier) NotifyIssueClearLabels(doer *models.User, issue *model
 | 
				
			|||||||
			Index:       issue.Index,
 | 
								Index:       issue.Index,
 | 
				
			||||||
			PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
								PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
				
			||||||
			Repository:  convert.ToRepo(issue.Repo, mode),
 | 
								Repository:  convert.ToRepo(issue.Repo, mode),
 | 
				
			||||||
			Sender:      convert.ToUser(doer, false, false),
 | 
								Sender:      convert.ToUser(doer, nil),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		err = webhook_services.PrepareWebhooks(issue.Repo, models.HookEventIssueLabel, &api.IssuePayload{
 | 
							err = webhook_services.PrepareWebhooks(issue.Repo, models.HookEventIssueLabel, &api.IssuePayload{
 | 
				
			||||||
@@ -61,7 +61,7 @@ func (m *webhookNotifier) NotifyIssueClearLabels(doer *models.User, issue *model
 | 
				
			|||||||
			Index:      issue.Index,
 | 
								Index:      issue.Index,
 | 
				
			||||||
			Issue:      convert.ToAPIIssue(issue),
 | 
								Issue:      convert.ToAPIIssue(issue),
 | 
				
			||||||
			Repository: convert.ToRepo(issue.Repo, mode),
 | 
								Repository: convert.ToRepo(issue.Repo, mode),
 | 
				
			||||||
			Sender:     convert.ToUser(doer, false, false),
 | 
								Sender:     convert.ToUser(doer, nil),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
@@ -77,7 +77,7 @@ func (m *webhookNotifier) NotifyForkRepository(doer *models.User, oldRepo, repo
 | 
				
			|||||||
	if err := webhook_services.PrepareWebhooks(oldRepo, models.HookEventFork, &api.ForkPayload{
 | 
						if err := webhook_services.PrepareWebhooks(oldRepo, models.HookEventFork, &api.ForkPayload{
 | 
				
			||||||
		Forkee: convert.ToRepo(oldRepo, oldMode),
 | 
							Forkee: convert.ToRepo(oldRepo, oldMode),
 | 
				
			||||||
		Repo:   convert.ToRepo(repo, mode),
 | 
							Repo:   convert.ToRepo(repo, mode),
 | 
				
			||||||
		Sender: convert.ToUser(doer, false, false),
 | 
							Sender: convert.ToUser(doer, nil),
 | 
				
			||||||
	}); err != nil {
 | 
						}); err != nil {
 | 
				
			||||||
		log.Error("PrepareWebhooks [repo_id: %d]: %v", oldRepo.ID, err)
 | 
							log.Error("PrepareWebhooks [repo_id: %d]: %v", oldRepo.ID, err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -89,8 +89,8 @@ func (m *webhookNotifier) NotifyForkRepository(doer *models.User, oldRepo, repo
 | 
				
			|||||||
		if err := webhook_services.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{
 | 
							if err := webhook_services.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{
 | 
				
			||||||
			Action:       api.HookRepoCreated,
 | 
								Action:       api.HookRepoCreated,
 | 
				
			||||||
			Repository:   convert.ToRepo(repo, models.AccessModeOwner),
 | 
								Repository:   convert.ToRepo(repo, models.AccessModeOwner),
 | 
				
			||||||
			Organization: convert.ToUser(u, false, false),
 | 
								Organization: convert.ToUser(u, nil),
 | 
				
			||||||
			Sender:       convert.ToUser(doer, false, false),
 | 
								Sender:       convert.ToUser(doer, nil),
 | 
				
			||||||
		}); err != nil {
 | 
							}); err != nil {
 | 
				
			||||||
			log.Error("PrepareWebhooks [repo_id: %d]: %v", repo.ID, err)
 | 
								log.Error("PrepareWebhooks [repo_id: %d]: %v", repo.ID, err)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@@ -102,8 +102,8 @@ func (m *webhookNotifier) NotifyCreateRepository(doer *models.User, u *models.Us
 | 
				
			|||||||
	if err := webhook_services.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{
 | 
						if err := webhook_services.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{
 | 
				
			||||||
		Action:       api.HookRepoCreated,
 | 
							Action:       api.HookRepoCreated,
 | 
				
			||||||
		Repository:   convert.ToRepo(repo, models.AccessModeOwner),
 | 
							Repository:   convert.ToRepo(repo, models.AccessModeOwner),
 | 
				
			||||||
		Organization: convert.ToUser(u, false, false),
 | 
							Organization: convert.ToUser(u, nil),
 | 
				
			||||||
		Sender:       convert.ToUser(doer, false, false),
 | 
							Sender:       convert.ToUser(doer, nil),
 | 
				
			||||||
	}); err != nil {
 | 
						}); err != nil {
 | 
				
			||||||
		log.Error("PrepareWebhooks [repo_id: %d]: %v", repo.ID, err)
 | 
							log.Error("PrepareWebhooks [repo_id: %d]: %v", repo.ID, err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -115,8 +115,8 @@ func (m *webhookNotifier) NotifyDeleteRepository(doer *models.User, repo *models
 | 
				
			|||||||
	if err := webhook_services.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{
 | 
						if err := webhook_services.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{
 | 
				
			||||||
		Action:       api.HookRepoDeleted,
 | 
							Action:       api.HookRepoDeleted,
 | 
				
			||||||
		Repository:   convert.ToRepo(repo, models.AccessModeOwner),
 | 
							Repository:   convert.ToRepo(repo, models.AccessModeOwner),
 | 
				
			||||||
		Organization: convert.ToUser(u, false, false),
 | 
							Organization: convert.ToUser(u, nil),
 | 
				
			||||||
		Sender:       convert.ToUser(doer, false, false),
 | 
							Sender:       convert.ToUser(doer, nil),
 | 
				
			||||||
	}); err != nil {
 | 
						}); err != nil {
 | 
				
			||||||
		log.Error("PrepareWebhooks [repo_id: %d]: %v", repo.ID, err)
 | 
							log.Error("PrepareWebhooks [repo_id: %d]: %v", repo.ID, err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -127,8 +127,8 @@ func (m *webhookNotifier) NotifyMigrateRepository(doer *models.User, u *models.U
 | 
				
			|||||||
	if err := webhook_services.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{
 | 
						if err := webhook_services.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{
 | 
				
			||||||
		Action:       api.HookRepoCreated,
 | 
							Action:       api.HookRepoCreated,
 | 
				
			||||||
		Repository:   convert.ToRepo(repo, models.AccessModeOwner),
 | 
							Repository:   convert.ToRepo(repo, models.AccessModeOwner),
 | 
				
			||||||
		Organization: convert.ToUser(u, false, false),
 | 
							Organization: convert.ToUser(u, nil),
 | 
				
			||||||
		Sender:       convert.ToUser(doer, false, false),
 | 
							Sender:       convert.ToUser(doer, nil),
 | 
				
			||||||
	}); err != nil {
 | 
						}); err != nil {
 | 
				
			||||||
		log.Error("PrepareWebhooks [repo_id: %d]: %v", repo.ID, err)
 | 
							log.Error("PrepareWebhooks [repo_id: %d]: %v", repo.ID, err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -147,7 +147,7 @@ func (m *webhookNotifier) NotifyIssueChangeAssignee(doer *models.User, issue *mo
 | 
				
			|||||||
			Index:       issue.Index,
 | 
								Index:       issue.Index,
 | 
				
			||||||
			PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
								PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
				
			||||||
			Repository:  convert.ToRepo(issue.Repo, mode),
 | 
								Repository:  convert.ToRepo(issue.Repo, mode),
 | 
				
			||||||
			Sender:      convert.ToUser(doer, false, false),
 | 
								Sender:      convert.ToUser(doer, nil),
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if removed {
 | 
							if removed {
 | 
				
			||||||
			apiPullRequest.Action = api.HookIssueUnassigned
 | 
								apiPullRequest.Action = api.HookIssueUnassigned
 | 
				
			||||||
@@ -165,7 +165,7 @@ func (m *webhookNotifier) NotifyIssueChangeAssignee(doer *models.User, issue *mo
 | 
				
			|||||||
			Index:      issue.Index,
 | 
								Index:      issue.Index,
 | 
				
			||||||
			Issue:      convert.ToAPIIssue(issue),
 | 
								Issue:      convert.ToAPIIssue(issue),
 | 
				
			||||||
			Repository: convert.ToRepo(issue.Repo, mode),
 | 
								Repository: convert.ToRepo(issue.Repo, mode),
 | 
				
			||||||
			Sender:     convert.ToUser(doer, false, false),
 | 
								Sender:     convert.ToUser(doer, nil),
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if removed {
 | 
							if removed {
 | 
				
			||||||
			apiIssue.Action = api.HookIssueUnassigned
 | 
								apiIssue.Action = api.HookIssueUnassigned
 | 
				
			||||||
@@ -199,7 +199,7 @@ func (m *webhookNotifier) NotifyIssueChangeTitle(doer *models.User, issue *model
 | 
				
			|||||||
			},
 | 
								},
 | 
				
			||||||
			PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
								PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
				
			||||||
			Repository:  convert.ToRepo(issue.Repo, mode),
 | 
								Repository:  convert.ToRepo(issue.Repo, mode),
 | 
				
			||||||
			Sender:      convert.ToUser(doer, false, false),
 | 
								Sender:      convert.ToUser(doer, nil),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		err = webhook_services.PrepareWebhooks(issue.Repo, models.HookEventIssues, &api.IssuePayload{
 | 
							err = webhook_services.PrepareWebhooks(issue.Repo, models.HookEventIssues, &api.IssuePayload{
 | 
				
			||||||
@@ -212,7 +212,7 @@ func (m *webhookNotifier) NotifyIssueChangeTitle(doer *models.User, issue *model
 | 
				
			|||||||
			},
 | 
								},
 | 
				
			||||||
			Issue:      convert.ToAPIIssue(issue),
 | 
								Issue:      convert.ToAPIIssue(issue),
 | 
				
			||||||
			Repository: convert.ToRepo(issue.Repo, mode),
 | 
								Repository: convert.ToRepo(issue.Repo, mode),
 | 
				
			||||||
			Sender:     convert.ToUser(issue.Poster, false, false),
 | 
								Sender:     convert.ToUser(issue.Poster, nil),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -234,7 +234,7 @@ func (m *webhookNotifier) NotifyIssueChangeStatus(doer *models.User, issue *mode
 | 
				
			|||||||
			Index:       issue.Index,
 | 
								Index:       issue.Index,
 | 
				
			||||||
			PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
								PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
				
			||||||
			Repository:  convert.ToRepo(issue.Repo, mode),
 | 
								Repository:  convert.ToRepo(issue.Repo, mode),
 | 
				
			||||||
			Sender:      convert.ToUser(doer, false, false),
 | 
								Sender:      convert.ToUser(doer, nil),
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if isClosed {
 | 
							if isClosed {
 | 
				
			||||||
			apiPullRequest.Action = api.HookIssueClosed
 | 
								apiPullRequest.Action = api.HookIssueClosed
 | 
				
			||||||
@@ -247,7 +247,7 @@ func (m *webhookNotifier) NotifyIssueChangeStatus(doer *models.User, issue *mode
 | 
				
			|||||||
			Index:      issue.Index,
 | 
								Index:      issue.Index,
 | 
				
			||||||
			Issue:      convert.ToAPIIssue(issue),
 | 
								Issue:      convert.ToAPIIssue(issue),
 | 
				
			||||||
			Repository: convert.ToRepo(issue.Repo, mode),
 | 
								Repository: convert.ToRepo(issue.Repo, mode),
 | 
				
			||||||
			Sender:     convert.ToUser(doer, false, false),
 | 
								Sender:     convert.ToUser(doer, nil),
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if isClosed {
 | 
							if isClosed {
 | 
				
			||||||
			apiIssue.Action = api.HookIssueClosed
 | 
								apiIssue.Action = api.HookIssueClosed
 | 
				
			||||||
@@ -277,7 +277,7 @@ func (m *webhookNotifier) NotifyNewIssue(issue *models.Issue, mentions []*models
 | 
				
			|||||||
		Index:      issue.Index,
 | 
							Index:      issue.Index,
 | 
				
			||||||
		Issue:      convert.ToAPIIssue(issue),
 | 
							Issue:      convert.ToAPIIssue(issue),
 | 
				
			||||||
		Repository: convert.ToRepo(issue.Repo, mode),
 | 
							Repository: convert.ToRepo(issue.Repo, mode),
 | 
				
			||||||
		Sender:     convert.ToUser(issue.Poster, false, false),
 | 
							Sender:     convert.ToUser(issue.Poster, nil),
 | 
				
			||||||
	}); err != nil {
 | 
						}); err != nil {
 | 
				
			||||||
		log.Error("PrepareWebhooks: %v", err)
 | 
							log.Error("PrepareWebhooks: %v", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -303,7 +303,7 @@ func (m *webhookNotifier) NotifyNewPullRequest(pull *models.PullRequest, mention
 | 
				
			|||||||
		Index:       pull.Issue.Index,
 | 
							Index:       pull.Issue.Index,
 | 
				
			||||||
		PullRequest: convert.ToAPIPullRequest(pull),
 | 
							PullRequest: convert.ToAPIPullRequest(pull),
 | 
				
			||||||
		Repository:  convert.ToRepo(pull.Issue.Repo, mode),
 | 
							Repository:  convert.ToRepo(pull.Issue.Repo, mode),
 | 
				
			||||||
		Sender:      convert.ToUser(pull.Issue.Poster, false, false),
 | 
							Sender:      convert.ToUser(pull.Issue.Poster, nil),
 | 
				
			||||||
	}); err != nil {
 | 
						}); err != nil {
 | 
				
			||||||
		log.Error("PrepareWebhooks: %v", err)
 | 
							log.Error("PrepareWebhooks: %v", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -324,7 +324,7 @@ func (m *webhookNotifier) NotifyIssueChangeContent(doer *models.User, issue *mod
 | 
				
			|||||||
			},
 | 
								},
 | 
				
			||||||
			PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
								PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
				
			||||||
			Repository:  convert.ToRepo(issue.Repo, mode),
 | 
								Repository:  convert.ToRepo(issue.Repo, mode),
 | 
				
			||||||
			Sender:      convert.ToUser(doer, false, false),
 | 
								Sender:      convert.ToUser(doer, nil),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		err = webhook_services.PrepareWebhooks(issue.Repo, models.HookEventIssues, &api.IssuePayload{
 | 
							err = webhook_services.PrepareWebhooks(issue.Repo, models.HookEventIssues, &api.IssuePayload{
 | 
				
			||||||
@@ -337,7 +337,7 @@ func (m *webhookNotifier) NotifyIssueChangeContent(doer *models.User, issue *mod
 | 
				
			|||||||
			},
 | 
								},
 | 
				
			||||||
			Issue:      convert.ToAPIIssue(issue),
 | 
								Issue:      convert.ToAPIIssue(issue),
 | 
				
			||||||
			Repository: convert.ToRepo(issue.Repo, mode),
 | 
								Repository: convert.ToRepo(issue.Repo, mode),
 | 
				
			||||||
			Sender:     convert.ToUser(doer, false, false),
 | 
								Sender:     convert.ToUser(doer, nil),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
@@ -374,7 +374,7 @@ func (m *webhookNotifier) NotifyUpdateComment(doer *models.User, c *models.Comme
 | 
				
			|||||||
				},
 | 
									},
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			Repository: convert.ToRepo(c.Issue.Repo, mode),
 | 
								Repository: convert.ToRepo(c.Issue.Repo, mode),
 | 
				
			||||||
			Sender:     convert.ToUser(doer, false, false),
 | 
								Sender:     convert.ToUser(doer, nil),
 | 
				
			||||||
			IsPull:     true,
 | 
								IsPull:     true,
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
@@ -388,7 +388,7 @@ func (m *webhookNotifier) NotifyUpdateComment(doer *models.User, c *models.Comme
 | 
				
			|||||||
				},
 | 
									},
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			Repository: convert.ToRepo(c.Issue.Repo, mode),
 | 
								Repository: convert.ToRepo(c.Issue.Repo, mode),
 | 
				
			||||||
			Sender:     convert.ToUser(doer, false, false),
 | 
								Sender:     convert.ToUser(doer, nil),
 | 
				
			||||||
			IsPull:     false,
 | 
								IsPull:     false,
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -409,7 +409,7 @@ func (m *webhookNotifier) NotifyCreateIssueComment(doer *models.User, repo *mode
 | 
				
			|||||||
			Issue:      convert.ToAPIIssue(issue),
 | 
								Issue:      convert.ToAPIIssue(issue),
 | 
				
			||||||
			Comment:    convert.ToComment(comment),
 | 
								Comment:    convert.ToComment(comment),
 | 
				
			||||||
			Repository: convert.ToRepo(repo, mode),
 | 
								Repository: convert.ToRepo(repo, mode),
 | 
				
			||||||
			Sender:     convert.ToUser(doer, false, false),
 | 
								Sender:     convert.ToUser(doer, nil),
 | 
				
			||||||
			IsPull:     true,
 | 
								IsPull:     true,
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
@@ -418,7 +418,7 @@ func (m *webhookNotifier) NotifyCreateIssueComment(doer *models.User, repo *mode
 | 
				
			|||||||
			Issue:      convert.ToAPIIssue(issue),
 | 
								Issue:      convert.ToAPIIssue(issue),
 | 
				
			||||||
			Comment:    convert.ToComment(comment),
 | 
								Comment:    convert.ToComment(comment),
 | 
				
			||||||
			Repository: convert.ToRepo(repo, mode),
 | 
								Repository: convert.ToRepo(repo, mode),
 | 
				
			||||||
			Sender:     convert.ToUser(doer, false, false),
 | 
								Sender:     convert.ToUser(doer, nil),
 | 
				
			||||||
			IsPull:     false,
 | 
								IsPull:     false,
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -453,7 +453,7 @@ func (m *webhookNotifier) NotifyDeleteComment(doer *models.User, comment *models
 | 
				
			|||||||
			Issue:      convert.ToAPIIssue(comment.Issue),
 | 
								Issue:      convert.ToAPIIssue(comment.Issue),
 | 
				
			||||||
			Comment:    convert.ToComment(comment),
 | 
								Comment:    convert.ToComment(comment),
 | 
				
			||||||
			Repository: convert.ToRepo(comment.Issue.Repo, mode),
 | 
								Repository: convert.ToRepo(comment.Issue.Repo, mode),
 | 
				
			||||||
			Sender:     convert.ToUser(doer, false, false),
 | 
								Sender:     convert.ToUser(doer, nil),
 | 
				
			||||||
			IsPull:     true,
 | 
								IsPull:     true,
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
@@ -462,7 +462,7 @@ func (m *webhookNotifier) NotifyDeleteComment(doer *models.User, comment *models
 | 
				
			|||||||
			Issue:      convert.ToAPIIssue(comment.Issue),
 | 
								Issue:      convert.ToAPIIssue(comment.Issue),
 | 
				
			||||||
			Comment:    convert.ToComment(comment),
 | 
								Comment:    convert.ToComment(comment),
 | 
				
			||||||
			Repository: convert.ToRepo(comment.Issue.Repo, mode),
 | 
								Repository: convert.ToRepo(comment.Issue.Repo, mode),
 | 
				
			||||||
			Sender:     convert.ToUser(doer, false, false),
 | 
								Sender:     convert.ToUser(doer, nil),
 | 
				
			||||||
			IsPull:     false,
 | 
								IsPull:     false,
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -502,7 +502,7 @@ func (m *webhookNotifier) NotifyIssueChangeLabels(doer *models.User, issue *mode
 | 
				
			|||||||
			Index:       issue.Index,
 | 
								Index:       issue.Index,
 | 
				
			||||||
			PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
								PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
				
			||||||
			Repository:  convert.ToRepo(issue.Repo, models.AccessModeNone),
 | 
								Repository:  convert.ToRepo(issue.Repo, models.AccessModeNone),
 | 
				
			||||||
			Sender:      convert.ToUser(doer, false, false),
 | 
								Sender:      convert.ToUser(doer, nil),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		err = webhook_services.PrepareWebhooks(issue.Repo, models.HookEventIssueLabel, &api.IssuePayload{
 | 
							err = webhook_services.PrepareWebhooks(issue.Repo, models.HookEventIssueLabel, &api.IssuePayload{
 | 
				
			||||||
@@ -510,7 +510,7 @@ func (m *webhookNotifier) NotifyIssueChangeLabels(doer *models.User, issue *mode
 | 
				
			|||||||
			Index:      issue.Index,
 | 
								Index:      issue.Index,
 | 
				
			||||||
			Issue:      convert.ToAPIIssue(issue),
 | 
								Issue:      convert.ToAPIIssue(issue),
 | 
				
			||||||
			Repository: convert.ToRepo(issue.Repo, mode),
 | 
								Repository: convert.ToRepo(issue.Repo, mode),
 | 
				
			||||||
			Sender:     convert.ToUser(doer, false, false),
 | 
								Sender:     convert.ToUser(doer, nil),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
@@ -544,7 +544,7 @@ func (m *webhookNotifier) NotifyIssueChangeMilestone(doer *models.User, issue *m
 | 
				
			|||||||
			Index:       issue.Index,
 | 
								Index:       issue.Index,
 | 
				
			||||||
			PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
								PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
				
			||||||
			Repository:  convert.ToRepo(issue.Repo, mode),
 | 
								Repository:  convert.ToRepo(issue.Repo, mode),
 | 
				
			||||||
			Sender:      convert.ToUser(doer, false, false),
 | 
								Sender:      convert.ToUser(doer, nil),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		err = webhook_services.PrepareWebhooks(issue.Repo, models.HookEventIssueMilestone, &api.IssuePayload{
 | 
							err = webhook_services.PrepareWebhooks(issue.Repo, models.HookEventIssueMilestone, &api.IssuePayload{
 | 
				
			||||||
@@ -552,7 +552,7 @@ func (m *webhookNotifier) NotifyIssueChangeMilestone(doer *models.User, issue *m
 | 
				
			|||||||
			Index:      issue.Index,
 | 
								Index:      issue.Index,
 | 
				
			||||||
			Issue:      convert.ToAPIIssue(issue),
 | 
								Issue:      convert.ToAPIIssue(issue),
 | 
				
			||||||
			Repository: convert.ToRepo(issue.Repo, mode),
 | 
								Repository: convert.ToRepo(issue.Repo, mode),
 | 
				
			||||||
			Sender:     convert.ToUser(doer, false, false),
 | 
								Sender:     convert.ToUser(doer, nil),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
@@ -561,7 +561,7 @@ func (m *webhookNotifier) NotifyIssueChangeMilestone(doer *models.User, issue *m
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (m *webhookNotifier) NotifyPushCommits(pusher *models.User, repo *models.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits) {
 | 
					func (m *webhookNotifier) NotifyPushCommits(pusher *models.User, repo *models.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits) {
 | 
				
			||||||
	apiPusher := convert.ToUser(pusher, false, false)
 | 
						apiPusher := convert.ToUser(pusher, nil)
 | 
				
			||||||
	apiCommits, err := commits.ToAPIPayloadCommits(repo.RepoPath(), repo.HTMLURL())
 | 
						apiCommits, err := commits.ToAPIPayloadCommits(repo.RepoPath(), repo.HTMLURL())
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.Error("commits.ToAPIPayloadCommits failed: %v", err)
 | 
							log.Error("commits.ToAPIPayloadCommits failed: %v", err)
 | 
				
			||||||
@@ -610,7 +610,7 @@ func (*webhookNotifier) NotifyMergePullRequest(pr *models.PullRequest, doer *mod
 | 
				
			|||||||
		Index:       pr.Issue.Index,
 | 
							Index:       pr.Issue.Index,
 | 
				
			||||||
		PullRequest: convert.ToAPIPullRequest(pr),
 | 
							PullRequest: convert.ToAPIPullRequest(pr),
 | 
				
			||||||
		Repository:  convert.ToRepo(pr.Issue.Repo, mode),
 | 
							Repository:  convert.ToRepo(pr.Issue.Repo, mode),
 | 
				
			||||||
		Sender:      convert.ToUser(doer, false, false),
 | 
							Sender:      convert.ToUser(doer, nil),
 | 
				
			||||||
		Action:      api.HookIssueClosed,
 | 
							Action:      api.HookIssueClosed,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -643,7 +643,7 @@ func (m *webhookNotifier) NotifyPullRequestChangeTargetBranch(doer *models.User,
 | 
				
			|||||||
		},
 | 
							},
 | 
				
			||||||
		PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
							PullRequest: convert.ToAPIPullRequest(issue.PullRequest),
 | 
				
			||||||
		Repository:  convert.ToRepo(issue.Repo, mode),
 | 
							Repository:  convert.ToRepo(issue.Repo, mode),
 | 
				
			||||||
		Sender:      convert.ToUser(doer, false, false),
 | 
							Sender:      convert.ToUser(doer, nil),
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
@@ -682,7 +682,7 @@ func (m *webhookNotifier) NotifyPullRequestReview(pr *models.PullRequest, review
 | 
				
			|||||||
		Index:       review.Issue.Index,
 | 
							Index:       review.Issue.Index,
 | 
				
			||||||
		PullRequest: convert.ToAPIPullRequest(pr),
 | 
							PullRequest: convert.ToAPIPullRequest(pr),
 | 
				
			||||||
		Repository:  convert.ToRepo(review.Issue.Repo, mode),
 | 
							Repository:  convert.ToRepo(review.Issue.Repo, mode),
 | 
				
			||||||
		Sender:      convert.ToUser(review.Reviewer, false, false),
 | 
							Sender:      convert.ToUser(review.Reviewer, nil),
 | 
				
			||||||
		Review: &api.ReviewPayload{
 | 
							Review: &api.ReviewPayload{
 | 
				
			||||||
			Type:    string(reviewHookType),
 | 
								Type:    string(reviewHookType),
 | 
				
			||||||
			Content: review.Content,
 | 
								Content: review.Content,
 | 
				
			||||||
@@ -693,7 +693,7 @@ func (m *webhookNotifier) NotifyPullRequestReview(pr *models.PullRequest, review
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (m *webhookNotifier) NotifyCreateRef(pusher *models.User, repo *models.Repository, refType, refFullName string) {
 | 
					func (m *webhookNotifier) NotifyCreateRef(pusher *models.User, repo *models.Repository, refType, refFullName string) {
 | 
				
			||||||
	apiPusher := convert.ToUser(pusher, false, false)
 | 
						apiPusher := convert.ToUser(pusher, nil)
 | 
				
			||||||
	apiRepo := convert.ToRepo(repo, models.AccessModeNone)
 | 
						apiRepo := convert.ToRepo(repo, models.AccessModeNone)
 | 
				
			||||||
	refName := git.RefEndName(refFullName)
 | 
						refName := git.RefEndName(refFullName)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -737,14 +737,14 @@ func (m *webhookNotifier) NotifyPullRequestSynchronized(doer *models.User, pr *m
 | 
				
			|||||||
		Index:       pr.Issue.Index,
 | 
							Index:       pr.Issue.Index,
 | 
				
			||||||
		PullRequest: convert.ToAPIPullRequest(pr),
 | 
							PullRequest: convert.ToAPIPullRequest(pr),
 | 
				
			||||||
		Repository:  convert.ToRepo(pr.Issue.Repo, models.AccessModeNone),
 | 
							Repository:  convert.ToRepo(pr.Issue.Repo, models.AccessModeNone),
 | 
				
			||||||
		Sender:      convert.ToUser(doer, false, false),
 | 
							Sender:      convert.ToUser(doer, nil),
 | 
				
			||||||
	}); err != nil {
 | 
						}); err != nil {
 | 
				
			||||||
		log.Error("PrepareWebhooks [pull_id: %v]: %v", pr.ID, err)
 | 
							log.Error("PrepareWebhooks [pull_id: %v]: %v", pr.ID, err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (m *webhookNotifier) NotifyDeleteRef(pusher *models.User, repo *models.Repository, refType, refFullName string) {
 | 
					func (m *webhookNotifier) NotifyDeleteRef(pusher *models.User, repo *models.Repository, refType, refFullName string) {
 | 
				
			||||||
	apiPusher := convert.ToUser(pusher, false, false)
 | 
						apiPusher := convert.ToUser(pusher, nil)
 | 
				
			||||||
	apiRepo := convert.ToRepo(repo, models.AccessModeNone)
 | 
						apiRepo := convert.ToRepo(repo, models.AccessModeNone)
 | 
				
			||||||
	refName := git.RefEndName(refFullName)
 | 
						refName := git.RefEndName(refFullName)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -770,7 +770,7 @@ func sendReleaseHook(doer *models.User, rel *models.Release, action api.HookRele
 | 
				
			|||||||
		Action:     action,
 | 
							Action:     action,
 | 
				
			||||||
		Release:    convert.ToRelease(rel),
 | 
							Release:    convert.ToRelease(rel),
 | 
				
			||||||
		Repository: convert.ToRepo(rel.Repo, mode),
 | 
							Repository: convert.ToRepo(rel.Repo, mode),
 | 
				
			||||||
		Sender:     convert.ToUser(rel.Publisher, false, false),
 | 
							Sender:     convert.ToUser(rel.Publisher, nil),
 | 
				
			||||||
	}); err != nil {
 | 
						}); err != nil {
 | 
				
			||||||
		log.Error("PrepareWebhooks: %v", err)
 | 
							log.Error("PrepareWebhooks: %v", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -789,7 +789,7 @@ func (m *webhookNotifier) NotifyDeleteRelease(doer *models.User, rel *models.Rel
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (m *webhookNotifier) NotifySyncPushCommits(pusher *models.User, repo *models.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits) {
 | 
					func (m *webhookNotifier) NotifySyncPushCommits(pusher *models.User, repo *models.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits) {
 | 
				
			||||||
	apiPusher := convert.ToUser(pusher, false, false)
 | 
						apiPusher := convert.ToUser(pusher, nil)
 | 
				
			||||||
	apiCommits, err := commits.ToAPIPayloadCommits(repo.RepoPath(), repo.HTMLURL())
 | 
						apiCommits, err := commits.ToAPIPayloadCommits(repo.RepoPath(), repo.HTMLURL())
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.Error("commits.ToAPIPayloadCommits failed: %v", err)
 | 
							log.Error("commits.ToAPIPayloadCommits failed: %v", err)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -116,7 +116,7 @@ func CreateUser(ctx *context.APIContext) {
 | 
				
			|||||||
	if form.SendNotify {
 | 
						if form.SendNotify {
 | 
				
			||||||
		mailer.SendRegisterNotifyMail(ctx.Locale, u)
 | 
							mailer.SendRegisterNotifyMail(ctx.Locale, u)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	ctx.JSON(http.StatusCreated, convert.ToUser(u, ctx.IsSigned, ctx.User.IsAdmin))
 | 
						ctx.JSON(http.StatusCreated, convert.ToUser(u, ctx.User))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// EditUser api for modifying a user's information
 | 
					// EditUser api for modifying a user's information
 | 
				
			||||||
@@ -238,7 +238,7 @@ func EditUser(ctx *context.APIContext) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	log.Trace("Account profile updated by admin (%s): %s", ctx.User.Name, u.Name)
 | 
						log.Trace("Account profile updated by admin (%s): %s", ctx.User.Name, u.Name)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ctx.JSON(http.StatusOK, convert.ToUser(u, ctx.IsSigned, ctx.User.IsAdmin))
 | 
						ctx.JSON(http.StatusOK, convert.ToUser(u, ctx.User))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// DeleteUser api for deleting a user
 | 
					// DeleteUser api for deleting a user
 | 
				
			||||||
@@ -403,7 +403,7 @@ func GetAllUsers(ctx *context.APIContext) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	results := make([]*api.User, len(users))
 | 
						results := make([]*api.User, len(users))
 | 
				
			||||||
	for i := range users {
 | 
						for i := range users {
 | 
				
			||||||
		results[i] = convert.ToUser(users[i], ctx.IsSigned, ctx.User.IsAdmin)
 | 
							results[i] = convert.ToUser(users[i], ctx.User)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ctx.SetLinkHeader(int(maxResults), listOptions.PageSize)
 | 
						ctx.SetLinkHeader(int(maxResults), listOptions.PageSize)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,7 +32,7 @@ func listMembers(ctx *context.APIContext, publicOnly bool) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	apiMembers := make([]*api.User, len(members))
 | 
						apiMembers := make([]*api.User, len(members))
 | 
				
			||||||
	for i, member := range members {
 | 
						for i, member := range members {
 | 
				
			||||||
		apiMembers[i] = convert.ToUser(member, ctx.IsSigned, ctx.User != nil && ctx.User.IsAdmin)
 | 
							apiMembers[i] = convert.ToUser(member, ctx.User)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ctx.JSON(http.StatusOK, apiMembers)
 | 
						ctx.JSON(http.StatusOK, apiMembers)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -337,7 +337,7 @@ func GetTeamMembers(ctx *context.APIContext) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	members := make([]*api.User, len(team.Members))
 | 
						members := make([]*api.User, len(team.Members))
 | 
				
			||||||
	for i, member := range team.Members {
 | 
						for i, member := range team.Members {
 | 
				
			||||||
		members[i] = convert.ToUser(member, ctx.IsSigned, ctx.User.IsAdmin)
 | 
							members[i] = convert.ToUser(member, ctx.User)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	ctx.JSON(http.StatusOK, members)
 | 
						ctx.JSON(http.StatusOK, members)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -380,7 +380,7 @@ func GetTeamMember(ctx *context.APIContext) {
 | 
				
			|||||||
		ctx.NotFound()
 | 
							ctx.NotFound()
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	ctx.JSON(http.StatusOK, convert.ToUser(u, ctx.IsSigned, ctx.User.IsAdmin))
 | 
						ctx.JSON(http.StatusOK, convert.ToUser(u, ctx.User))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// AddTeamMember api for add a member to a team
 | 
					// AddTeamMember api for add a member to a team
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,7 +54,7 @@ func ListCollaborators(ctx *context.APIContext) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	users := make([]*api.User, len(collaborators))
 | 
						users := make([]*api.User, len(collaborators))
 | 
				
			||||||
	for i, collaborator := range collaborators {
 | 
						for i, collaborator := range collaborators {
 | 
				
			||||||
		users[i] = convert.ToUser(collaborator.User, ctx.IsSigned, ctx.User != nil && ctx.User.IsAdmin)
 | 
							users[i] = convert.ToUser(collaborator.User, ctx.User)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	ctx.JSON(http.StatusOK, users)
 | 
						ctx.JSON(http.StatusOK, users)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -148,8 +148,8 @@ func TestHook(ctx *context.APIContext) {
 | 
				
			|||||||
			convert.ToPayloadCommit(ctx.Repo.Repository, ctx.Repo.Commit),
 | 
								convert.ToPayloadCommit(ctx.Repo.Repository, ctx.Repo.Commit),
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		Repo:   convert.ToRepo(ctx.Repo.Repository, models.AccessModeNone),
 | 
							Repo:   convert.ToRepo(ctx.Repo.Repository, models.AccessModeNone),
 | 
				
			||||||
		Pusher: convert.ToUser(ctx.User, ctx.IsSigned, false),
 | 
							Pusher: convert.ToUserWithAccessMode(ctx.User, models.AccessModeNone),
 | 
				
			||||||
		Sender: convert.ToUser(ctx.User, ctx.IsSigned, false),
 | 
							Sender: convert.ToUserWithAccessMode(ctx.User, models.AccessModeNone),
 | 
				
			||||||
	}); err != nil {
 | 
						}); err != nil {
 | 
				
			||||||
		ctx.Error(http.StatusInternalServerError, "PrepareWebhook: ", err)
 | 
							ctx.Error(http.StatusInternalServerError, "PrepareWebhook: ", err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -81,7 +81,7 @@ func GetIssueCommentReactions(ctx *context.APIContext) {
 | 
				
			|||||||
	var result []api.Reaction
 | 
						var result []api.Reaction
 | 
				
			||||||
	for _, r := range reactions {
 | 
						for _, r := range reactions {
 | 
				
			||||||
		result = append(result, api.Reaction{
 | 
							result = append(result, api.Reaction{
 | 
				
			||||||
			User:     convert.ToUser(r.User, ctx.IsSigned, false),
 | 
								User:     convert.ToUser(r.User, ctx.User),
 | 
				
			||||||
			Reaction: r.Type,
 | 
								Reaction: r.Type,
 | 
				
			||||||
			Created:  r.CreatedUnix.AsTime(),
 | 
								Created:  r.CreatedUnix.AsTime(),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
@@ -203,7 +203,7 @@ func changeIssueCommentReaction(ctx *context.APIContext, form api.EditReactionOp
 | 
				
			|||||||
				ctx.Error(http.StatusForbidden, err.Error(), err)
 | 
									ctx.Error(http.StatusForbidden, err.Error(), err)
 | 
				
			||||||
			} else if models.IsErrReactionAlreadyExist(err) {
 | 
								} else if models.IsErrReactionAlreadyExist(err) {
 | 
				
			||||||
				ctx.JSON(http.StatusOK, api.Reaction{
 | 
									ctx.JSON(http.StatusOK, api.Reaction{
 | 
				
			||||||
					User:     convert.ToUser(ctx.User, true, true),
 | 
										User:     convert.ToUser(ctx.User, ctx.User),
 | 
				
			||||||
					Reaction: reaction.Type,
 | 
										Reaction: reaction.Type,
 | 
				
			||||||
					Created:  reaction.CreatedUnix.AsTime(),
 | 
										Created:  reaction.CreatedUnix.AsTime(),
 | 
				
			||||||
				})
 | 
									})
 | 
				
			||||||
@@ -214,7 +214,7 @@ func changeIssueCommentReaction(ctx *context.APIContext, form api.EditReactionOp
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		ctx.JSON(http.StatusCreated, api.Reaction{
 | 
							ctx.JSON(http.StatusCreated, api.Reaction{
 | 
				
			||||||
			User:     convert.ToUser(ctx.User, true, true),
 | 
								User:     convert.ToUser(ctx.User, ctx.User),
 | 
				
			||||||
			Reaction: reaction.Type,
 | 
								Reaction: reaction.Type,
 | 
				
			||||||
			Created:  reaction.CreatedUnix.AsTime(),
 | 
								Created:  reaction.CreatedUnix.AsTime(),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
@@ -299,7 +299,7 @@ func GetIssueReactions(ctx *context.APIContext) {
 | 
				
			|||||||
	var result []api.Reaction
 | 
						var result []api.Reaction
 | 
				
			||||||
	for _, r := range reactions {
 | 
						for _, r := range reactions {
 | 
				
			||||||
		result = append(result, api.Reaction{
 | 
							result = append(result, api.Reaction{
 | 
				
			||||||
			User:     convert.ToUser(r.User, ctx.IsSigned, false),
 | 
								User:     convert.ToUser(r.User, ctx.User),
 | 
				
			||||||
			Reaction: r.Type,
 | 
								Reaction: r.Type,
 | 
				
			||||||
			Created:  r.CreatedUnix.AsTime(),
 | 
								Created:  r.CreatedUnix.AsTime(),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
@@ -412,7 +412,7 @@ func changeIssueReaction(ctx *context.APIContext, form api.EditReactionOption, i
 | 
				
			|||||||
				ctx.Error(http.StatusForbidden, err.Error(), err)
 | 
									ctx.Error(http.StatusForbidden, err.Error(), err)
 | 
				
			||||||
			} else if models.IsErrReactionAlreadyExist(err) {
 | 
								} else if models.IsErrReactionAlreadyExist(err) {
 | 
				
			||||||
				ctx.JSON(http.StatusOK, api.Reaction{
 | 
									ctx.JSON(http.StatusOK, api.Reaction{
 | 
				
			||||||
					User:     convert.ToUser(ctx.User, true, true),
 | 
										User:     convert.ToUser(ctx.User, ctx.User),
 | 
				
			||||||
					Reaction: reaction.Type,
 | 
										Reaction: reaction.Type,
 | 
				
			||||||
					Created:  reaction.CreatedUnix.AsTime(),
 | 
										Created:  reaction.CreatedUnix.AsTime(),
 | 
				
			||||||
				})
 | 
									})
 | 
				
			||||||
@@ -423,7 +423,7 @@ func changeIssueReaction(ctx *context.APIContext, form api.EditReactionOption, i
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		ctx.JSON(http.StatusCreated, api.Reaction{
 | 
							ctx.JSON(http.StatusCreated, api.Reaction{
 | 
				
			||||||
			User:     convert.ToUser(ctx.User, true, true),
 | 
								User:     convert.ToUser(ctx.User, ctx.User),
 | 
				
			||||||
			Reaction: reaction.Type,
 | 
								Reaction: reaction.Type,
 | 
				
			||||||
			Created:  reaction.CreatedUnix.AsTime(),
 | 
								Created:  reaction.CreatedUnix.AsTime(),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -279,7 +279,7 @@ func GetIssueSubscribers(ctx *context.APIContext) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	apiUsers := make([]*api.User, 0, len(users))
 | 
						apiUsers := make([]*api.User, 0, len(users))
 | 
				
			||||||
	for i := range users {
 | 
						for i := range users {
 | 
				
			||||||
		apiUsers[i] = convert.ToUser(users[i], ctx.IsSigned, false)
 | 
							apiUsers[i] = convert.ToUser(users[i], ctx.User)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ctx.JSON(http.StatusOK, apiUsers)
 | 
						ctx.JSON(http.StatusOK, apiUsers)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,7 +50,7 @@ func ListStargazers(ctx *context.APIContext) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	users := make([]*api.User, len(stargazers))
 | 
						users := make([]*api.User, len(stargazers))
 | 
				
			||||||
	for i, stargazer := range stargazers {
 | 
						for i, stargazer := range stargazers {
 | 
				
			||||||
		users[i] = convert.ToUser(stargazer, ctx.IsSigned, ctx.User != nil && ctx.User.IsAdmin)
 | 
							users[i] = convert.ToUser(stargazer, ctx.User)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	ctx.JSON(http.StatusOK, users)
 | 
						ctx.JSON(http.StatusOK, users)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,7 +50,7 @@ func ListSubscribers(ctx *context.APIContext) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	users := make([]*api.User, len(subscribers))
 | 
						users := make([]*api.User, len(subscribers))
 | 
				
			||||||
	for i, subscriber := range subscribers {
 | 
						for i, subscriber := range subscribers {
 | 
				
			||||||
		users[i] = convert.ToUser(subscriber, ctx.IsSigned, ctx.User != nil && ctx.User.IsAdmin)
 | 
							users[i] = convert.ToUser(subscriber, ctx.User)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	ctx.JSON(http.StatusOK, users)
 | 
						ctx.JSON(http.StatusOK, users)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,7 +18,7 @@ import (
 | 
				
			|||||||
func responseAPIUsers(ctx *context.APIContext, users []*models.User) {
 | 
					func responseAPIUsers(ctx *context.APIContext, users []*models.User) {
 | 
				
			||||||
	apiUsers := make([]*api.User, len(users))
 | 
						apiUsers := make([]*api.User, len(users))
 | 
				
			||||||
	for i := range users {
 | 
						for i := range users {
 | 
				
			||||||
		apiUsers[i] = convert.ToUser(users[i], ctx.IsSigned, ctx.User != nil && ctx.User.IsAdmin)
 | 
							apiUsers[i] = convert.ToUser(users[i], ctx.User)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	ctx.JSON(http.StatusOK, &apiUsers)
 | 
						ctx.JSON(http.StatusOK, &apiUsers)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,13 +25,13 @@ func appendPrivateInformation(apiKey *api.PublicKey, key *models.PublicKey, defa
 | 
				
			|||||||
		apiKey.KeyType = "user"
 | 
							apiKey.KeyType = "user"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if defaultUser.ID == key.OwnerID {
 | 
							if defaultUser.ID == key.OwnerID {
 | 
				
			||||||
			apiKey.Owner = convert.ToUser(defaultUser, true, true)
 | 
								apiKey.Owner = convert.ToUser(defaultUser, defaultUser)
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
			user, err := models.GetUserByID(key.OwnerID)
 | 
								user, err := models.GetUserByID(key.OwnerID)
 | 
				
			||||||
			if err != nil {
 | 
								if err != nil {
 | 
				
			||||||
				return apiKey, err
 | 
									return apiKey, err
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			apiKey.Owner = convert.ToUser(user, true, true)
 | 
								apiKey.Owner = convert.ToUser(user, user)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		apiKey.KeyType = "unknown"
 | 
							apiKey.KeyType = "unknown"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -75,7 +75,7 @@ func Search(ctx *context.APIContext) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	results := make([]*api.User, len(users))
 | 
						results := make([]*api.User, len(users))
 | 
				
			||||||
	for i := range users {
 | 
						for i := range users {
 | 
				
			||||||
		results[i] = convert.ToUser(users[i], ctx.IsSigned, ctx.User != nil && ctx.User.IsAdmin)
 | 
							results[i] = convert.ToUser(users[i], ctx.User)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ctx.SetLinkHeader(int(maxResults), listOptions.PageSize)
 | 
						ctx.SetLinkHeader(int(maxResults), listOptions.PageSize)
 | 
				
			||||||
@@ -112,7 +112,7 @@ func GetInfo(ctx *context.APIContext) {
 | 
				
			|||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ctx.JSON(http.StatusOK, convert.ToUser(u, ctx.IsSigned, ctx.User != nil && (ctx.User.ID == u.ID || ctx.User.IsAdmin)))
 | 
						ctx.JSON(http.StatusOK, convert.ToUser(u, ctx.User))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// GetAuthenticatedUser get current user's information
 | 
					// GetAuthenticatedUser get current user's information
 | 
				
			||||||
@@ -126,7 +126,7 @@ func GetAuthenticatedUser(ctx *context.APIContext) {
 | 
				
			|||||||
	//   "200":
 | 
						//   "200":
 | 
				
			||||||
	//     "$ref": "#/responses/User"
 | 
						//     "$ref": "#/responses/User"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ctx.JSON(http.StatusOK, convert.ToUser(ctx.User, ctx.IsSigned, ctx.User != nil))
 | 
						ctx.JSON(http.StatusOK, convert.ToUser(ctx.User, ctx.User))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// GetUserHeatmapData is the handler to get a users heatmap
 | 
					// GetUserHeatmapData is the handler to get a users heatmap
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1083,7 +1083,7 @@ func TestWebhook(ctx *context.Context) {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	apiUser := convert.ToUser(ctx.User, true, true)
 | 
						apiUser := convert.ToUserWithAccessMode(ctx.User, models.AccessModeNone)
 | 
				
			||||||
	p := &api.PushPayload{
 | 
						p := &api.PushPayload{
 | 
				
			||||||
		Ref:    git.BranchPrefix + ctx.Repo.Repository.DefaultBranch,
 | 
							Ref:    git.BranchPrefix + ctx.Repo.Repository.DefaultBranch,
 | 
				
			||||||
		Before: commit.ID.String(),
 | 
							Before: commit.ID.String(),
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user