mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +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 {
 | 
					func populateIssueIndexer() error {
 | 
				
			||||||
	batch := indexer.IssueIndexerBatch()
 | 
						batch := indexer.IssueIndexerBatch()
 | 
				
			||||||
	for page := 1; ; page++ {
 | 
						for page := 1; ; page++ {
 | 
				
			||||||
		repos, _, err := Repositories(&SearchRepoOptions{
 | 
							repos, _, err := SearchRepositoryByName(&SearchRepoOptions{
 | 
				
			||||||
			Page:     page,
 | 
								Page:     page,
 | 
				
			||||||
			PageSize: 10,
 | 
								PageSize: 10,
 | 
				
			||||||
 | 
								OrderBy:  SearchOrderByID,
 | 
				
			||||||
 | 
								Private:  true,
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return fmt.Errorf("Repositories: %v", err)
 | 
								return fmt.Errorf("Repositories: %v", err)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -105,6 +105,7 @@ type SearchRepoOptions struct {
 | 
				
			|||||||
	Starred     bool          `json:"-"`
 | 
						Starred     bool          `json:"-"`
 | 
				
			||||||
	Page        int           `json:"-"`
 | 
						Page        int           `json:"-"`
 | 
				
			||||||
	IsProfile   bool          `json:"-"`
 | 
						IsProfile   bool          `json:"-"`
 | 
				
			||||||
 | 
						AllPublic   bool          `json:"-"` // Include also all public repositories
 | 
				
			||||||
	// Limit of result
 | 
						// Limit of result
 | 
				
			||||||
	//
 | 
						//
 | 
				
			||||||
	// maximum: setting.ExplorePagingNum
 | 
						// maximum: setting.ExplorePagingNum
 | 
				
			||||||
@@ -129,6 +130,8 @@ const (
 | 
				
			|||||||
	SearchOrderByNewest                              = "created_unix DESC"
 | 
						SearchOrderByNewest                              = "created_unix DESC"
 | 
				
			||||||
	SearchOrderBySize                                = "size ASC"
 | 
						SearchOrderBySize                                = "size ASC"
 | 
				
			||||||
	SearchOrderBySizeReverse                         = "size DESC"
 | 
						SearchOrderBySizeReverse                         = "size DESC"
 | 
				
			||||||
 | 
						SearchOrderByID                                  = "id ASC"
 | 
				
			||||||
 | 
						SearchOrderByIDReverse                           = "id DESC"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// SearchRepositoryByName takes keyword and part of repository name to search,
 | 
					// SearchRepositoryByName takes keyword and part of repository name to search,
 | 
				
			||||||
@@ -147,11 +150,6 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, coun
 | 
				
			|||||||
		starJoin = true
 | 
							starJoin = true
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	opts.Keyword = strings.ToLower(opts.Keyword)
 | 
					 | 
				
			||||||
	if opts.Keyword != "" {
 | 
					 | 
				
			||||||
		cond = cond.And(builder.Like{"lower_name", opts.Keyword})
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Append conditions
 | 
						// Append conditions
 | 
				
			||||||
	if !opts.Starred && opts.OwnerID > 0 {
 | 
						if !opts.Starred && opts.OwnerID > 0 {
 | 
				
			||||||
		var searcherReposCond builder.Cond = builder.Eq{"owner_id": opts.OwnerID}
 | 
							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})
 | 
							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 {
 | 
						if len(opts.OrderBy) == 0 {
 | 
				
			||||||
		opts.OrderBy = SearchOrderByAlphabetically
 | 
							opts.OrderBy = SearchOrderByAlphabetically
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -225,78 +232,3 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, coun
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	return
 | 
						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",
 | 
							{name: "PublicAndPrivateRepositoriesOfOrganization",
 | 
				
			||||||
			opts:  &SearchRepoOptions{Page: 1, PageSize: 10, OwnerID: 17, Private: true},
 | 
								opts:  &SearchRepoOptions{Page: 1, PageSize: 10, OwnerID: 17, Private: true},
 | 
				
			||||||
			count: 2},
 | 
								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 {
 | 
						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)
 | 
									// 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)
 | 
										assert.Equal(t, testCase.opts.OwnerID, repo.Owner.ID)
 | 
				
			||||||
				}*/
 | 
									}*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,7 +24,6 @@ func Repos(ctx *context.Context) {
 | 
				
			|||||||
	ctx.Data["PageIsAdminRepositories"] = true
 | 
						ctx.Data["PageIsAdminRepositories"] = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	routers.RenderRepoSearch(ctx, &routers.RepoSearchOptions{
 | 
						routers.RenderRepoSearch(ctx, &routers.RepoSearchOptions{
 | 
				
			||||||
		Ranger:   models.Repositories,
 | 
					 | 
				
			||||||
		Private:  true,
 | 
							Private:  true,
 | 
				
			||||||
		PageSize: setting.UI.Admin.RepoPagingNum,
 | 
							PageSize: setting.UI.Admin.RepoPagingNum,
 | 
				
			||||||
		TplName:  tplRepos,
 | 
							TplName:  tplRepos,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -60,8 +60,7 @@ func Swagger(ctx *context.Context) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// RepoSearchOptions when calling search repositories
 | 
					// RepoSearchOptions when calling search repositories
 | 
				
			||||||
type RepoSearchOptions struct {
 | 
					type RepoSearchOptions struct {
 | 
				
			||||||
	Ranger   func(*models.SearchRepoOptions) (models.RepositoryList, int64, error)
 | 
						OwnerID  int64
 | 
				
			||||||
	Searcher *models.User
 | 
					 | 
				
			||||||
	Private  bool
 | 
						Private  bool
 | 
				
			||||||
	PageSize int
 | 
						PageSize int
 | 
				
			||||||
	TplName  base.TplName
 | 
						TplName  base.TplName
 | 
				
			||||||
@@ -113,35 +112,21 @@ func RenderRepoSearch(ctx *context.Context, opts *RepoSearchOptions) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	keyword := strings.Trim(ctx.Query("q"), " ")
 | 
						keyword := strings.Trim(ctx.Query("q"), " ")
 | 
				
			||||||
	if len(keyword) == 0 {
 | 
					
 | 
				
			||||||
		repos, count, err = opts.Ranger(&models.SearchRepoOptions{
 | 
						repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{
 | 
				
			||||||
			Page:        page,
 | 
							Page:        page,
 | 
				
			||||||
			PageSize:    opts.PageSize,
 | 
							PageSize:    opts.PageSize,
 | 
				
			||||||
			Searcher:    ctx.User,
 | 
							OrderBy:     orderBy,
 | 
				
			||||||
			OrderBy:     orderBy,
 | 
							Private:     opts.Private,
 | 
				
			||||||
			Private:     opts.Private,
 | 
							Keyword:     keyword,
 | 
				
			||||||
			Collaborate: true,
 | 
							OwnerID:     opts.OwnerID,
 | 
				
			||||||
		})
 | 
							Searcher:    ctx.User,
 | 
				
			||||||
		if err != nil {
 | 
							Collaborate: true,
 | 
				
			||||||
			ctx.Handle(500, "opts.Ranger", err)
 | 
							AllPublic:   true,
 | 
				
			||||||
			return
 | 
						})
 | 
				
			||||||
		}
 | 
						if err != nil {
 | 
				
			||||||
	} else {
 | 
							ctx.Handle(500, "SearchRepositoryByName", err)
 | 
				
			||||||
		if isKeywordValid(keyword) {
 | 
							return
 | 
				
			||||||
			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
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	ctx.Data["Keyword"] = keyword
 | 
						ctx.Data["Keyword"] = keyword
 | 
				
			||||||
	ctx.Data["Total"] = count
 | 
						ctx.Data["Total"] = count
 | 
				
			||||||
@@ -157,11 +142,15 @@ func ExploreRepos(ctx *context.Context) {
 | 
				
			|||||||
	ctx.Data["PageIsExplore"] = true
 | 
						ctx.Data["PageIsExplore"] = true
 | 
				
			||||||
	ctx.Data["PageIsExploreRepositories"] = true
 | 
						ctx.Data["PageIsExploreRepositories"] = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var ownerID int64
 | 
				
			||||||
 | 
						if ctx.User != nil && !ctx.User.IsAdmin {
 | 
				
			||||||
 | 
							ownerID = ctx.User.ID
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	RenderRepoSearch(ctx, &RepoSearchOptions{
 | 
						RenderRepoSearch(ctx, &RepoSearchOptions{
 | 
				
			||||||
		Ranger:   models.GetRecentUpdatedRepositories,
 | 
					 | 
				
			||||||
		PageSize: setting.UI.ExplorePagingNum,
 | 
							PageSize: setting.UI.ExplorePagingNum,
 | 
				
			||||||
		Searcher: ctx.User,
 | 
							OwnerID:  ownerID,
 | 
				
			||||||
		Private:  ctx.User != nil && ctx.User.IsAdmin,
 | 
							Private:  ctx.User != nil,
 | 
				
			||||||
		TplName:  tplExploreRepos,
 | 
							TplName:  tplExploreRepos,
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user