Move package settings to package instead of being tied to version (#37026)

Unties settings page from package version and adds button to delete the
package version
Settings page now allows for deletion of entire package and it's
versions as opposed to a single version

Adds an API endpoint to delete the entire package with all versions from
registry

fixes: https://github.com/go-gitea/gitea/issues/36904

Co-Authored-By: gemini-3-flash

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Giteabot <teabot@gitea.io>
This commit is contained in:
TheFox0x7
2026-04-05 21:51:51 +02:00
committed by GitHub
parent a8938115d4
commit ca51b4f875
19 changed files with 477 additions and 45 deletions
+14
View File
@@ -115,6 +115,20 @@ func DeleteFileByID(ctx context.Context, fileID int64) error {
return err
}
// DeleteFilesByPackageID deletes all files of a specific package
// Versions must not be deleted prior to this call
func DeleteFilesByPackageID(ctx context.Context, packageID int64) error {
deleteStmt := builder.Delete(builder.In("version_id", builder.Select("package_version.id").From("package_version").Where(builder.Eq{"package_id": packageID}))).From("package_file")
_, err := db.GetEngine(ctx).Exec(deleteStmt)
return err
}
// DeleteFilesByVersionID deletes all files of a specific version
func DeleteFilesByVersionID(ctx context.Context, versionID int64) error {
_, err := db.GetEngine(ctx).Where("version_id = ?", versionID).Delete(&PackageFile{})
return err
}
func UpdateFile(ctx context.Context, pf *PackageFile, cols []string) error {
_, err := db.GetEngine(ctx).ID(pf.ID).Cols(cols...).Update(pf)
return err