[Refactor] move APIFormat() of Issue and Label to convert package (#10423)

* Label: delete .APIFormat() and use convert.ToLabel()

* move issue APIFormat too

* add missing one

* move TEST too

* handle error -> return empty APIIssue

* Apply suggestions from code review

Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>

Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
This commit is contained in:
6543 2020-02-29 03:49:50 +01:00 committed by GitHub
parent c32f3da33c
commit 7e8cdba181
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 167 additions and 145 deletions

View file

@ -13,6 +13,7 @@ import (
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/convert"
issue_indexer "code.gitea.io/gitea/modules/indexer/issues"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
@ -168,13 +169,8 @@ func SearchIssues(ctx *context.APIContext) {
return
}
apiIssues := make([]*api.Issue, len(issues))
for i := range issues {
apiIssues[i] = issues[i].APIFormat()
}
ctx.SetLinkHeader(issueCount, setting.UI.IssuePagingNum)
ctx.JSON(http.StatusOK, &apiIssues)
ctx.JSON(http.StatusOK, convert.ToAPIIssueList(issues))
}
// ListIssues list the issues of a repository
@ -287,13 +283,8 @@ func ListIssues(ctx *context.APIContext) {
return
}
apiIssues := make([]*api.Issue, len(issues))
for i := range issues {
apiIssues[i] = issues[i].APIFormat()
}
ctx.SetLinkHeader(ctx.Repo.Repository.NumIssues, listOptions.PageSize)
ctx.JSON(http.StatusOK, &apiIssues)
ctx.JSON(http.StatusOK, convert.ToAPIIssueList(issues))
}
// GetIssue get an issue of a repository
@ -335,7 +326,7 @@ func GetIssue(ctx *context.APIContext) {
}
return
}
ctx.JSON(http.StatusOK, issue.APIFormat())
ctx.JSON(http.StatusOK, convert.ToAPIIssue(issue))
}
// CreateIssue create an issue of a repository
@ -450,7 +441,7 @@ func CreateIssue(ctx *context.APIContext, form api.CreateIssueOption) {
ctx.Error(http.StatusInternalServerError, "GetIssueByID", err)
return
}
ctx.JSON(http.StatusCreated, issue.APIFormat())
ctx.JSON(http.StatusCreated, convert.ToAPIIssue(issue))
}
// EditIssue modify an issue of a repository
@ -596,7 +587,7 @@ func EditIssue(ctx *context.APIContext, form api.EditIssueOption) {
ctx.InternalServerError(err)
return
}
ctx.JSON(http.StatusCreated, issue.APIFormat())
ctx.JSON(http.StatusCreated, convert.ToAPIIssue(issue))
}
// UpdateIssueDeadline updates an issue deadline

View file

@ -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"
issue_service "code.gitea.io/gitea/services/issue"
)
@ -59,11 +60,7 @@ func ListIssueLabels(ctx *context.APIContext) {
return
}
apiLabels := make([]*api.Label, len(issue.Labels))
for i := range issue.Labels {
apiLabels[i] = issue.Labels[i].APIFormat()
}
ctx.JSON(http.StatusOK, &apiLabels)
ctx.JSON(http.StatusOK, convert.ToLabelList(issue.Labels))
}
// AddIssueLabels add labels for an issue
@ -118,11 +115,7 @@ func AddIssueLabels(ctx *context.APIContext, form api.IssueLabelsOption) {
return
}
apiLabels := make([]*api.Label, len(labels))
for i := range labels {
apiLabels[i] = labels[i].APIFormat()
}
ctx.JSON(http.StatusOK, &apiLabels)
ctx.JSON(http.StatusOK, convert.ToLabelList(labels))
}
// DeleteIssueLabel delete a label for an issue
@ -248,11 +241,7 @@ func ReplaceIssueLabels(ctx *context.APIContext, form api.IssueLabelsOption) {
return
}
apiLabels := make([]*api.Label, len(labels))
for i := range labels {
apiLabels[i] = labels[i].APIFormat()
}
ctx.JSON(http.StatusOK, &apiLabels)
ctx.JSON(http.StatusOK, convert.ToLabelList(labels))
}
// ClearIssueLabels delete all the labels for an issue

View file

@ -13,6 +13,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"
)
@ -53,11 +54,7 @@ func ListLabels(ctx *context.APIContext) {
return
}
apiLabels := make([]*api.Label, len(labels))
for i := range labels {
apiLabels[i] = labels[i].APIFormat()
}
ctx.JSON(http.StatusOK, &apiLabels)
ctx.JSON(http.StatusOK, convert.ToLabelList(labels))
}
// GetLabel get label by repository and label id
@ -107,7 +104,7 @@ func GetLabel(ctx *context.APIContext) {
return
}
ctx.JSON(http.StatusOK, label.APIFormat())
ctx.JSON(http.StatusOK, convert.ToLabel(label))
}
// CreateLabel create a label for a repository
@ -159,7 +156,7 @@ func CreateLabel(ctx *context.APIContext, form api.CreateLabelOption) {
ctx.Error(http.StatusInternalServerError, "NewLabel", err)
return
}
ctx.JSON(http.StatusCreated, label.APIFormat())
ctx.JSON(http.StatusCreated, convert.ToLabel(label))
}
// EditLabel modify a label for a repository
@ -228,7 +225,7 @@ func EditLabel(ctx *context.APIContext, form api.EditLabelOption) {
ctx.ServerError("UpdateLabel", err)
return
}
ctx.JSON(http.StatusOK, label.APIFormat())
ctx.JSON(http.StatusOK, convert.ToLabel(label))
}
// DeleteLabel delete a label for a repository