Add composor source field (#33502)

Fix #33066

(cherry picked from commit aca21549f285255f0d78f90f1f15f0c6f9396761)
This commit is contained in:
Lunny Xiao 2025-02-28 08:29:21 -08:00 committed by Gusted
parent 41e91373d3
commit 9a5ef22f3a
No known key found for this signature in database
GPG key ID: FD821B732837125F
4 changed files with 70 additions and 13 deletions

View file

@ -44,16 +44,17 @@ func UnlinkFromRepository(ctx context.Context, pkg *packages_model.Package, doer
}
repo, err := repo_model.GetRepositoryByID(ctx, pkg.RepoID)
if err != nil {
if err != nil && !repo_model.IsErrRepoNotExist(err) {
return fmt.Errorf("error getting repository %d: %w", pkg.RepoID, err)
}
perms, err := access_model.GetUserRepoPermission(ctx, repo, doer)
if err != nil {
return fmt.Errorf("error getting permissions for user %d on repository %d: %w", doer.ID, repo.ID, err)
}
if !perms.CanWrite(unit.TypePackages) {
return util.ErrPermissionDenied
if err == nil {
perms, err := access_model.GetUserRepoPermission(ctx, repo, doer)
if err != nil {
return fmt.Errorf("error getting permissions for user %d on repository %d: %w", doer.ID, repo.ID, err)
}
if !perms.CanWrite(unit.TypePackages) {
return util.ErrPermissionDenied
}
}
user, err := user_model.GetUserByID(ctx, pkg.OwnerID)