aboutsummaryrefslogtreecommitdiffstats
path: root/services/packages
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2025-02-28 08:29:21 -0800
committerGitHub <noreply@github.com>2025-02-28 16:29:21 +0000
commitaca21549f285255f0d78f90f1f15f0c6f9396761 (patch)
tree42a44e7e585380cfe9cd50d582dbafc07cc03dd2 /services/packages
parentae4a3d770813f37f092bdea8a2b3a0827fcc1b41 (diff)
downloadgitea-aca21549f285255f0d78f90f1f15f0c6f9396761.tar.gz
gitea-aca21549f285255f0d78f90f1f15f0c6f9396761.zip
Add composor source field (#33502)
Fix #33066
Diffstat (limited to 'services/packages')
-rw-r--r--services/packages/package_update.go17
1 files changed, 9 insertions, 8 deletions
diff --git a/services/packages/package_update.go b/services/packages/package_update.go
index 8d851fac53..4a22ee7a62 100644
--- a/services/packages/package_update.go
+++ b/services/packages/package_update.go
@@ -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)