MCPcopy Create free account
hub / github.com/gogs/gogs / FilterRepositoryWithIssues

Function FilterRepositoryWithIssues

internal/database/repo.go:1328–1351  ·  view source on GitHub ↗

FilterRepositoryWithIssues selects repositories that are using internal issue tracker and has disabled external tracker from given set. It returns nil if result set is empty.

(repoIDs []int64)

Source from the content-addressed store, hash-verified

1326// and has disabled external tracker from given set.
1327// It returns nil if result set is empty.
1328func FilterRepositoryWithIssues(repoIDs []int64) ([]int64, error) {
1329 if len(repoIDs) == 0 {
1330 return nil, nil
1331 }
1332
1333 repos := make([]*Repository, 0, len(repoIDs))
1334 if err := x.Where("enable_issues=?", true).
1335 And("enable_external_tracker=?", false).
1336 In("id", repoIDs).
1337 Cols("id").
1338 Find(&repos); err != nil {
1339 return nil, errors.Newf("filter valid repositories %v: %v", repoIDs, err)
1340 }
1341
1342 if len(repos) == 0 {
1343 return nil, nil
1344 }
1345
1346 repoIDs = make([]int64, len(repos))
1347 for i := range repos {
1348 repoIDs[i] = repos[i].ID
1349 }
1350 return repoIDs, nil
1351}
1352
1353// RepoPath returns repository path by given user and repository name.
1354//

Callers 1

IssuesFunction · 0.92

Calls 3

InMethod · 0.80
WhereMethod · 0.80
FindMethod · 0.65

Tested by

no test coverage detected