mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Remove redudant functions and code (#2652)
* Remove redudant functions and code
This commit is contained in:
		
				
					committed by
					
						
						Kim "BKC" Carlbäcker
					
				
			
			
				
	
			
			
			
						parent
						
							c2346e4469
						
					
				
				
					commit
					dff26e25ca
				
			@@ -27,9 +27,11 @@ func InitIssueIndexer() {
 | 
			
		||||
func populateIssueIndexer() error {
 | 
			
		||||
	batch := indexer.IssueIndexerBatch()
 | 
			
		||||
	for page := 1; ; page++ {
 | 
			
		||||
		repos, _, err := Repositories(&SearchRepoOptions{
 | 
			
		||||
		repos, _, err := SearchRepositoryByName(&SearchRepoOptions{
 | 
			
		||||
			Page:     page,
 | 
			
		||||
			PageSize: 10,
 | 
			
		||||
			OrderBy:  SearchOrderByID,
 | 
			
		||||
			Private:  true,
 | 
			
		||||
		})
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return fmt.Errorf("Repositories: %v", err)
 | 
			
		||||
 
 | 
			
		||||
@@ -105,6 +105,7 @@ type SearchRepoOptions struct {
 | 
			
		||||
	Starred     bool          `json:"-"`
 | 
			
		||||
	Page        int           `json:"-"`
 | 
			
		||||
	IsProfile   bool          `json:"-"`
 | 
			
		||||
	AllPublic   bool          `json:"-"` // Include also all public repositories
 | 
			
		||||
	// Limit of result
 | 
			
		||||
	//
 | 
			
		||||
	// maximum: setting.ExplorePagingNum
 | 
			
		||||
@@ -129,6 +130,8 @@ const (
 | 
			
		||||
	SearchOrderByNewest                              = "created_unix DESC"
 | 
			
		||||
	SearchOrderBySize                                = "size ASC"
 | 
			
		||||
	SearchOrderBySizeReverse                         = "size DESC"
 | 
			
		||||
	SearchOrderByID                                  = "id ASC"
 | 
			
		||||
	SearchOrderByIDReverse                           = "id DESC"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// SearchRepositoryByName takes keyword and part of repository name to search,
 | 
			
		||||
@@ -147,11 +150,6 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, coun
 | 
			
		||||
		starJoin = true
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	opts.Keyword = strings.ToLower(opts.Keyword)
 | 
			
		||||
	if opts.Keyword != "" {
 | 
			
		||||
		cond = cond.And(builder.Like{"lower_name", opts.Keyword})
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Append conditions
 | 
			
		||||
	if !opts.Starred && opts.OwnerID > 0 {
 | 
			
		||||
		var searcherReposCond builder.Cond = builder.Eq{"owner_id": opts.OwnerID}
 | 
			
		||||
@@ -182,6 +180,15 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, coun
 | 
			
		||||
		cond = cond.And(builder.Eq{"is_private": false})
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if opts.OwnerID > 0 && opts.AllPublic {
 | 
			
		||||
		cond = cond.Or(builder.Eq{"is_private": false})
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	opts.Keyword = strings.ToLower(opts.Keyword)
 | 
			
		||||
	if opts.Keyword != "" {
 | 
			
		||||
		cond = cond.And(builder.Like{"lower_name", opts.Keyword})
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if len(opts.OrderBy) == 0 {
 | 
			
		||||
		opts.OrderBy = SearchOrderByAlphabetically
 | 
			
		||||
	}
 | 
			
		||||
@@ -225,78 +232,3 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, coun
 | 
			
		||||
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Repositories returns all repositories
 | 
			
		||||
func Repositories(opts *SearchRepoOptions) (_ RepositoryList, count int64, err error) {
 | 
			
		||||
	if len(opts.OrderBy) == 0 {
 | 
			
		||||
		opts.OrderBy = "id ASC"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	repos := make(RepositoryList, 0, opts.PageSize)
 | 
			
		||||
 | 
			
		||||
	if err = x.
 | 
			
		||||
		Limit(opts.PageSize, (opts.Page-1)*opts.PageSize).
 | 
			
		||||
		OrderBy(opts.OrderBy.String()).
 | 
			
		||||
		Find(&repos); err != nil {
 | 
			
		||||
		return nil, 0, fmt.Errorf("Repo: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = repos.loadAttributes(x); err != nil {
 | 
			
		||||
		return nil, 0, fmt.Errorf("LoadAttributes: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	count = countRepositories(-1, opts.Private)
 | 
			
		||||
 | 
			
		||||
	return repos, count, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetRecentUpdatedRepositories returns the list of repositories that are recently updated.
 | 
			
		||||
func GetRecentUpdatedRepositories(opts *SearchRepoOptions) (repos RepositoryList, _ int64, _ error) {
 | 
			
		||||
	var cond = builder.NewCond()
 | 
			
		||||
 | 
			
		||||
	if len(opts.OrderBy) == 0 {
 | 
			
		||||
		opts.OrderBy = SearchOrderByRecentUpdated
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if !opts.Private {
 | 
			
		||||
		cond = builder.Eq{
 | 
			
		||||
			"is_private": false,
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if opts.Searcher != nil && !opts.Searcher.IsAdmin {
 | 
			
		||||
		var ownerIds []int64
 | 
			
		||||
 | 
			
		||||
		ownerIds = append(ownerIds, opts.Searcher.ID)
 | 
			
		||||
		err := opts.Searcher.GetOrganizations(true)
 | 
			
		||||
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, 0, fmt.Errorf("Organization: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		for _, org := range opts.Searcher.Orgs {
 | 
			
		||||
			ownerIds = append(ownerIds, org.ID)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		cond = cond.Or(builder.In("owner_id", ownerIds))
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	count, err := x.Where(cond).Count(new(Repository))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, 0, fmt.Errorf("Count: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = x.Where(cond).
 | 
			
		||||
		Limit(opts.PageSize, (opts.Page-1)*opts.PageSize).
 | 
			
		||||
		Limit(opts.PageSize).
 | 
			
		||||
		OrderBy(opts.OrderBy.String()).
 | 
			
		||||
		Find(&repos); err != nil {
 | 
			
		||||
		return nil, 0, fmt.Errorf("Repo: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = repos.loadAttributes(x); err != nil {
 | 
			
		||||
		return nil, 0, fmt.Errorf("LoadAttributes: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return repos, count, nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -98,6 +98,24 @@ func TestSearchRepositoryByName(t *testing.T) {
 | 
			
		||||
		{name: "PublicAndPrivateRepositoriesOfOrganization",
 | 
			
		||||
			opts:  &SearchRepoOptions{Page: 1, PageSize: 10, OwnerID: 17, Private: true},
 | 
			
		||||
			count: 2},
 | 
			
		||||
		{name: "AllPublic/PublicRepositoriesByName",
 | 
			
		||||
			opts:  &SearchRepoOptions{Keyword: "big_test_", PageSize: 10, AllPublic: true},
 | 
			
		||||
			count: 4},
 | 
			
		||||
		{name: "AllPublic/PublicAndPrivateRepositoriesByName",
 | 
			
		||||
			opts:  &SearchRepoOptions{Keyword: "big_test_", Page: 1, PageSize: 10, Private: true, AllPublic: true},
 | 
			
		||||
			count: 8},
 | 
			
		||||
		{name: "AllPublic/PublicRepositoriesOfUserIncludingCollaborative",
 | 
			
		||||
			opts:  &SearchRepoOptions{Page: 1, PageSize: 10, OwnerID: 15, Collaborate: true, AllPublic: true},
 | 
			
		||||
			count: 12},
 | 
			
		||||
		{name: "AllPublic/PublicAndPrivateRepositoriesOfUserIncludingCollaborative",
 | 
			
		||||
			opts:  &SearchRepoOptions{Page: 1, PageSize: 10, OwnerID: 15, Private: true, Collaborate: true, AllPublic: true},
 | 
			
		||||
			count: 16},
 | 
			
		||||
		{name: "AllPublic/PublicAndPrivateRepositoriesOfUserIncludingCollaborativeByName",
 | 
			
		||||
			opts:  &SearchRepoOptions{Keyword: "test", Page: 1, PageSize: 10, OwnerID: 15, Private: true, Collaborate: true, AllPublic: true},
 | 
			
		||||
			count: 10},
 | 
			
		||||
		{name: "AllPublic/PublicRepositoriesOfOrganization",
 | 
			
		||||
			opts:  &SearchRepoOptions{Page: 1, PageSize: 10, OwnerID: 17, AllPublic: true},
 | 
			
		||||
			count: 12},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, testCase := range testCases {
 | 
			
		||||
@@ -126,7 +144,7 @@ func TestSearchRepositoryByName(t *testing.T) {
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				// FIXME: Can't check, need to fix current behaviour (see previous FIXME comments in test cases)
 | 
			
		||||
				/*if testCase.opts.OwnerID > 0 && !testCase.opts.Collaborate {
 | 
			
		||||
				/*if testCase.opts.OwnerID > 0 && !testCase.opts.Collaborate && !AllPublic {
 | 
			
		||||
					assert.Equal(t, testCase.opts.OwnerID, repo.Owner.ID)
 | 
			
		||||
				}*/
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,6 @@ func Repos(ctx *context.Context) {
 | 
			
		||||
	ctx.Data["PageIsAdminRepositories"] = true
 | 
			
		||||
 | 
			
		||||
	routers.RenderRepoSearch(ctx, &routers.RepoSearchOptions{
 | 
			
		||||
		Ranger:   models.Repositories,
 | 
			
		||||
		Private:  true,
 | 
			
		||||
		PageSize: setting.UI.Admin.RepoPagingNum,
 | 
			
		||||
		TplName:  tplRepos,
 | 
			
		||||
 
 | 
			
		||||
@@ -60,8 +60,7 @@ func Swagger(ctx *context.Context) {
 | 
			
		||||
 | 
			
		||||
// RepoSearchOptions when calling search repositories
 | 
			
		||||
type RepoSearchOptions struct {
 | 
			
		||||
	Ranger   func(*models.SearchRepoOptions) (models.RepositoryList, int64, error)
 | 
			
		||||
	Searcher *models.User
 | 
			
		||||
	OwnerID  int64
 | 
			
		||||
	Private  bool
 | 
			
		||||
	PageSize int
 | 
			
		||||
	TplName  base.TplName
 | 
			
		||||
@@ -113,35 +112,21 @@ func RenderRepoSearch(ctx *context.Context, opts *RepoSearchOptions) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	keyword := strings.Trim(ctx.Query("q"), " ")
 | 
			
		||||
	if len(keyword) == 0 {
 | 
			
		||||
		repos, count, err = opts.Ranger(&models.SearchRepoOptions{
 | 
			
		||||
			Page:        page,
 | 
			
		||||
			PageSize:    opts.PageSize,
 | 
			
		||||
			Searcher:    ctx.User,
 | 
			
		||||
			OrderBy:     orderBy,
 | 
			
		||||
			Private:     opts.Private,
 | 
			
		||||
			Collaborate: true,
 | 
			
		||||
		})
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			ctx.Handle(500, "opts.Ranger", err)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
	} else {
 | 
			
		||||
		if isKeywordValid(keyword) {
 | 
			
		||||
			repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{
 | 
			
		||||
				Keyword:     keyword,
 | 
			
		||||
				OrderBy:     orderBy,
 | 
			
		||||
				Private:     opts.Private,
 | 
			
		||||
				Page:        page,
 | 
			
		||||
				PageSize:    opts.PageSize,
 | 
			
		||||
				Searcher:    ctx.User,
 | 
			
		||||
				Collaborate: true,
 | 
			
		||||
			})
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				ctx.Handle(500, "SearchRepositoryByName", err)
 | 
			
		||||
				return
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{
 | 
			
		||||
		Page:        page,
 | 
			
		||||
		PageSize:    opts.PageSize,
 | 
			
		||||
		OrderBy:     orderBy,
 | 
			
		||||
		Private:     opts.Private,
 | 
			
		||||
		Keyword:     keyword,
 | 
			
		||||
		OwnerID:     opts.OwnerID,
 | 
			
		||||
		Searcher:    ctx.User,
 | 
			
		||||
		Collaborate: true,
 | 
			
		||||
		AllPublic:   true,
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		ctx.Handle(500, "SearchRepositoryByName", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	ctx.Data["Keyword"] = keyword
 | 
			
		||||
	ctx.Data["Total"] = count
 | 
			
		||||
@@ -157,11 +142,15 @@ func ExploreRepos(ctx *context.Context) {
 | 
			
		||||
	ctx.Data["PageIsExplore"] = true
 | 
			
		||||
	ctx.Data["PageIsExploreRepositories"] = true
 | 
			
		||||
 | 
			
		||||
	var ownerID int64
 | 
			
		||||
	if ctx.User != nil && !ctx.User.IsAdmin {
 | 
			
		||||
		ownerID = ctx.User.ID
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	RenderRepoSearch(ctx, &RepoSearchOptions{
 | 
			
		||||
		Ranger:   models.GetRecentUpdatedRepositories,
 | 
			
		||||
		PageSize: setting.UI.ExplorePagingNum,
 | 
			
		||||
		Searcher: ctx.User,
 | 
			
		||||
		Private:  ctx.User != nil && ctx.User.IsAdmin,
 | 
			
		||||
		OwnerID:  ownerID,
 | 
			
		||||
		Private:  ctx.User != nil,
 | 
			
		||||
		TplName:  tplExploreRepos,
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user