diff options
author | KN4CK3R <admin@oldschoolhack.me> | 2022-03-26 10:04:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-26 17:04:22 +0800 |
commit | 59b867dc2dfc1ecb0ee703ff44e1be9c5c53cf86 (patch) | |
tree | 7114b991554e6e7dcb4123c0aa365c674d8411a0 /routers/api/v1/org | |
parent | f36701c702dc67011999cfaaf37e002c13e7a87e (diff) | |
download | gitea-59b867dc2dfc1ecb0ee703ff44e1be9c5c53cf86.tar.gz gitea-59b867dc2dfc1ecb0ee703ff44e1be9c5c53cf86.zip |
Add `ContextUser` to http request context (#18798)
This PR adds a middleware which sets a ContextUser (like GetUserByParams before) in a single place which can be used by other methods. For routes which represent a repo or org the respective middlewares set the field too.
Also fix a bug in modules/context/org.go during refactoring.
Diffstat (limited to 'routers/api/v1/org')
-rw-r--r-- | routers/api/v1/org/org.go | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/routers/api/v1/org/org.go b/routers/api/v1/org/org.go index 63cc0e9d39..fcc98f4b78 100644 --- a/routers/api/v1/org/org.go +++ b/routers/api/v1/org/org.go @@ -99,11 +99,7 @@ func ListUserOrgs(ctx *context.APIContext) { // "200": // "$ref": "#/responses/OrganizationList" - u := user.GetUserByParams(ctx) - if ctx.Written() { - return - } - listUserOrgs(ctx, u) + listUserOrgs(ctx, ctx.ContextUser) } // GetUserOrgsPermissions get user permissions in organization @@ -132,11 +128,6 @@ func GetUserOrgsPermissions(ctx *context.APIContext) { // "404": // "$ref": "#/responses/notFound" - var u *user_model.User - if u = user.GetUserByParams(ctx); u == nil { - return - } - var o *user_model.User if o = user.GetUserByParamsName(ctx, ":org"); o == nil { return @@ -144,13 +135,13 @@ func GetUserOrgsPermissions(ctx *context.APIContext) { op := api.OrganizationPermissions{} - if !models.HasOrgOrUserVisible(o, u) { + if !models.HasOrgOrUserVisible(o, ctx.ContextUser) { ctx.NotFound("HasOrgOrUserVisible", nil) return } org := models.OrgFromUser(o) - authorizeLevel, err := org.GetOrgUserMaxAuthorizeLevel(u.ID) + authorizeLevel, err := org.GetOrgUserMaxAuthorizeLevel(ctx.ContextUser.ID) if err != nil { ctx.Error(http.StatusInternalServerError, "GetOrgUserAuthorizeLevel", err) return @@ -169,7 +160,7 @@ func GetUserOrgsPermissions(ctx *context.APIContext) { op.IsOwner = true } - op.CanCreateRepository, err = org.CanCreateOrgRepo(u.ID) + op.CanCreateRepository, err = org.CanCreateOrgRepo(ctx.ContextUser.ID) if err != nil { ctx.Error(http.StatusInternalServerError, "CanCreateOrgRepo", err) return |