diff --git a/models/issues/issue_list.go b/models/issues/issue_list.go
index 6ddadd27ed442..dad21c14776f0 100644
--- a/models/issues/issue_list.go
+++ b/models/issues/issue_list.go
@@ -34,7 +34,7 @@ func (issues IssueList) getRepoIDs() []int64 {
 }
 
 // LoadRepositories loads issues' all repositories
-func (issues IssueList) LoadRepositories(ctx context.Context) ([]*repo_model.Repository, error) {
+func (issues IssueList) LoadRepositories(ctx context.Context) (repo_model.RepositoryList, error) {
 	if len(issues) == 0 {
 		return nil, nil
 	}
diff --git a/models/organization/org.go b/models/organization/org.go
index 30b76fb1a0633..05db6ba15f8ab 100644
--- a/models/organization/org.go
+++ b/models/organization/org.go
@@ -710,8 +710,8 @@ func (org *Organization) GetUserTeams(userID int64) ([]*Team, error) {
 type AccessibleReposEnvironment interface {
 	CountRepos() (int64, error)
 	RepoIDs(page, pageSize int) ([]int64, error)
-	Repos(page, pageSize int) ([]*repo_model.Repository, error)
-	MirrorRepos() ([]*repo_model.Repository, error)
+	Repos(page, pageSize int) (repo_model.RepositoryList, error)
+	MirrorRepos() (repo_model.RepositoryList, error)
 	AddKeyword(keyword string)
 	SetSort(db.SearchOrderBy)
 }
@@ -813,7 +813,7 @@ func (env *accessibleReposEnv) RepoIDs(page, pageSize int) ([]int64, error) {
 		Find(&repoIDs)
 }
 
-func (env *accessibleReposEnv) Repos(page, pageSize int) ([]*repo_model.Repository, error) {
+func (env *accessibleReposEnv) Repos(page, pageSize int) (repo_model.RepositoryList, error) {
 	repoIDs, err := env.RepoIDs(page, pageSize)
 	if err != nil {
 		return nil, fmt.Errorf("GetUserRepositoryIDs: %w", err)
@@ -842,7 +842,7 @@ func (env *accessibleReposEnv) MirrorRepoIDs() ([]int64, error) {
 		Find(&repoIDs)
 }
 
-func (env *accessibleReposEnv) MirrorRepos() ([]*repo_model.Repository, error) {
+func (env *accessibleReposEnv) MirrorRepos() (repo_model.RepositoryList, error) {
 	repoIDs, err := env.MirrorRepoIDs()
 	if err != nil {
 		return nil, fmt.Errorf("MirrorRepoIDs: %w", err)
diff --git a/models/organization/org_repo.go b/models/organization/org_repo.go
index 99638916b0b52..f7e59928f42ee 100644
--- a/models/organization/org_repo.go
+++ b/models/organization/org_repo.go
@@ -11,7 +11,7 @@ import (
 )
 
 // GetOrgRepositories get repos belonging to the given organization
-func GetOrgRepositories(ctx context.Context, orgID int64) ([]*repo_model.Repository, error) {
+func GetOrgRepositories(ctx context.Context, orgID int64) (repo_model.RepositoryList, error) {
 	var orgRepos []*repo_model.Repository
 	return orgRepos, db.GetEngine(ctx).Where("owner_id = ?", orgID).Find(&orgRepos)
 }
diff --git a/models/organization/org_test.go b/models/organization/org_test.go
index 27e124a62bc68..27a173d497c52 100644
--- a/models/organization/org_test.go
+++ b/models/organization/org_test.go
@@ -346,7 +346,7 @@ func TestAccessibleReposEnv_Repos(t *testing.T) {
 		assert.NoError(t, err)
 		repos, err := env.Repos(1, 100)
 		assert.NoError(t, err)
-		expectedRepos := make([]*repo_model.Repository, len(expectedRepoIDs))
+		expectedRepos := make(repo_model.RepositoryList, len(expectedRepoIDs))
 		for i, repoID := range expectedRepoIDs {
 			expectedRepos[i] = unittest.AssertExistsAndLoadBean(t,
 				&repo_model.Repository{ID: repoID})
@@ -365,7 +365,7 @@ func TestAccessibleReposEnv_MirrorRepos(t *testing.T) {
 		assert.NoError(t, err)
 		repos, err := env.MirrorRepos()
 		assert.NoError(t, err)
-		expectedRepos := make([]*repo_model.Repository, len(expectedRepoIDs))
+		expectedRepos := make(repo_model.RepositoryList, len(expectedRepoIDs))
 		for i, repoID := range expectedRepoIDs {
 			expectedRepos[i] = unittest.AssertExistsAndLoadBean(t,
 				&repo_model.Repository{ID: repoID})
diff --git a/models/organization/team_repo.go b/models/organization/team_repo.go
index e6b50ecff7e41..1184e39263635 100644
--- a/models/organization/team_repo.go
+++ b/models/organization/team_repo.go
@@ -37,7 +37,7 @@ type SearchTeamRepoOptions struct {
 }
 
 // GetRepositories returns paginated repositories in team of organization.
-func GetTeamRepositories(ctx context.Context, opts *SearchTeamRepoOptions) ([]*repo_model.Repository, error) {
+func GetTeamRepositories(ctx context.Context, opts *SearchTeamRepoOptions) (repo_model.RepositoryList, error) {
 	sess := db.GetEngine(ctx)
 	if opts.TeamID > 0 {
 		sess = sess.In("id",
diff --git a/services/repository/check.go b/services/repository/check.go
index 3a1f0b7f306bd..84fdb7159bfef 100644
--- a/services/repository/check.go
+++ b/services/repository/check.go
@@ -115,7 +115,7 @@ func GitGcRepo(ctx context.Context, repo *repo_model.Repository, timeout time.Du
 	return nil
 }
 
-func gatherMissingRepoRecords(ctx context.Context) ([]*repo_model.Repository, error) {
+func gatherMissingRepoRecords(ctx context.Context) (repo_model.RepositoryList, error) {
 	repos := make([]*repo_model.Repository, 0, 10)
 	if err := db.Iterate(
 		ctx,