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)
| 1326 | // and has disabled external tracker from given set. |
| 1327 | // It returns nil if result set is empty. |
| 1328 | func 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 | // |