Fix system admin cannot fork or get private fork with API (#33401)

Fix #33368
This commit is contained in:
Lunny Xiao 2025-01-27 08:25:14 -08:00 committed by GitHub
parent dcd3014567
commit 77d14fb6d3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 47 additions and 13 deletions

View file

@ -256,9 +256,11 @@ type findForksOptions struct {
}
func (opts findForksOptions) ToConds() builder.Cond {
return builder.Eq{"fork_id": opts.RepoID}.And(
repo_model.AccessibleRepositoryCondition(opts.Doer, unit.TypeInvalid),
)
cond := builder.Eq{"fork_id": opts.RepoID}
if opts.Doer != nil && opts.Doer.IsAdmin {
return cond
}
return cond.And(repo_model.AccessibleRepositoryCondition(opts.Doer, unit.TypeInvalid))
}
// FindForks returns all the forks of the repository