summaryrefslogtreecommitdiffstats
path: root/routers/api
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2020-01-01 23:51:10 +0100
committertechknowlogick <techknowlogick@gitea.io>2020-01-01 17:51:10 -0500
commitc620eb5b2d0d874da68ebd734d3864c5224f71f7 (patch)
tree340d2846fba024170ce31003af666814bb31bc33 /routers/api
parentd1798f77f62988828c004fcf8d234bff6340deb7 (diff)
downloadgitea-c620eb5b2d0d874da68ebd734d3864c5224f71f7.tar.gz
gitea-c620eb5b2d0d874da68ebd734d3864c5224f71f7.zip
Fix #9189 - API Allow only specific Colums to be updated on Issue (#9539)
* dont insert "-1" in any case to issue.poster_id * Make sure API cant override importand fields * code format * fix lint * WIP test * add missing poster_id * fix test * user.IsGhost handle nil * CI.restart() * make sure no -1 is realy added * CI.restart() * @lunny suggestion remove some not allowed fields * seperate issue.LoadMilestone * load milestone and return it on IssueEdit via API * extend Test for TestAPIEditIssue * fix fixtures * declare allowedColumnsUpdateIssueByAPI only once * Update Year * no var just write id drecty into func cal Co-authored-by: Lauris BH <lauris@nix.lv>
Diffstat (limited to 'routers/api')
-rw-r--r--routers/api/v1/repo/issue.go10
-rw-r--r--routers/api/v1/repo/pull.go4
2 files changed, 9 insertions, 5 deletions
diff --git a/routers/api/v1/repo/issue.go b/routers/api/v1/repo/issue.go
index 4396e6faae..ad82d53e7a 100644
--- a/routers/api/v1/repo/issue.go
+++ b/routers/api/v1/repo/issue.go
@@ -524,8 +524,8 @@ func EditIssue(ctx *context.APIContext, form api.EditIssueOption) {
}
}
- if err = models.UpdateIssue(issue); err != nil {
- ctx.Error(http.StatusInternalServerError, "UpdateIssue", err)
+ if err = models.UpdateIssueByAPI(issue); err != nil {
+ ctx.Error(http.StatusInternalServerError, "UpdateIssueByAPI", err)
return
}
if form.State != nil {
@@ -542,7 +542,11 @@ func EditIssue(ctx *context.APIContext, form api.EditIssueOption) {
// Refetch from database to assign some automatic values
issue, err = models.GetIssueByID(issue.ID)
if err != nil {
- ctx.Error(http.StatusInternalServerError, "GetIssueByID", err)
+ ctx.InternalServerError(err)
+ return
+ }
+ if err = issue.LoadMilestone(); err != nil {
+ ctx.InternalServerError(err)
return
}
ctx.JSON(http.StatusCreated, issue.APIFormat())
diff --git a/routers/api/v1/repo/pull.go b/routers/api/v1/repo/pull.go
index 0392eb8e8c..d0551320fd 100644
--- a/routers/api/v1/repo/pull.go
+++ b/routers/api/v1/repo/pull.go
@@ -450,8 +450,8 @@ func EditPullRequest(ctx *context.APIContext, form api.EditPullRequestOption) {
}
}
- if err = models.UpdateIssue(issue); err != nil {
- ctx.Error(http.StatusInternalServerError, "UpdateIssue", err)
+ if err = models.UpdateIssueByAPI(issue); err != nil {
+ ctx.Error(http.StatusInternalServerError, "UpdateIssueByAPI", err)
return
}
if form.State != nil {