mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 12:53:43 +01:00 
			
		
		
		
	Only do counting when count_only=true for repo dashboard (#29884)
Ref: #29878
This commit is contained in:
		
							parent
							
								
									16e360099d
								
							
						
					
					
						commit
						b251e608c0
					
				@ -622,26 +622,31 @@ func SearchRepo(ctx *context.Context) {
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var err error
 | 
			
		||||
	// To improve performance when only the count is requested
 | 
			
		||||
	if ctx.FormBool("count_only") {
 | 
			
		||||
		if count, err := repo_model.CountRepository(ctx, opts); err != nil {
 | 
			
		||||
			log.Error("CountRepository: %v", err)
 | 
			
		||||
			ctx.JSON(http.StatusInternalServerError, nil) // frontend JS doesn't handle error response (same as below)
 | 
			
		||||
		} else {
 | 
			
		||||
			ctx.SetTotalCountHeader(count)
 | 
			
		||||
			ctx.JSONOK()
 | 
			
		||||
		}
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	repos, count, err := repo_model.SearchRepository(ctx, opts)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		ctx.JSON(http.StatusInternalServerError, api.SearchError{
 | 
			
		||||
			OK:    false,
 | 
			
		||||
			Error: err.Error(),
 | 
			
		||||
		})
 | 
			
		||||
		log.Error("SearchRepository: %v", err)
 | 
			
		||||
		ctx.JSON(http.StatusInternalServerError, nil)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	ctx.SetTotalCountHeader(count)
 | 
			
		||||
 | 
			
		||||
	// To improve performance when only the count is requested
 | 
			
		||||
	if ctx.FormBool("count_only") {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	latestCommitStatuses, err := commitstatus_service.FindReposLastestCommitStatuses(ctx, repos)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Error("FindReposLastestCommitStatuses: %v", err)
 | 
			
		||||
		ctx.JSON(http.StatusInternalServerError, nil)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -235,7 +235,7 @@ const sfc = {
 | 
			
		||||
        if (!this.reposTotalCount) {
 | 
			
		||||
          const totalCountSearchURL = `${this.subUrl}/repo/search?count_only=1&uid=${this.uid}&team_id=${this.teamId}&q=&page=1&mode=`;
 | 
			
		||||
          response = await GET(totalCountSearchURL);
 | 
			
		||||
          this.reposTotalCount = response.headers.get('X-Total-Count');
 | 
			
		||||
          this.reposTotalCount = response.headers.get('X-Total-Count') ?? '?';
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        response = await GET(searchedURL);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user