diff options
author | Unknwon <u@gogs.io> | 2016-03-13 23:20:22 -0400 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2016-03-13 23:20:22 -0400 |
commit | 9bd9ad420582a7a34d18011847bb789f64271b1f (patch) | |
tree | 05b1191897ed5f56395faacd3c8bf1ab00a14c9c /routers/api/v1/api.go | |
parent | dd6faf7f9bd0a1dbf986e124ea0f4db249e1da48 (diff) |
#1692 add CRUD issue APIs
- Fix go-gogs-client#10
- Related to #809
Diffstat (limited to 'routers/api/v1/api.go')
-rw-r--r-- | routers/api/v1/api.go | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go index a75910b8..59625efd 100644 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -62,16 +62,18 @@ func RepoAssignment() macaron.Handler { return } - mode, err := models.AccessLevel(ctx.User, repo) - if err != nil { - ctx.Error(500, "AccessLevel", err) - return + if ctx.IsSigned && ctx.User.IsAdmin { + ctx.Repo.AccessMode = models.ACCESS_MODE_OWNER + } else { + mode, err := models.AccessLevel(ctx.User, repo) + if err != nil { + ctx.Error(500, "AccessLevel", err) + return + } + ctx.Repo.AccessMode = mode } - ctx.Repo.AccessMode = mode - - // Check access. - if ctx.Repo.AccessMode == models.ACCESS_MODE_NONE { + if !ctx.Repo.HasAccess() { ctx.Status(404) return } @@ -193,9 +195,9 @@ func RegisterRoutes(m *macaron.Macaron) { m.Combo("/:id").Get(repo.GetDeployKey). Delete(repo.DeleteDeploykey) }) - m.Group("/issue", func() { - m.Combo("").Get().Post() - m.Combo("/:index").Get().Patch() + m.Group("/issues", func() { + m.Combo("").Get(repo.ListIssues).Post(bind(api.CreateIssueOption{}), repo.CreateIssue) + m.Combo("/:index").Get(repo.GetIssue).Patch(bind(api.EditIssueOption{}), repo.EditIssue) }) }, RepoAssignment()) }, ReqToken()) |