summaryrefslogtreecommitdiffstats
path: root/services/org/org.go
diff options
context:
space:
mode:
Diffstat (limited to 'services/org/org.go')
-rw-r--r--services/org/org.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/services/org/org.go b/services/org/org.go
index da7a71fec5..d7b3019e74 100644
--- a/services/org/org.go
+++ b/services/org/org.go
@@ -10,6 +10,7 @@ import (
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/organization"
+ packages_model "code.gitea.io/gitea/models/packages"
repo_model "code.gitea.io/gitea/models/repo"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/storage"
@@ -32,6 +33,13 @@ func DeleteOrganization(org *organization.Organization) error {
return models.ErrUserOwnRepos{UID: org.ID}
}
+ // Check ownership of packages.
+ if ownsPackages, err := packages_model.HasOwnerPackages(ctx, org.ID); err != nil {
+ return fmt.Errorf("HasOwnerPackages: %v", err)
+ } else if ownsPackages {
+ return models.ErrUserOwnPackages{UID: org.ID}
+ }
+
if err := organization.DeleteOrganization(ctx, org); err != nil {
return fmt.Errorf("DeleteOrganization: %v", err)
}