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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user