mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Move organization related structs into sub package (#18518)
* Move organization related structs into sub package * Fix test * Fix lint * Move more functions into sub packages * Fix bug * Fix test * Update models/organization/team_repo.go Co-authored-by: KN4CK3R <admin@oldschoolhack.me> * Apply suggestions from code review Co-authored-by: KN4CK3R <admin@oldschoolhack.me> * Fix fmt * Follow suggestion from @Gusted * Fix test * Fix test * Fix bug * Use ctx but db.DefaultContext on routers * Fix bug * Fix bug * fix bug * Update models/organization/team_user.go * Fix bug Co-authored-by: KN4CK3R <admin@oldschoolhack.me> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		| @@ -9,6 +9,7 @@ import ( | ||||
| 	"fmt" | ||||
|  | ||||
| 	"code.gitea.io/gitea/models" | ||||
| 	"code.gitea.io/gitea/models/organization" | ||||
| 	repo_model "code.gitea.io/gitea/models/repo" | ||||
| 	user_model "code.gitea.io/gitea/models/user" | ||||
| 	"code.gitea.io/gitea/modules/log" | ||||
| @@ -50,7 +51,7 @@ func DeleteRepository(ctx context.Context, doer *user_model.User, repo *repo_mod | ||||
| func PushCreateRepo(authUser, owner *user_model.User, repoName string) (*repo_model.Repository, error) { | ||||
| 	if !authUser.IsAdmin { | ||||
| 		if owner.IsOrganization() { | ||||
| 			if ok, err := models.CanCreateOrgRepo(owner.ID, authUser.ID); err != nil { | ||||
| 			if ok, err := organization.CanCreateOrgRepo(owner.ID, authUser.ID); err != nil { | ||||
| 				return nil, err | ||||
| 			} else if !ok { | ||||
| 				return nil, fmt.Errorf("cannot push-create repository for org") | ||||
|   | ||||
| @@ -9,6 +9,7 @@ import ( | ||||
|  | ||||
| 	"code.gitea.io/gitea/models" | ||||
| 	"code.gitea.io/gitea/models/db" | ||||
| 	"code.gitea.io/gitea/models/organization" | ||||
| 	"code.gitea.io/gitea/models/perm" | ||||
| 	repo_model "code.gitea.io/gitea/models/repo" | ||||
| 	user_model "code.gitea.io/gitea/models/user" | ||||
| @@ -21,7 +22,7 @@ import ( | ||||
| var repoWorkingPool = sync.NewExclusivePool() | ||||
|  | ||||
| // TransferOwnership transfers all corresponding setting from old user to new one. | ||||
| func TransferOwnership(doer, newOwner *user_model.User, repo *repo_model.Repository, teams []*models.Team) error { | ||||
| func TransferOwnership(doer, newOwner *user_model.User, repo *repo_model.Repository, teams []*organization.Team) error { | ||||
| 	if err := repo.GetOwner(db.DefaultContext); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| @@ -46,7 +47,7 @@ func TransferOwnership(doer, newOwner *user_model.User, repo *repo_model.Reposit | ||||
| 	} | ||||
|  | ||||
| 	for _, team := range teams { | ||||
| 		if err := team.AddRepository(newRepo); err != nil { | ||||
| 		if err := models.AddRepository(team, newRepo); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	} | ||||
| @@ -81,7 +82,7 @@ func ChangeRepositoryName(doer *user_model.User, repo *repo_model.Repository, ne | ||||
|  | ||||
| // StartRepositoryTransfer transfer a repo from one owner to a new one. | ||||
| // it make repository into pending transfer state, if doer can not create repo for new owner. | ||||
| func StartRepositoryTransfer(doer, newOwner *user_model.User, repo *repo_model.Repository, teams []*models.Team) error { | ||||
| func StartRepositoryTransfer(doer, newOwner *user_model.User, repo *repo_model.Repository, teams []*organization.Team) error { | ||||
| 	if err := models.TestRepositoryReadyForTransfer(repo.Status); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| @@ -93,7 +94,7 @@ func StartRepositoryTransfer(doer, newOwner *user_model.User, repo *repo_model.R | ||||
|  | ||||
| 	// If new owner is an org and user can create repos he can transfer directly too | ||||
| 	if newOwner.IsOrganization() { | ||||
| 		allowed, err := models.CanCreateOrgRepo(newOwner.ID, doer.ID) | ||||
| 		allowed, err := organization.CanCreateOrgRepo(newOwner.ID, doer.ID) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
|   | ||||
| @@ -9,6 +9,7 @@ import ( | ||||
| 	"testing" | ||||
|  | ||||
| 	"code.gitea.io/gitea/models" | ||||
| 	"code.gitea.io/gitea/models/organization" | ||||
| 	repo_model "code.gitea.io/gitea/models/repo" | ||||
| 	"code.gitea.io/gitea/models/unittest" | ||||
| 	user_model "code.gitea.io/gitea/models/user" | ||||
| @@ -53,7 +54,7 @@ func TestTransferOwnership(t *testing.T) { | ||||
| 		Content:   "user3/repo3", | ||||
| 	}) | ||||
|  | ||||
| 	unittest.CheckConsistencyFor(t, &repo_model.Repository{}, &user_model.User{}, &models.Team{}) | ||||
| 	unittest.CheckConsistencyFor(t, &repo_model.Repository{}, &user_model.User{}, &organization.Team{}) | ||||
| } | ||||
|  | ||||
| func TestStartRepositoryTransferSetPermission(t *testing.T) { | ||||
| @@ -74,5 +75,5 @@ func TestStartRepositoryTransferSetPermission(t *testing.T) { | ||||
| 	assert.NoError(t, err) | ||||
| 	assert.True(t, hasAccess) | ||||
|  | ||||
| 	unittest.CheckConsistencyFor(t, &repo_model.Repository{}, &user_model.User{}, &models.Team{}) | ||||
| 	unittest.CheckConsistencyFor(t, &repo_model.Repository{}, &user_model.User{}, &organization.Team{}) | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user