mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Move user related model into models/user (#17781)
* Move user related model into models/user * Fix lint for windows * Fix windows lint * Fix windows lint * Move some tests in models * Merge
This commit is contained in:
		@@ -9,8 +9,8 @@ import (
 | 
			
		||||
	"net/url"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/avatars"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
	"code.gitea.io/gitea/modules/git"
 | 
			
		||||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
	api "code.gitea.io/gitea/modules/structs"
 | 
			
		||||
@@ -35,14 +35,14 @@ type PushCommits struct {
 | 
			
		||||
	Len        int
 | 
			
		||||
 | 
			
		||||
	avatars    map[string]string
 | 
			
		||||
	emailUsers map[string]*models.User
 | 
			
		||||
	emailUsers map[string]*user_model.User
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NewPushCommits creates a new PushCommits object.
 | 
			
		||||
func NewPushCommits() *PushCommits {
 | 
			
		||||
	return &PushCommits{
 | 
			
		||||
		avatars:    make(map[string]string),
 | 
			
		||||
		emailUsers: make(map[string]*models.User),
 | 
			
		||||
		emailUsers: make(map[string]*user_model.User),
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -52,7 +52,7 @@ func (pc *PushCommits) toAPIPayloadCommit(repoPath, repoLink string, commit *Pus
 | 
			
		||||
	authorUsername := ""
 | 
			
		||||
	author, ok := pc.emailUsers[commit.AuthorEmail]
 | 
			
		||||
	if !ok {
 | 
			
		||||
		author, err = models.GetUserByEmail(commit.AuthorEmail)
 | 
			
		||||
		author, err = user_model.GetUserByEmail(commit.AuthorEmail)
 | 
			
		||||
		if err == nil {
 | 
			
		||||
			authorUsername = author.Name
 | 
			
		||||
			pc.emailUsers[commit.AuthorEmail] = author
 | 
			
		||||
@@ -64,7 +64,7 @@ func (pc *PushCommits) toAPIPayloadCommit(repoPath, repoLink string, commit *Pus
 | 
			
		||||
	committerUsername := ""
 | 
			
		||||
	committer, ok := pc.emailUsers[commit.CommitterEmail]
 | 
			
		||||
	if !ok {
 | 
			
		||||
		committer, err = models.GetUserByEmail(commit.CommitterEmail)
 | 
			
		||||
		committer, err = user_model.GetUserByEmail(commit.CommitterEmail)
 | 
			
		||||
		if err == nil {
 | 
			
		||||
			// TODO: check errors other than email not found.
 | 
			
		||||
			committerUsername = committer.Name
 | 
			
		||||
@@ -107,7 +107,7 @@ func (pc *PushCommits) ToAPIPayloadCommits(repoPath, repoLink string) ([]*api.Pa
 | 
			
		||||
	var headCommit *api.PayloadCommit
 | 
			
		||||
 | 
			
		||||
	if pc.emailUsers == nil {
 | 
			
		||||
		pc.emailUsers = make(map[string]*models.User)
 | 
			
		||||
		pc.emailUsers = make(map[string]*user_model.User)
 | 
			
		||||
	}
 | 
			
		||||
	for i, commit := range pc.Commits {
 | 
			
		||||
		apiCommit, err := pc.toAPIPayloadCommit(repoPath, repoLink, commit)
 | 
			
		||||
@@ -146,10 +146,10 @@ func (pc *PushCommits) AvatarLink(email string) string {
 | 
			
		||||
	u, ok := pc.emailUsers[email]
 | 
			
		||||
	if !ok {
 | 
			
		||||
		var err error
 | 
			
		||||
		u, err = models.GetUserByEmail(email)
 | 
			
		||||
		u, err = user_model.GetUserByEmail(email)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			pc.avatars[email] = avatars.GenerateEmailAvatarFastLink(email, size)
 | 
			
		||||
			if !models.IsErrUserNotExist(err) {
 | 
			
		||||
			if !user_model.IsErrUserNotExist(err) {
 | 
			
		||||
				log.Error("GetUserByEmail: %v", err)
 | 
			
		||||
				return ""
 | 
			
		||||
			}
 | 
			
		||||
@@ -189,6 +189,6 @@ func GitToPushCommits(gitCommits []*git.Commit) *PushCommits {
 | 
			
		||||
		CompareURL: "",
 | 
			
		||||
		Len:        len(commits),
 | 
			
		||||
		avatars:    make(map[string]string),
 | 
			
		||||
		emailUsers: make(map[string]*models.User),
 | 
			
		||||
		emailUsers: make(map[string]*user_model.User),
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,7 @@ import (
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
	"code.gitea.io/gitea/modules/git"
 | 
			
		||||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
	"code.gitea.io/gitea/modules/setting"
 | 
			
		||||
@@ -18,7 +19,7 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// CreateRepository creates a repository for the user/organization.
 | 
			
		||||
func CreateRepository(doer, u *models.User, opts models.CreateRepoOptions) (*models.Repository, error) {
 | 
			
		||||
func CreateRepository(doer, u *user_model.User, opts models.CreateRepoOptions) (*models.Repository, error) {
 | 
			
		||||
	if !doer.IsAdmin && !u.CanCreateRepo() {
 | 
			
		||||
		return nil, models.ErrReachLimitOfRepo{
 | 
			
		||||
			Limit: u.MaxRepoCreation,
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,7 @@ import (
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	"code.gitea.io/gitea/models/unittest"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
	"code.gitea.io/gitea/modules/structs"
 | 
			
		||||
 | 
			
		||||
	"github.com/stretchr/testify/assert"
 | 
			
		||||
@@ -32,14 +33,14 @@ func TestIncludesAllRepositoriesTeams(t *testing.T) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Get an admin user.
 | 
			
		||||
	user, err := models.GetUserByID(1)
 | 
			
		||||
	user, err := user_model.GetUserByID(1)
 | 
			
		||||
	assert.NoError(t, err, "GetUserByID")
 | 
			
		||||
 | 
			
		||||
	// Create org.
 | 
			
		||||
	org := &models.Organization{
 | 
			
		||||
		Name:       "All_repo",
 | 
			
		||||
		IsActive:   true,
 | 
			
		||||
		Type:       models.UserTypeOrganization,
 | 
			
		||||
		Type:       user_model.UserTypeOrganization,
 | 
			
		||||
		Visibility: structs.VisibleTypePublic,
 | 
			
		||||
	}
 | 
			
		||||
	assert.NoError(t, models.CreateOrganization(org, user), "CreateOrganization")
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,7 @@ import (
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
	"code.gitea.io/gitea/modules/git"
 | 
			
		||||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
	"code.gitea.io/gitea/modules/util"
 | 
			
		||||
@@ -239,7 +240,7 @@ func GenerateGitContent(ctx context.Context, templateRepo, generateRepo *models.
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GenerateRepository generates a repository from a template
 | 
			
		||||
func GenerateRepository(ctx context.Context, doer, owner *models.User, templateRepo *models.Repository, opts models.GenerateRepoOptions) (_ *models.Repository, err error) {
 | 
			
		||||
func GenerateRepository(ctx context.Context, doer, owner *user_model.User, templateRepo *models.Repository, opts models.GenerateRepoOptions) (_ *models.Repository, err error) {
 | 
			
		||||
	generateRepo := &models.Repository{
 | 
			
		||||
		OwnerID:       owner.ID,
 | 
			
		||||
		Owner:         owner,
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,7 @@ import (
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
	"code.gitea.io/gitea/modules/git"
 | 
			
		||||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
	"code.gitea.io/gitea/modules/setting"
 | 
			
		||||
@@ -100,7 +101,7 @@ func prepareRepoCommit(ctx context.Context, repo *models.Repository, tmpDir, rep
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// initRepoCommit temporarily changes with work directory.
 | 
			
		||||
func initRepoCommit(tmpPath string, repo *models.Repository, u *models.User, defaultBranch string) (err error) {
 | 
			
		||||
func initRepoCommit(tmpPath string, repo *models.Repository, u *user_model.User, defaultBranch string) (err error) {
 | 
			
		||||
	commitTimeStr := time.Now().Format(time.RFC3339)
 | 
			
		||||
 | 
			
		||||
	sig := u.NewGitSig()
 | 
			
		||||
@@ -197,7 +198,7 @@ func checkInitRepository(owner, name string) (err error) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// InitRepository initializes README and .gitignore if needed.
 | 
			
		||||
func initRepository(ctx context.Context, repoPath string, u *models.User, repo *models.Repository, opts models.CreateRepoOptions) (err error) {
 | 
			
		||||
func initRepository(ctx context.Context, repoPath string, u *user_model.User, repo *models.Repository, opts models.CreateRepoOptions) (err error) {
 | 
			
		||||
	if err = checkInitRepository(repo.OwnerName, repo.Name); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,7 @@ import (
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	user_model "code.gitea.io/gitea/models/user"
 | 
			
		||||
	"code.gitea.io/gitea/modules/git"
 | 
			
		||||
	"code.gitea.io/gitea/modules/lfs"
 | 
			
		||||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
@@ -46,7 +47,7 @@ func WikiRemoteURL(remote string) string {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// MigrateRepositoryGitData starts migrating git related data after created migrating repository
 | 
			
		||||
func MigrateRepositoryGitData(ctx context.Context, u *models.User,
 | 
			
		||||
func MigrateRepositoryGitData(ctx context.Context, u *user_model.User,
 | 
			
		||||
	repo *models.Repository, opts migration.MigrateOptions,
 | 
			
		||||
	httpTransport *http.Transport,
 | 
			
		||||
) (*models.Repository, error) {
 | 
			
		||||
@@ -307,12 +308,12 @@ func PushUpdateAddTag(repo *models.Repository, gitRepo *git.Repository, tagName
 | 
			
		||||
		sig = commit.Committer
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var author *models.User
 | 
			
		||||
	var author *user_model.User
 | 
			
		||||
	var createdAt = time.Unix(1, 0)
 | 
			
		||||
 | 
			
		||||
	if sig != nil {
 | 
			
		||||
		author, err = models.GetUserByEmail(sig.Email)
 | 
			
		||||
		if err != nil && !models.IsErrUserNotExist(err) {
 | 
			
		||||
		author, err = user_model.GetUserByEmail(sig.Email)
 | 
			
		||||
		if err != nil && !user_model.IsErrUserNotExist(err) {
 | 
			
		||||
			return fmt.Errorf("GetUserByEmail: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
		createdAt = sig.When
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user