diff options
author | Unknwon <u@gogs.io> | 2015-12-04 17:16:42 -0500 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2015-12-04 17:16:42 -0500 |
commit | 56dd430a10bf5281caf648344e4660fbdc5d4dee (patch) | |
tree | 9493b1a9f77321525d62ce1ccefc4dd792391832 /modules | |
parent | e0bae9547af03e5e7c0201faaa9568d6a1cc9e1f (diff) | |
download | gitea-56dd430a10bf5281caf648344e4660fbdc5d4dee.tar.gz gitea-56dd430a10bf5281caf648344e4660fbdc5d4dee.zip |
refactor API routes and some work for #976
Diffstat (limited to 'modules')
-rw-r--r-- | modules/auth/apiv1/miscellaneous.go | 73 | ||||
-rw-r--r-- | modules/middleware/auth.go | 19 | ||||
-rw-r--r-- | modules/middleware/repo.go | 60 |
3 files changed, 0 insertions, 152 deletions
diff --git a/modules/auth/apiv1/miscellaneous.go b/modules/auth/apiv1/miscellaneous.go deleted file mode 100644 index 5032f0ac71..0000000000 --- a/modules/auth/apiv1/miscellaneous.go +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2014 The Gogs 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 apiv1 - -import ( - "reflect" - - "github.com/go-macaron/binding" - "gopkg.in/macaron.v1" - - "github.com/gogits/gogs/modules/auth" -) - -type MarkdownForm struct { - Text string - Mode string - Context string -} - -func (f *MarkdownForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { - return validateApiReq(errs, ctx.Data, f) -} - -func validateApiReq(errs binding.Errors, data map[string]interface{}, f auth.Form) binding.Errors { - if errs.Len() == 0 { - return errs - } - - data["HasError"] = true - - typ := reflect.TypeOf(f) - val := reflect.ValueOf(f) - - if typ.Kind() == reflect.Ptr { - typ = typ.Elem() - val = val.Elem() - } - - for i := 0; i < typ.NumField(); i++ { - field := typ.Field(i) - - fieldName := field.Tag.Get("form") - // Allow ignored fields in the struct - if fieldName == "-" { - continue - } - - if errs[0].FieldNames[0] == field.Name { - switch errs[0].Classification { - case binding.ERR_REQUIRED: - data["ErrorMsg"] = fieldName + " cannot be empty" - case binding.ERR_ALPHA_DASH: - data["ErrorMsg"] = fieldName + " must be valid alpha or numeric or dash(-_) characters" - case binding.ERR_ALPHA_DASH_DOT: - data["ErrorMsg"] = fieldName + " must be valid alpha or numeric or dash(-_) or dot characters" - case binding.ERR_MIN_SIZE: - data["ErrorMsg"] = fieldName + " must contain at least " + auth.GetMinSize(field) + " characters" - case binding.ERR_MAX_SIZE: - data["ErrorMsg"] = fieldName + " must contain at most " + auth.GetMaxSize(field) + " characters" - case binding.ERR_EMAIL: - data["ErrorMsg"] = fieldName + " is not a valid e-mail address" - case binding.ERR_URL: - data["ErrorMsg"] = fieldName + " is not a valid URL" - default: - data["ErrorMsg"] = "Unknown error: " + errs[0].Classification - } - return errs - } - } - return errs -} diff --git a/modules/middleware/auth.go b/modules/middleware/auth.go index 078bdfdc5b..1f979c343e 100644 --- a/modules/middleware/auth.go +++ b/modules/middleware/auth.go @@ -130,22 +130,3 @@ func Toggle(options *ToggleOptions) macaron.Handler { } } } - -// Contexter middleware already checks token for user sign in process. -func ApiReqToken() macaron.Handler { - return func(ctx *Context) { - if !ctx.IsSigned { - ctx.Error(401) - return - } - } -} - -func ApiReqBasicAuth() macaron.Handler { - return func(ctx *Context) { - if !ctx.IsBasicAuth { - ctx.Error(401) - return - } - } -} diff --git a/modules/middleware/repo.go b/modules/middleware/repo.go index 46df9f04e5..78bab4c564 100644 --- a/modules/middleware/repo.go +++ b/modules/middleware/repo.go @@ -17,66 +17,6 @@ import ( "github.com/gogits/gogs/modules/setting" ) -func ApiRepoAssignment() macaron.Handler { - return func(ctx *Context) { - ctx.Repo = &RepoContext{} - - userName := ctx.Params(":username") - repoName := ctx.Params(":reponame") - - var ( - owner *models.User - err error - ) - - // Check if the user is the same as the repository owner. - if ctx.IsSigned && ctx.User.LowerName == strings.ToLower(userName) { - owner = ctx.User - } else { - owner, err = models.GetUserByName(userName) - if err != nil { - if models.IsErrUserNotExist(err) { - ctx.Error(404) - } else { - ctx.APIError(500, "GetUserByName", err) - } - return - } - } - ctx.Repo.Owner = owner - - // Get repository. - repo, err := models.GetRepositoryByName(owner.Id, repoName) - if err != nil { - if models.IsErrRepoNotExist(err) { - ctx.Error(404) - } else { - ctx.APIError(500, "GetRepositoryByName", err) - } - return - } else if err = repo.GetOwner(); err != nil { - ctx.APIError(500, "GetOwner", err) - return - } - - mode, err := models.AccessLevel(ctx.User, repo) - if err != nil { - ctx.APIError(500, "AccessLevel", err) - return - } - - ctx.Repo.AccessMode = mode - - // Check access. - if ctx.Repo.AccessMode == models.ACCESS_MODE_NONE { - ctx.Error(404) - return - } - - ctx.Repo.Repository = repo - } -} - // RepoRef handles repository reference name including those contain `/`. func RepoRef() macaron.Handler { return func(ctx *Context) { |