Skip to content

Commit e60c246

Browse files
authored
Merge branch 'main' into fix-labels-link
2 parents 4e5a19b + 626b107 commit e60c246

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

models/repo.go

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -294,33 +294,39 @@ func CanUserForkRepo(user *user_model.User, repo *repo_model.Repository) (bool,
294294
return false, nil
295295
}
296296

297+
// FindUserOrgForks returns the forked repositories for one user from a repository
298+
func FindUserOrgForks(repoID, userID int64) ([]*repo_model.Repository, error) {
299+
var cond builder.Cond = builder.And(
300+
builder.Eq{"fork_id": repoID},
301+
builder.In("owner_id",
302+
builder.Select("org_id").
303+
From("org_user").
304+
Where(builder.Eq{"uid": userID}),
305+
),
306+
)
307+
308+
var repos []*repo_model.Repository
309+
return repos, db.GetEngine(db.DefaultContext).Table("repository").Where(cond).Find(&repos)
310+
}
311+
297312
// GetForksByUserAndOrgs return forked repos of the user and owned orgs
298313
func GetForksByUserAndOrgs(user *user_model.User, repo *repo_model.Repository) ([]*repo_model.Repository, error) {
299314
var repoList []*repo_model.Repository
300315
if user == nil {
301316
return repoList, nil
302317
}
303-
var forkedRepo *repo_model.Repository
304318
forkedRepo, err := repo_model.GetUserFork(repo.ID, user.ID)
305319
if err != nil {
306320
return repoList, err
307321
}
308322
if forkedRepo != nil {
309323
repoList = append(repoList, forkedRepo)
310324
}
311-
canCreateRepos, err := GetOrgsCanCreateRepoByUserID(user.ID)
325+
orgForks, err := FindUserOrgForks(repo.ID, user.ID)
312326
if err != nil {
313-
return repoList, err
314-
}
315-
for _, org := range canCreateRepos {
316-
forkedRepo, err := repo_model.GetUserFork(repo.ID, org.ID)
317-
if err != nil {
318-
return repoList, err
319-
}
320-
if forkedRepo != nil {
321-
repoList = append(repoList, forkedRepo)
322-
}
327+
return nil, err
323328
}
329+
repoList = append(repoList, orgForks...)
324330
return repoList, nil
325331
}
326332

0 commit comments

Comments
 (0)