* USER APIFormat -> ToUser * Migrate more and mark APIFormat deprecated * models.Comment APIFormat() -> convert.ToComment * models.Release APIFormat() -> convert.ToRelease * models.Attachments APIFormat() -> convert.ToReleaseAttachments * models.CommitStatus APIFormat() -> convert.ToCommitStatus * finish migration to convert.ToUser * Move Test * Imprufe Test * fix test Co-authored-by: techknowlogick <techknowlogick@gitea.io>tags/v1.15.0-dev
@@ -11,6 +11,7 @@ import ( | |||
"testing" | |||
"code.gitea.io/gitea/models" | |||
"code.gitea.io/gitea/modules/convert" | |||
api "code.gitea.io/gitea/modules/structs" | |||
"github.com/stretchr/testify/assert" | |||
@@ -125,7 +126,7 @@ func TestAPIGetComment(t *testing.T) { | |||
DecodeJSON(t, resp, &apiComment) | |||
assert.NoError(t, comment.LoadPoster()) | |||
expect := comment.APIFormat() | |||
expect := convert.ToComment(comment) | |||
assert.Equal(t, expect.ID, apiComment.ID) | |||
assert.Equal(t, expect.Poster.FullName, apiComment.Poster.FullName) |
@@ -11,6 +11,7 @@ import ( | |||
"time" | |||
"code.gitea.io/gitea/models" | |||
"code.gitea.io/gitea/modules/convert" | |||
api "code.gitea.io/gitea/modules/structs" | |||
"github.com/stretchr/testify/assert" | |||
@@ -60,7 +61,7 @@ func TestAPIIssuesReactions(t *testing.T) { | |||
DecodeJSON(t, resp, &apiReactions) | |||
expectResponse := make(map[int]api.Reaction) | |||
expectResponse[0] = api.Reaction{ | |||
User: user2.APIFormat(), | |||
User: convert.ToUser(user2, true, true), | |||
Reaction: "eyes", | |||
Created: time.Unix(1573248003, 0), | |||
} | |||
@@ -120,12 +121,12 @@ func TestAPICommentReactions(t *testing.T) { | |||
DecodeJSON(t, resp, &apiReactions) | |||
expectResponse := make(map[int]api.Reaction) | |||
expectResponse[0] = api.Reaction{ | |||
User: user2.APIFormat(), | |||
User: convert.ToUser(user2, true, true), | |||
Reaction: "laugh", | |||
Created: time.Unix(1573248004, 0), | |||
} | |||
expectResponse[1] = api.Reaction{ | |||
User: user1.APIFormat(), | |||
User: convert.ToUser(user1, true, true), | |||
Reaction: "laugh", | |||
Created: time.Unix(1573248005, 0), | |||
} |
@@ -12,7 +12,6 @@ import ( | |||
"code.gitea.io/gitea/modules/setting" | |||
"code.gitea.io/gitea/modules/storage" | |||
api "code.gitea.io/gitea/modules/structs" | |||
"code.gitea.io/gitea/modules/timeutil" | |||
gouuid "github.com/google/uuid" | |||
@@ -43,19 +42,6 @@ func (a *Attachment) IncreaseDownloadCount() error { | |||
return nil | |||
} | |||
// APIFormat converts models.Attachment to api.Attachment | |||
func (a *Attachment) APIFormat() *api.Attachment { | |||
return &api.Attachment{ | |||
ID: a.ID, | |||
Name: a.Name, | |||
Created: a.CreatedUnix.AsTime(), | |||
DownloadCount: a.DownloadCount, | |||
Size: a.Size, | |||
UUID: a.UUID, | |||
DownloadURL: a.DownloadURL(), | |||
} | |||
} | |||
// AttachmentRelativePath returns the relative path | |||
func AttachmentRelativePath(uuid string) string { | |||
return path.Join(uuid[0:1], uuid[1:2], uuid) |
@@ -61,27 +61,6 @@ func (status *CommitStatus) APIURL() string { | |||
setting.AppURL, status.Repo.FullName(), status.SHA) | |||
} | |||
// APIFormat assumes some fields assigned with values: | |||
// Required - Repo, Creator | |||
func (status *CommitStatus) APIFormat() *api.Status { | |||
_ = status.loadRepo(x) | |||
apiStatus := &api.Status{ | |||
Created: status.CreatedUnix.AsTime(), | |||
Updated: status.CreatedUnix.AsTime(), | |||
State: api.StatusState(status.State), | |||
TargetURL: status.TargetURL, | |||
Description: status.Description, | |||
ID: status.Index, | |||
URL: status.APIURL(), | |||
Context: status.Context, | |||
} | |||
if status.Creator != nil { | |||
apiStatus.Creator = status.Creator.APIFormat() | |||
} | |||
return apiStatus | |||
} | |||
// CalcCommitStatus returns commit status state via some status, the commit statues should order by id desc | |||
func CalcCommitStatus(statuses []*CommitStatus) *CommitStatus { | |||
var lastStatus *CommitStatus |
@@ -20,7 +20,6 @@ import ( | |||
"code.gitea.io/gitea/modules/markup/markdown" | |||
"code.gitea.io/gitea/modules/references" | |||
"code.gitea.io/gitea/modules/structs" | |||
api "code.gitea.io/gitea/modules/structs" | |||
"code.gitea.io/gitea/modules/timeutil" | |||
"github.com/unknwon/com" | |||
@@ -354,20 +353,6 @@ func (c *Comment) PRURL() string { | |||
return c.Issue.HTMLURL() | |||
} | |||
// APIFormat converts a Comment to the api.Comment format | |||
func (c *Comment) APIFormat() *api.Comment { | |||
return &api.Comment{ | |||
ID: c.ID, | |||
Poster: c.Poster.APIFormat(), | |||
HTMLURL: c.HTMLURL(), | |||
IssueURL: c.IssueURL(), | |||
PRURL: c.PRURL(), | |||
Body: c.Content, | |||
Created: c.CreatedUnix.AsTime(), | |||
Updated: c.UpdatedUnix.AsTime(), | |||
} | |||
} | |||
// CommentHashTag returns unique hash tag for comment id. | |||
func CommentHashTag(id int64) string { | |||
return fmt.Sprintf("issuecomment-%d", id) |
@@ -12,7 +12,6 @@ import ( | |||
"code.gitea.io/gitea/modules/setting" | |||
"code.gitea.io/gitea/modules/structs" | |||
api "code.gitea.io/gitea/modules/structs" | |||
"code.gitea.io/gitea/modules/timeutil" | |||
"xorm.io/builder" | |||
@@ -86,31 +85,6 @@ func (r *Release) HTMLURL() string { | |||
return fmt.Sprintf("%s/releases/tag/%s", r.Repo.HTMLURL(), r.TagName) | |||
} | |||
// APIFormat convert a Release to api.Release | |||
func (r *Release) APIFormat() *api.Release { | |||
assets := make([]*api.Attachment, 0) | |||
for _, att := range r.Attachments { | |||
assets = append(assets, att.APIFormat()) | |||
} | |||
return &api.Release{ | |||
ID: r.ID, | |||
TagName: r.TagName, | |||
Target: r.Target, | |||
Title: r.Title, | |||
Note: r.Note, | |||
URL: r.APIURL(), | |||
HTMLURL: r.HTMLURL(), | |||
TarURL: r.TarURL(), | |||
ZipURL: r.ZipURL(), | |||
IsDraft: r.IsDraft, | |||
IsPrerelease: r.IsPrerelease, | |||
CreatedAt: r.CreatedUnix.AsTime(), | |||
PublishedAt: r.CreatedUnix.AsTime(), | |||
Publisher: r.Publisher.APIFormat(), | |||
Attachments: assets, | |||
} | |||
} | |||
// IsReleaseExist returns true if release with given tag name already exists. | |||
func IsReleaseExist(repoID int64, tagName string) (bool, error) { | |||
if len(tagName) == 0 { |
@@ -410,8 +410,17 @@ func (repo *Repository) innerAPIFormat(e Engine, mode AccessMode, isParent bool) | |||
numReleases, _ := GetReleaseCountByRepoID(repo.ID, FindReleasesOptions{IncludeDrafts: false, IncludeTags: true}) | |||
return &api.Repository{ | |||
ID: repo.ID, | |||
Owner: repo.Owner.APIFormat(), | |||
ID: repo.ID, | |||
// TODO use convert.ToUser(repo.Owner) | |||
Owner: &api.User{ | |||
ID: repo.Owner.ID, | |||
UserName: repo.Owner.Name, | |||
FullName: repo.Owner.FullName, | |||
Email: repo.Owner.GetEmail(), | |||
AvatarURL: repo.Owner.AvatarLink(), | |||
LastLogin: repo.Owner.LastLoginUnix.AsTime(), | |||
Created: repo.Owner.CreatedUnix.AsTime(), | |||
}, | |||
Name: repo.Name, | |||
FullName: repo.FullName(), | |||
Description: repo.Description, |
@@ -29,7 +29,6 @@ import ( | |||
"code.gitea.io/gitea/modules/setting" | |||
"code.gitea.io/gitea/modules/storage" | |||
"code.gitea.io/gitea/modules/structs" | |||
api "code.gitea.io/gitea/modules/structs" | |||
"code.gitea.io/gitea/modules/timeutil" | |||
"code.gitea.io/gitea/modules/util" | |||
@@ -241,24 +240,6 @@ func GetAllUsers() ([]*User, error) { | |||
return users, x.OrderBy("id").Find(&users) | |||
} | |||
// APIFormat converts a User to api.User | |||
func (u *User) APIFormat() *api.User { | |||
if u == nil { | |||
return nil | |||
} | |||
return &api.User{ | |||
ID: u.ID, | |||
UserName: u.Name, | |||
FullName: u.FullName, | |||
Email: u.GetEmail(), | |||
AvatarURL: u.AvatarLink(), | |||
Language: u.Language, | |||
IsAdmin: u.IsAdmin, | |||
LastLogin: u.LastLoginUnix.AsTime(), | |||
Created: u.CreatedUnix.AsTime(), | |||
} | |||
} | |||
// IsLocal returns true if user login type is LoginPlain. | |||
func (u *User) IsLocal() bool { | |||
return u.LoginType <= LoginPlain |
@@ -78,23 +78,6 @@ func TestGetUserEmailsByNames(t *testing.T) { | |||
assert.Equal(t, []string{"user8@example.com"}, GetUserEmailsByNames([]string{"user8", "user7"})) | |||
} | |||
func TestUser_APIFormat(t *testing.T) { | |||
user, err := GetUserByID(1) | |||
assert.NoError(t, err) | |||
assert.True(t, user.IsAdmin) | |||
apiUser := user.APIFormat() | |||
assert.True(t, apiUser.IsAdmin) | |||
user, err = GetUserByID(2) | |||
assert.NoError(t, err) | |||
assert.False(t, user.IsAdmin) | |||
apiUser = user.APIFormat() | |||
assert.False(t, apiUser.IsAdmin) | |||
} | |||
func TestCanCreateOrganization(t *testing.T) { | |||
assert.NoError(t, PrepareTestDatabase()) | |||
@@ -8,7 +8,6 @@ import ( | |||
"fmt" | |||
"code.gitea.io/gitea/modules/log" | |||
api "code.gitea.io/gitea/modules/structs" | |||
) | |||
//UserList is a list of user. | |||
@@ -94,12 +93,3 @@ func (users UserList) loadTwoFactorStatus(e Engine) (map[int64]*TwoFactor, error | |||
} | |||
return tokenMaps, nil | |||
} | |||
//APIFormat return list of users in api format | |||
func (users UserList) APIFormat() []*api.User { | |||
result := make([]*api.User, 0, len(users)) | |||
for _, u := range users { | |||
result = append(result, u.APIFormat()) | |||
} | |||
return result | |||
} |
@@ -339,3 +339,24 @@ func ToOAuth2Application(app *models.OAuth2Application) *api.OAuth2Application { | |||
Created: app.CreatedUnix.AsTime(), | |||
} | |||
} | |||
// ToCommitStatus converts models.CommitStatus to api.Status | |||
func ToCommitStatus(status *models.CommitStatus) *api.Status { | |||
apiStatus := &api.Status{ | |||
Created: status.CreatedUnix.AsTime(), | |||
Updated: status.CreatedUnix.AsTime(), | |||
State: api.StatusState(status.State), | |||
TargetURL: status.TargetURL, | |||
Description: status.Description, | |||
ID: status.Index, | |||
URL: status.APIURL(), | |||
Context: status.Context, | |||
} | |||
if status.CreatorID != 0 { | |||
creator, _ := models.GetUserByID(status.CreatorID) | |||
apiStatus.Creator = ToUser(creator, false, false) | |||
} | |||
return apiStatus | |||
} |
@@ -86,13 +86,13 @@ func ToCommit(repo *models.Repository, commit *git.Commit, userCache map[string] | |||
} | |||
if ok { | |||
apiAuthor = cacheAuthor.APIFormat() | |||
apiAuthor = ToUser(cacheAuthor, false, false) | |||
} else { | |||
author, err := models.GetUserByEmail(commit.Author.Email) | |||
if err != nil && !models.IsErrUserNotExist(err) { | |||
return nil, err | |||
} else if err == nil { | |||
apiAuthor = author.APIFormat() | |||
apiAuthor = ToUser(author, false, false) | |||
if userCache != nil { | |||
userCache[commit.Author.Email] = author | |||
} | |||
@@ -108,13 +108,13 @@ func ToCommit(repo *models.Repository, commit *git.Commit, userCache map[string] | |||
} | |||
if ok { | |||
apiCommitter = cacheCommitter.APIFormat() | |||
apiCommitter = ToUser(cacheCommitter, false, false) | |||
} else { | |||
committer, err := models.GetUserByEmail(commit.Committer.Email) | |||
if err != nil && !models.IsErrUserNotExist(err) { | |||
return nil, err | |||
} else if err == nil { | |||
apiCommitter = committer.APIFormat() | |||
apiCommitter = ToUser(committer, false, false) | |||
if userCache != nil { | |||
userCache[commit.Committer.Email] = committer | |||
} |
@@ -31,7 +31,7 @@ func ToAPIIssue(issue *models.Issue) *api.Issue { | |||
URL: issue.APIURL(), | |||
HTMLURL: issue.HTMLURL(), | |||
Index: issue.Index, | |||
Poster: issue.Poster.APIFormat(), | |||
Poster: ToUser(issue.Poster, false, false), | |||
Title: issue.Title, | |||
Body: issue.Content, | |||
Labels: ToLabelList(issue.Labels), | |||
@@ -65,9 +65,9 @@ func ToAPIIssue(issue *models.Issue) *api.Issue { | |||
} | |||
if len(issue.Assignees) > 0 { | |||
for _, assignee := range issue.Assignees { | |||
apiIssue.Assignees = append(apiIssue.Assignees, assignee.APIFormat()) | |||
apiIssue.Assignees = append(apiIssue.Assignees, ToUser(assignee, false, false)) | |||
} | |||
apiIssue.Assignee = issue.Assignees[0].APIFormat() // For compatibility, we're keeping the first assignee as `apiIssue.Assignee` | |||
apiIssue.Assignee = ToUser(issue.Assignees[0], false, false) // For compatibility, we're keeping the first assignee as `apiIssue.Assignee` | |||
} | |||
if issue.IsPull { | |||
if err := issue.LoadPullRequest(); err != nil { |
@@ -0,0 +1,24 @@ | |||
// Copyright 2020 The Gitea Authors. All rights reserved. | |||
// Use of this source code is governed by a MIT-style | |||
// license that can be found in the LICENSE file. | |||
package convert | |||
import ( | |||
"code.gitea.io/gitea/models" | |||
api "code.gitea.io/gitea/modules/structs" | |||
) | |||
// ToComment converts a models.Comment to the api.Comment format | |||
func ToComment(c *models.Comment) *api.Comment { | |||
return &api.Comment{ | |||
ID: c.ID, | |||
Poster: ToUser(c.Poster, false, false), | |||
HTMLURL: c.HTMLURL(), | |||
IssueURL: c.IssueURL(), | |||
PRURL: c.PRURL(), | |||
Body: c.Content, | |||
Created: c.CreatedUnix.AsTime(), | |||
Updated: c.UpdatedUnix.AsTime(), | |||
} | |||
} |
@@ -141,7 +141,7 @@ func ToAPIPullRequest(pr *models.PullRequest) *api.PullRequest { | |||
if pr.HasMerged { | |||
apiPullRequest.Merged = pr.MergedUnix.AsTimePtr() | |||
apiPullRequest.MergedCommitID = &pr.MergedCommitID | |||
apiPullRequest.MergedBy = pr.Merger.APIFormat() | |||
apiPullRequest.MergedBy = ToUser(pr.Merger, false, false) | |||
} | |||
return apiPullRequest |
@@ -0,0 +1,48 @@ | |||
// Copyright 2020 The Gitea Authors. All rights reserved. | |||
// Use of this source code is governed by a MIT-style | |||
// license that can be found in the LICENSE file. | |||
package convert | |||
import ( | |||
"code.gitea.io/gitea/models" | |||
api "code.gitea.io/gitea/modules/structs" | |||
) | |||
// ToRelease convert a models.Release to api.Release | |||
func ToRelease(r *models.Release) *api.Release { | |||
assets := make([]*api.Attachment, 0) | |||
for _, att := range r.Attachments { | |||
assets = append(assets, ToReleaseAttachment(att)) | |||
} | |||
return &api.Release{ | |||
ID: r.ID, | |||
TagName: r.TagName, | |||
Target: r.Target, | |||
Title: r.Title, | |||
Note: r.Note, | |||
URL: r.APIURL(), | |||
HTMLURL: r.HTMLURL(), | |||
TarURL: r.TarURL(), | |||
ZipURL: r.ZipURL(), | |||
IsDraft: r.IsDraft, | |||
IsPrerelease: r.IsPrerelease, | |||
CreatedAt: r.CreatedUnix.AsTime(), | |||
PublishedAt: r.CreatedUnix.AsTime(), | |||
Publisher: ToUser(r.Publisher, false, false), | |||
Attachments: assets, | |||
} | |||
} | |||
// ToReleaseAttachment converts models.Attachment to api.Attachment | |||
func ToReleaseAttachment(a *models.Attachment) *api.Attachment { | |||
return &api.Attachment{ | |||
ID: a.ID, | |||
Name: a.Name, | |||
Created: a.CreatedUnix.AsTime(), | |||
DownloadCount: a.DownloadCount, | |||
Size: a.Size, | |||
UUID: a.UUID, | |||
DownloadURL: a.DownloadURL(), | |||
} | |||
} |
@@ -13,6 +13,9 @@ import ( | |||
// 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 { | |||
if user == nil { | |||
return nil | |||
} | |||
result := &api.User{ | |||
ID: user.ID, | |||
UserName: user.Name, |
@@ -0,0 +1,28 @@ | |||
// Copyright 2020 The Gitea Authors. All rights reserved. | |||
// Use of this source code is governed by a MIT-style | |||
// license that can be found in the LICENSE file. | |||
package convert | |||
import ( | |||
"testing" | |||
"code.gitea.io/gitea/models" | |||
"github.com/stretchr/testify/assert" | |||
) | |||
func TestUser_ToUser(t *testing.T) { | |||
user1 := models.AssertExistsAndLoadBean(t, &models.User{ID: 1, IsAdmin: true}).(*models.User) | |||
apiUser := ToUser(user1, true, true) | |||
assert.True(t, apiUser.IsAdmin) | |||
user2 := models.AssertExistsAndLoadBean(t, &models.User{ID: 2, IsAdmin: false}).(*models.User) | |||
apiUser = ToUser(user2, true, true) | |||
assert.False(t, apiUser.IsAdmin) | |||
apiUser = ToUser(user1, false, false) | |||
assert.False(t, apiUser.IsAdmin) | |||
} |
@@ -53,7 +53,7 @@ func (m *webhookNotifier) NotifyIssueClearLabels(doer *models.User, issue *model | |||
Index: issue.Index, | |||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest), | |||
Repository: issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
}) | |||
} else { | |||
err = webhook_module.PrepareWebhooks(issue.Repo, models.HookEventIssueLabel, &api.IssuePayload{ | |||
@@ -61,7 +61,7 @@ func (m *webhookNotifier) NotifyIssueClearLabels(doer *models.User, issue *model | |||
Index: issue.Index, | |||
Issue: convert.ToAPIIssue(issue), | |||
Repository: issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
}) | |||
} | |||
if err != nil { | |||
@@ -77,7 +77,7 @@ func (m *webhookNotifier) NotifyForkRepository(doer *models.User, oldRepo, repo | |||
if err := webhook_module.PrepareWebhooks(oldRepo, models.HookEventFork, &api.ForkPayload{ | |||
Forkee: oldRepo.APIFormat(oldMode), | |||
Repo: repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
}); err != nil { | |||
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_module.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{ | |||
Action: api.HookRepoCreated, | |||
Repository: repo.APIFormat(models.AccessModeOwner), | |||
Organization: u.APIFormat(), | |||
Sender: doer.APIFormat(), | |||
Organization: convert.ToUser(u, false, false), | |||
Sender: convert.ToUser(doer, false, false), | |||
}); err != nil { | |||
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_module.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{ | |||
Action: api.HookRepoCreated, | |||
Repository: repo.APIFormat(models.AccessModeOwner), | |||
Organization: u.APIFormat(), | |||
Sender: doer.APIFormat(), | |||
Organization: convert.ToUser(u, false, false), | |||
Sender: convert.ToUser(doer, false, false), | |||
}); err != nil { | |||
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_module.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{ | |||
Action: api.HookRepoDeleted, | |||
Repository: repo.APIFormat(models.AccessModeOwner), | |||
Organization: u.APIFormat(), | |||
Sender: doer.APIFormat(), | |||
Organization: convert.ToUser(u, false, false), | |||
Sender: convert.ToUser(doer, false, false), | |||
}); err != nil { | |||
log.Error("PrepareWebhooks [repo_id: %d]: %v", repo.ID, err) | |||
} | |||
@@ -135,7 +135,7 @@ func (m *webhookNotifier) NotifyIssueChangeAssignee(doer *models.User, issue *mo | |||
Index: issue.Index, | |||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest), | |||
Repository: issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
} | |||
if removed { | |||
apiPullRequest.Action = api.HookIssueUnassigned | |||
@@ -153,7 +153,7 @@ func (m *webhookNotifier) NotifyIssueChangeAssignee(doer *models.User, issue *mo | |||
Index: issue.Index, | |||
Issue: convert.ToAPIIssue(issue), | |||
Repository: issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
} | |||
if removed { | |||
apiIssue.Action = api.HookIssueUnassigned | |||
@@ -187,7 +187,7 @@ func (m *webhookNotifier) NotifyIssueChangeTitle(doer *models.User, issue *model | |||
}, | |||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest), | |||
Repository: issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
}) | |||
} else { | |||
err = webhook_module.PrepareWebhooks(issue.Repo, models.HookEventIssues, &api.IssuePayload{ | |||
@@ -200,7 +200,7 @@ func (m *webhookNotifier) NotifyIssueChangeTitle(doer *models.User, issue *model | |||
}, | |||
Issue: convert.ToAPIIssue(issue), | |||
Repository: issue.Repo.APIFormat(mode), | |||
Sender: issue.Poster.APIFormat(), | |||
Sender: convert.ToUser(issue.Poster, false, false), | |||
}) | |||
} | |||
@@ -222,7 +222,7 @@ func (m *webhookNotifier) NotifyIssueChangeStatus(doer *models.User, issue *mode | |||
Index: issue.Index, | |||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest), | |||
Repository: issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
} | |||
if isClosed { | |||
apiPullRequest.Action = api.HookIssueClosed | |||
@@ -235,7 +235,7 @@ func (m *webhookNotifier) NotifyIssueChangeStatus(doer *models.User, issue *mode | |||
Index: issue.Index, | |||
Issue: convert.ToAPIIssue(issue), | |||
Repository: issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
} | |||
if isClosed { | |||
apiIssue.Action = api.HookIssueClosed | |||
@@ -265,7 +265,7 @@ func (m *webhookNotifier) NotifyNewIssue(issue *models.Issue) { | |||
Index: issue.Index, | |||
Issue: convert.ToAPIIssue(issue), | |||
Repository: issue.Repo.APIFormat(mode), | |||
Sender: issue.Poster.APIFormat(), | |||
Sender: convert.ToUser(issue.Poster, false, false), | |||
}); err != nil { | |||
log.Error("PrepareWebhooks: %v", err) | |||
} | |||
@@ -291,7 +291,7 @@ func (m *webhookNotifier) NotifyNewPullRequest(pull *models.PullRequest) { | |||
Index: pull.Issue.Index, | |||
PullRequest: convert.ToAPIPullRequest(pull), | |||
Repository: pull.Issue.Repo.APIFormat(mode), | |||
Sender: pull.Issue.Poster.APIFormat(), | |||
Sender: convert.ToUser(pull.Issue.Poster, false, false), | |||
}); err != nil { | |||
log.Error("PrepareWebhooks: %v", err) | |||
} | |||
@@ -312,7 +312,7 @@ func (m *webhookNotifier) NotifyIssueChangeContent(doer *models.User, issue *mod | |||
}, | |||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest), | |||
Repository: issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
}) | |||
} else { | |||
err = webhook_module.PrepareWebhooks(issue.Repo, models.HookEventIssues, &api.IssuePayload{ | |||
@@ -325,7 +325,7 @@ func (m *webhookNotifier) NotifyIssueChangeContent(doer *models.User, issue *mod | |||
}, | |||
Issue: convert.ToAPIIssue(issue), | |||
Repository: issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
}) | |||
} | |||
if err != nil { | |||
@@ -355,28 +355,28 @@ func (m *webhookNotifier) NotifyUpdateComment(doer *models.User, c *models.Comme | |||
err = webhook_module.PrepareWebhooks(c.Issue.Repo, models.HookEventPullRequestComment, &api.IssueCommentPayload{ | |||
Action: api.HookIssueCommentEdited, | |||
Issue: convert.ToAPIIssue(c.Issue), | |||
Comment: c.APIFormat(), | |||
Comment: convert.ToComment(c), | |||
Changes: &api.ChangesPayload{ | |||
Body: &api.ChangesFromPayload{ | |||
From: oldContent, | |||
}, | |||
}, | |||
Repository: c.Issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
IsPull: true, | |||
}) | |||
} else { | |||
err = webhook_module.PrepareWebhooks(c.Issue.Repo, models.HookEventIssueComment, &api.IssueCommentPayload{ | |||
Action: api.HookIssueCommentEdited, | |||
Issue: convert.ToAPIIssue(c.Issue), | |||
Comment: c.APIFormat(), | |||
Comment: convert.ToComment(c), | |||
Changes: &api.ChangesPayload{ | |||
Body: &api.ChangesFromPayload{ | |||
From: oldContent, | |||
}, | |||
}, | |||
Repository: c.Issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
IsPull: false, | |||
}) | |||
} | |||
@@ -395,18 +395,18 @@ func (m *webhookNotifier) NotifyCreateIssueComment(doer *models.User, repo *mode | |||
err = webhook_module.PrepareWebhooks(issue.Repo, models.HookEventPullRequestComment, &api.IssueCommentPayload{ | |||
Action: api.HookIssueCommentCreated, | |||
Issue: convert.ToAPIIssue(issue), | |||
Comment: comment.APIFormat(), | |||
Comment: convert.ToComment(comment), | |||
Repository: repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
IsPull: true, | |||
}) | |||
} else { | |||
err = webhook_module.PrepareWebhooks(issue.Repo, models.HookEventIssueComment, &api.IssueCommentPayload{ | |||
Action: api.HookIssueCommentCreated, | |||
Issue: convert.ToAPIIssue(issue), | |||
Comment: comment.APIFormat(), | |||
Comment: convert.ToComment(comment), | |||
Repository: repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
IsPull: false, | |||
}) | |||
} | |||
@@ -439,18 +439,18 @@ func (m *webhookNotifier) NotifyDeleteComment(doer *models.User, comment *models | |||
err = webhook_module.PrepareWebhooks(comment.Issue.Repo, models.HookEventPullRequestComment, &api.IssueCommentPayload{ | |||
Action: api.HookIssueCommentDeleted, | |||
Issue: convert.ToAPIIssue(comment.Issue), | |||
Comment: comment.APIFormat(), | |||
Comment: convert.ToComment(comment), | |||
Repository: comment.Issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
IsPull: true, | |||
}) | |||
} else { | |||
err = webhook_module.PrepareWebhooks(comment.Issue.Repo, models.HookEventIssueComment, &api.IssueCommentPayload{ | |||
Action: api.HookIssueCommentDeleted, | |||
Issue: convert.ToAPIIssue(comment.Issue), | |||
Comment: comment.APIFormat(), | |||
Comment: convert.ToComment(comment), | |||
Repository: comment.Issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
IsPull: false, | |||
}) | |||
} | |||
@@ -490,7 +490,7 @@ func (m *webhookNotifier) NotifyIssueChangeLabels(doer *models.User, issue *mode | |||
Index: issue.Index, | |||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest), | |||
Repository: issue.Repo.APIFormat(models.AccessModeNone), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
}) | |||
} else { | |||
err = webhook_module.PrepareWebhooks(issue.Repo, models.HookEventIssueLabel, &api.IssuePayload{ | |||
@@ -498,7 +498,7 @@ func (m *webhookNotifier) NotifyIssueChangeLabels(doer *models.User, issue *mode | |||
Index: issue.Index, | |||
Issue: convert.ToAPIIssue(issue), | |||
Repository: issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
}) | |||
} | |||
if err != nil { | |||
@@ -532,7 +532,7 @@ func (m *webhookNotifier) NotifyIssueChangeMilestone(doer *models.User, issue *m | |||
Index: issue.Index, | |||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest), | |||
Repository: issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
}) | |||
} else { | |||
err = webhook_module.PrepareWebhooks(issue.Repo, models.HookEventIssueMilestone, &api.IssuePayload{ | |||
@@ -540,7 +540,7 @@ func (m *webhookNotifier) NotifyIssueChangeMilestone(doer *models.User, issue *m | |||
Index: issue.Index, | |||
Issue: convert.ToAPIIssue(issue), | |||
Repository: issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
}) | |||
} | |||
if err != nil { | |||
@@ -549,7 +549,7 @@ func (m *webhookNotifier) NotifyIssueChangeMilestone(doer *models.User, issue *m | |||
} | |||
func (m *webhookNotifier) NotifyPushCommits(pusher *models.User, repo *models.Repository, refName, oldCommitID, newCommitID string, commits *repository.PushCommits) { | |||
apiPusher := pusher.APIFormat() | |||
apiPusher := convert.ToUser(pusher, false, false) | |||
apiCommits, err := commits.ToAPIPayloadCommits(repo.RepoPath(), repo.HTMLURL()) | |||
if err != nil { | |||
log.Error("commits.ToAPIPayloadCommits failed: %v", err) | |||
@@ -598,7 +598,7 @@ func (*webhookNotifier) NotifyMergePullRequest(pr *models.PullRequest, doer *mod | |||
Index: pr.Issue.Index, | |||
PullRequest: convert.ToAPIPullRequest(pr), | |||
Repository: pr.Issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
Action: api.HookIssueClosed, | |||
} | |||
@@ -631,7 +631,7 @@ func (m *webhookNotifier) NotifyPullRequestChangeTargetBranch(doer *models.User, | |||
}, | |||
PullRequest: convert.ToAPIPullRequest(issue.PullRequest), | |||
Repository: issue.Repo.APIFormat(mode), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
}) | |||
if err != nil { | |||
@@ -670,7 +670,7 @@ func (m *webhookNotifier) NotifyPullRequestReview(pr *models.PullRequest, review | |||
Index: review.Issue.Index, | |||
PullRequest: convert.ToAPIPullRequest(pr), | |||
Repository: review.Issue.Repo.APIFormat(mode), | |||
Sender: review.Reviewer.APIFormat(), | |||
Sender: convert.ToUser(review.Reviewer, false, false), | |||
Review: &api.ReviewPayload{ | |||
Type: string(reviewHookType), | |||
Content: review.Content, | |||
@@ -681,7 +681,7 @@ func (m *webhookNotifier) NotifyPullRequestReview(pr *models.PullRequest, review | |||
} | |||
func (m *webhookNotifier) NotifyCreateRef(pusher *models.User, repo *models.Repository, refType, refFullName string) { | |||
apiPusher := pusher.APIFormat() | |||
apiPusher := convert.ToUser(pusher, false, false) | |||
apiRepo := repo.APIFormat(models.AccessModeNone) | |||
refName := git.RefEndName(refFullName) | |||
@@ -725,14 +725,14 @@ func (m *webhookNotifier) NotifyPullRequestSynchronized(doer *models.User, pr *m | |||
Index: pr.Issue.Index, | |||
PullRequest: convert.ToAPIPullRequest(pr), | |||
Repository: pr.Issue.Repo.APIFormat(models.AccessModeNone), | |||
Sender: doer.APIFormat(), | |||
Sender: convert.ToUser(doer, false, false), | |||
}); err != nil { | |||
log.Error("PrepareWebhooks [pull_id: %v]: %v", pr.ID, err) | |||
} | |||
} | |||
func (m *webhookNotifier) NotifyDeleteRef(pusher *models.User, repo *models.Repository, refType, refFullName string) { | |||
apiPusher := pusher.APIFormat() | |||
apiPusher := convert.ToUser(pusher, false, false) | |||
apiRepo := repo.APIFormat(models.AccessModeNone) | |||
refName := git.RefEndName(refFullName) | |||
@@ -756,9 +756,9 @@ func sendReleaseHook(doer *models.User, rel *models.Release, action api.HookRele | |||
mode, _ := models.AccessLevel(rel.Publisher, rel.Repo) | |||
if err := webhook_module.PrepareWebhooks(rel.Repo, models.HookEventRelease, &api.ReleasePayload{ | |||
Action: action, | |||
Release: rel.APIFormat(), | |||
Release: convert.ToRelease(rel), | |||
Repository: rel.Repo.APIFormat(mode), | |||
Sender: rel.Publisher.APIFormat(), | |||
Sender: convert.ToUser(rel.Publisher, false, false), | |||
}); err != nil { | |||
log.Error("PrepareWebhooks: %v", err) | |||
} | |||
@@ -777,7 +777,7 @@ func (m *webhookNotifier) NotifyDeleteRelease(doer *models.User, rel *models.Rel | |||
} | |||
func (m *webhookNotifier) NotifySyncPushCommits(pusher *models.User, repo *models.Repository, refName, oldCommitID, newCommitID string, commits *repository.PushCommits) { | |||
apiPusher := pusher.APIFormat() | |||
apiPusher := convert.ToUser(pusher, false, false) | |||
apiCommits, err := commits.ToAPIPayloadCommits(repo.RepoPath(), repo.HTMLURL()) | |||
if err != nil { | |||
log.Error("commits.ToAPIPayloadCommits failed: %v", err) |
@@ -11,6 +11,7 @@ import ( | |||
"code.gitea.io/gitea/models" | |||
"code.gitea.io/gitea/modules/context" | |||
"code.gitea.io/gitea/modules/convert" | |||
api "code.gitea.io/gitea/modules/structs" | |||
"code.gitea.io/gitea/routers/api/v1/utils" | |||
comment_service "code.gitea.io/gitea/services/comments" | |||
@@ -85,7 +86,7 @@ func ListIssueComments(ctx *context.APIContext) { | |||
apiComments := make([]*api.Comment, len(comments)) | |||
for i, comment := range comments { | |||
comment.Issue = issue | |||
apiComments[i] = comments[i].APIFormat() | |||
apiComments[i] = convert.ToComment(comments[i]) | |||
} | |||
ctx.JSON(http.StatusOK, &apiComments) | |||
} | |||
@@ -167,7 +168,7 @@ func ListRepoIssueComments(ctx *context.APIContext) { | |||
return | |||
} | |||
for i := range comments { | |||
apiComments[i] = comments[i].APIFormat() | |||
apiComments[i] = convert.ToComment(comments[i]) | |||
} | |||
ctx.JSON(http.StatusOK, &apiComments) | |||
} | |||
@@ -225,7 +226,7 @@ func CreateIssueComment(ctx *context.APIContext, form api.CreateIssueCommentOpti | |||
return | |||
} | |||
ctx.JSON(http.StatusCreated, comment.APIFormat()) | |||
ctx.JSON(http.StatusCreated, convert.ToComment(comment)) | |||
} | |||
// GetIssueComment Get a comment by ID | |||
@@ -293,7 +294,7 @@ func GetIssueComment(ctx *context.APIContext) { | |||
return | |||
} | |||
ctx.JSON(http.StatusOK, comment.APIFormat()) | |||
ctx.JSON(http.StatusOK, convert.ToComment(comment)) | |||
} | |||
// EditIssueComment modify a comment of an issue | |||
@@ -414,7 +415,7 @@ func editIssueComment(ctx *context.APIContext, form api.EditIssueCommentOption) | |||
return | |||
} | |||
ctx.JSON(http.StatusOK, comment.APIFormat()) | |||
ctx.JSON(http.StatusOK, convert.ToComment(comment)) | |||
} | |||
// DeleteIssueComment delete a comment from an issue |
@@ -10,6 +10,7 @@ import ( | |||
"code.gitea.io/gitea/models" | |||
"code.gitea.io/gitea/modules/context" | |||
"code.gitea.io/gitea/modules/convert" | |||
api "code.gitea.io/gitea/modules/structs" | |||
"code.gitea.io/gitea/routers/api/v1/utils" | |||
) | |||
@@ -75,7 +76,7 @@ func GetIssueCommentReactions(ctx *context.APIContext) { | |||
var result []api.Reaction | |||
for _, r := range reactions { | |||
result = append(result, api.Reaction{ | |||
User: r.User.APIFormat(), | |||
User: convert.ToUser(r.User, ctx.IsSigned, false), | |||
Reaction: r.Type, | |||
Created: r.CreatedUnix.AsTime(), | |||
}) | |||
@@ -193,7 +194,7 @@ func changeIssueCommentReaction(ctx *context.APIContext, form api.EditReactionOp | |||
ctx.Error(http.StatusForbidden, err.Error(), err) | |||
} else if models.IsErrReactionAlreadyExist(err) { | |||
ctx.JSON(http.StatusOK, api.Reaction{ | |||
User: ctx.User.APIFormat(), | |||
User: convert.ToUser(ctx.User, true, true), | |||
Reaction: reaction.Type, | |||
Created: reaction.CreatedUnix.AsTime(), | |||
}) | |||
@@ -204,7 +205,7 @@ func changeIssueCommentReaction(ctx *context.APIContext, form api.EditReactionOp | |||
} | |||
ctx.JSON(http.StatusCreated, api.Reaction{ | |||
User: ctx.User.APIFormat(), | |||
User: convert.ToUser(ctx.User, true, true), | |||
Reaction: reaction.Type, | |||
Created: reaction.CreatedUnix.AsTime(), | |||
}) | |||
@@ -289,7 +290,7 @@ func GetIssueReactions(ctx *context.APIContext) { | |||
var result []api.Reaction | |||
for _, r := range reactions { | |||
result = append(result, api.Reaction{ | |||
User: r.User.APIFormat(), | |||
User: convert.ToUser(r.User, ctx.IsSigned, false), | |||
Reaction: r.Type, | |||
Created: r.CreatedUnix.AsTime(), | |||
}) | |||
@@ -402,7 +403,7 @@ func changeIssueReaction(ctx *context.APIContext, form api.EditReactionOption, i | |||
ctx.Error(http.StatusForbidden, err.Error(), err) | |||
} else if models.IsErrReactionAlreadyExist(err) { | |||
ctx.JSON(http.StatusOK, api.Reaction{ | |||
User: ctx.User.APIFormat(), | |||
User: convert.ToUser(ctx.User, true, true), | |||
Reaction: reaction.Type, | |||
Created: reaction.CreatedUnix.AsTime(), | |||
}) | |||
@@ -413,7 +414,7 @@ func changeIssueReaction(ctx *context.APIContext, form api.EditReactionOption, i | |||
} | |||
ctx.JSON(http.StatusCreated, api.Reaction{ | |||
User: ctx.User.APIFormat(), | |||
User: convert.ToUser(ctx.User, true, true), | |||
Reaction: reaction.Type, | |||
Created: reaction.CreatedUnix.AsTime(), | |||
}) |
@@ -9,6 +9,7 @@ import ( | |||
"code.gitea.io/gitea/models" | |||
"code.gitea.io/gitea/modules/context" | |||
"code.gitea.io/gitea/modules/convert" | |||
api "code.gitea.io/gitea/modules/structs" | |||
"code.gitea.io/gitea/routers/api/v1/utils" | |||
) | |||
@@ -276,6 +277,10 @@ func GetIssueSubscribers(ctx *context.APIContext) { | |||
ctx.Error(http.StatusInternalServerError, "GetUsersByIDs", err) | |||
return | |||
} | |||
apiUsers := make([]*api.User, 0, len(users)) | |||
for i := range users { | |||
apiUsers[i] = convert.ToUser(users[i], ctx.IsSigned, false) | |||
} | |||
ctx.JSON(http.StatusOK, users.APIFormat()) | |||
ctx.JSON(http.StatusOK, apiUsers) | |||
} |
@@ -9,6 +9,7 @@ import ( | |||
"code.gitea.io/gitea/models" | |||
"code.gitea.io/gitea/modules/context" | |||
"code.gitea.io/gitea/modules/convert" | |||
api "code.gitea.io/gitea/modules/structs" | |||
"code.gitea.io/gitea/routers/api/v1/utils" | |||
releaseservice "code.gitea.io/gitea/services/release" | |||
@@ -60,7 +61,7 @@ func GetRelease(ctx *context.APIContext) { | |||
ctx.Error(http.StatusInternalServerError, "LoadAttributes", err) | |||
return | |||
} | |||
ctx.JSON(http.StatusOK, release.APIFormat()) | |||
ctx.JSON(http.StatusOK, convert.ToRelease(release)) | |||
} | |||
// ListReleases list a repository's releases | |||
@@ -117,7 +118,7 @@ func ListReleases(ctx *context.APIContext) { | |||
ctx.Error(http.StatusInternalServerError, "LoadAttributes", err) | |||
return | |||
} | |||
rels[i] = release.APIFormat() | |||
rels[i] = convert.ToRelease(release) | |||
} | |||
ctx.JSON(http.StatusOK, rels) | |||
} | |||
@@ -205,7 +206,7 @@ func CreateRelease(ctx *context.APIContext, form api.CreateReleaseOption) { | |||
return | |||
} | |||
} | |||
ctx.JSON(http.StatusCreated, rel.APIFormat()) | |||
ctx.JSON(http.StatusCreated, convert.ToRelease(rel)) | |||
} | |||
// EditRelease edit a release | |||
@@ -288,7 +289,7 @@ func EditRelease(ctx *context.APIContext, form api.EditReleaseOption) { | |||
ctx.Error(http.StatusInternalServerError, "LoadAttributes", err) | |||
return | |||
} | |||
ctx.JSON(http.StatusOK, rel.APIFormat()) | |||
ctx.JSON(http.StatusOK, convert.ToRelease(rel)) | |||
} | |||
// DeleteRelease delete a release from a repository |
@@ -9,6 +9,7 @@ import ( | |||
"code.gitea.io/gitea/models" | |||
"code.gitea.io/gitea/modules/context" | |||
"code.gitea.io/gitea/modules/convert" | |||
"code.gitea.io/gitea/modules/log" | |||
"code.gitea.io/gitea/modules/setting" | |||
api "code.gitea.io/gitea/modules/structs" | |||
@@ -62,7 +63,7 @@ func GetReleaseAttachment(ctx *context.APIContext) { | |||
return | |||
} | |||
// FIXME Should prove the existence of the given repo, but results in unnecessary database requests | |||
ctx.JSON(http.StatusOK, attach.APIFormat()) | |||
ctx.JSON(http.StatusOK, convert.ToReleaseAttachment(attach)) | |||
} | |||
// ListReleaseAttachments lists all attachments of the release | |||
@@ -107,7 +108,7 @@ func ListReleaseAttachments(ctx *context.APIContext) { | |||
ctx.Error(http.StatusInternalServerError, "LoadAttributes", err) | |||
return | |||
} | |||
ctx.JSON(http.StatusOK, release.APIFormat().Attachments) | |||
ctx.JSON(http.StatusOK, convert.ToRelease(release).Attachments) | |||
} | |||
// CreateReleaseAttachment creates an attachment and saves the given file | |||
@@ -203,7 +204,7 @@ func CreateReleaseAttachment(ctx *context.APIContext) { | |||
return | |||
} | |||
ctx.JSON(http.StatusCreated, attach.APIFormat()) | |||
ctx.JSON(http.StatusCreated, convert.ToReleaseAttachment(attach)) | |||
} | |||
// EditReleaseAttachment updates the given attachment | |||
@@ -267,7 +268,7 @@ func EditReleaseAttachment(ctx *context.APIContext, form api.EditAttachmentOptio | |||
if err := models.UpdateAttachment(attach); err != nil { | |||
ctx.Error(http.StatusInternalServerError, "UpdateAttachment", attach) | |||
} | |||
ctx.JSON(http.StatusCreated, attach.APIFormat()) | |||
ctx.JSON(http.StatusCreated, convert.ToReleaseAttachment(attach)) | |||
} | |||
// DeleteReleaseAttachment delete a given attachment |
@@ -9,6 +9,7 @@ import ( | |||
"code.gitea.io/gitea/models" | |||
"code.gitea.io/gitea/modules/context" | |||
"code.gitea.io/gitea/modules/convert" | |||
) | |||
// GetReleaseTag get a single release of a repository by its tagname | |||
@@ -56,5 +57,5 @@ func GetReleaseTag(ctx *context.APIContext) { | |||
ctx.Error(http.StatusInternalServerError, "LoadAttributes", err) | |||
return | |||
} | |||
ctx.JSON(http.StatusOK, release.APIFormat()) | |||
ctx.JSON(http.StatusOK, convert.ToRelease(release)) | |||
} |
@@ -10,6 +10,7 @@ import ( | |||
"code.gitea.io/gitea/models" | |||
"code.gitea.io/gitea/modules/context" | |||
"code.gitea.io/gitea/modules/convert" | |||
"code.gitea.io/gitea/modules/repofiles" | |||
api "code.gitea.io/gitea/modules/structs" | |||
"code.gitea.io/gitea/routers/api/v1/utils" | |||
@@ -64,7 +65,7 @@ func NewCommitStatus(ctx *context.APIContext, form api.CreateStatusOption) { | |||
return | |||
} | |||
ctx.JSON(http.StatusCreated, status.APIFormat()) | |||
ctx.JSON(http.StatusCreated, convert.ToCommitStatus(status)) | |||
} | |||
// GetCommitStatuses returns all statuses for any given commit hash | |||
@@ -222,7 +223,7 @@ func getCommitStatuses(ctx *context.APIContext, sha string) { | |||
apiStatuses := make([]*api.Status, 0, len(statuses)) | |||
for _, status := range statuses { | |||
apiStatuses = append(apiStatuses, status.APIFormat()) | |||
apiStatuses = append(apiStatuses, convert.ToCommitStatus(status)) | |||
} | |||
ctx.SetLinkHeader(int(maxResults), listOptions.PageSize) | |||
@@ -305,7 +306,7 @@ func GetCombinedCommitStatusByRef(ctx *context.APIContext) { | |||
retStatus.Statuses = make([]*api.Status, 0, len(statuses)) | |||
for _, status := range statuses { | |||
retStatus.Statuses = append(retStatus.Statuses, status.APIFormat()) | |||
retStatus.Statuses = append(retStatus.Statuses, convert.ToCommitStatus(status)) | |||
if status.State.NoBetterThan(retStatus.State) { | |||
retStatus.State = status.State | |||
} |
@@ -19,6 +19,7 @@ import ( | |||
"code.gitea.io/gitea/modules/auth" | |||
"code.gitea.io/gitea/modules/base" | |||
"code.gitea.io/gitea/modules/context" | |||
"code.gitea.io/gitea/modules/convert" | |||
"code.gitea.io/gitea/modules/git" | |||
issue_indexer "code.gitea.io/gitea/modules/indexer/issues" | |||
"code.gitea.io/gitea/modules/log" | |||
@@ -2453,7 +2454,7 @@ func GetIssueAttachments(ctx *context.Context) { | |||
issue := GetActionIssue(ctx) | |||
var attachments = make([]*api.Attachment, len(issue.Attachments)) | |||
for i := 0; i < len(issue.Attachments); i++ { | |||
attachments[i] = issue.Attachments[i].APIFormat() | |||
attachments[i] = convert.ToReleaseAttachment(issue.Attachments[i]) | |||
} | |||
ctx.JSON(200, attachments) | |||
} | |||
@@ -2472,7 +2473,7 @@ func GetCommentAttachments(ctx *context.Context) { | |||
return | |||
} | |||
for i := 0; i < len(comment.Attachments); i++ { | |||
attachments = append(attachments, comment.Attachments[i].APIFormat()) | |||
attachments = append(attachments, convert.ToReleaseAttachment(comment.Attachments[i])) | |||
} | |||
} | |||
ctx.JSON(200, attachments) |
@@ -16,6 +16,7 @@ import ( | |||
"code.gitea.io/gitea/modules/auth" | |||
"code.gitea.io/gitea/modules/base" | |||
"code.gitea.io/gitea/modules/context" | |||
"code.gitea.io/gitea/modules/convert" | |||
"code.gitea.io/gitea/modules/git" | |||
"code.gitea.io/gitea/modules/setting" | |||
api "code.gitea.io/gitea/modules/structs" | |||
@@ -1052,7 +1053,7 @@ func TestWebhook(ctx *context.Context) { | |||
} | |||
} | |||
apiUser := ctx.User.APIFormat() | |||
apiUser := convert.ToUser(ctx.User, true, true) | |||
p := &api.PushPayload{ | |||
Ref: git.BranchPrefix + ctx.Repo.Repository.DefaultBranch, | |||
Before: commit.ID.String(), |