@@ -11,13 +11,11 @@ import (
1111
1212 "gitea.dev/models/db"
1313 git_model "gitea.dev/models/git"
14- org_model "gitea.dev/models/organization"
1514 "gitea.dev/models/packages"
1615 "gitea.dev/models/perm"
1716 access_model "gitea.dev/models/perm/access"
1817 repo_model "gitea.dev/models/repo"
1918 "gitea.dev/models/unit"
20- user_model "gitea.dev/models/user"
2119 "gitea.dev/modules/json"
2220 "gitea.dev/modules/optional"
2321 composer_module "gitea.dev/modules/packages/composer"
@@ -510,7 +508,7 @@ func CreateComposerDevBranch(ctx *context.APIContext) {
510508 // "404":
511509 // "$ref": "#/responses/notFound"
512510
513- if ! canWriteOwnerPackages ( ctx , ctx .Package .Owner , ctx .Doer ) {
511+ if ctx .Package .AccessMode < perm . AccessModeWrite && ! ctx .IsUserSiteAdmin ( ) {
514512 ctx .APIError (http .StatusForbidden , "user should have package write permission or be a site admin" )
515513 return
516514 }
@@ -650,24 +648,6 @@ func CreateComposerDevBranch(ctx *context.APIContext) {
650648 })
651649}
652650
653- func canWriteOwnerPackages (ctx * context.APIContext , owner , doer * user_model.User ) bool {
654- if ctx .IsUserSiteAdmin () {
655- return true
656- }
657- if doer == nil || doer .IsGhost () {
658- return false
659- }
660- if ! owner .IsOrganization () {
661- return owner .ID == doer .ID
662- }
663- accessMode , err := org_model .OrgFromUser (owner ).GetOrgUserMaxAuthorizeLevel (ctx , doer .ID )
664- if err != nil {
665- ctx .APIErrorInternal (err )
666- return false
667- }
668- return accessMode >= perm .AccessModeWrite
669- }
670-
671651func searchPackages (ctx * context.APIContext , opts * packages.PackageSearchOptions ) ([]* api.Package , int64 , error ) {
672652 pvs , count , err := packages .SearchVersions (ctx , opts )
673653 if err != nil {
0 commit comments