You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

common.go 1.1KB

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright 2022 The Gitea Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package container
  5. import (
  6. "context"
  7. "strings"
  8. packages_model "code.gitea.io/gitea/models/packages"
  9. user_model "code.gitea.io/gitea/models/user"
  10. container_module "code.gitea.io/gitea/modules/packages/container"
  11. )
  12. // UpdateRepositoryNames updates the repository name property for all packages of the specific owner
  13. func UpdateRepositoryNames(ctx context.Context, owner *user_model.User, newOwnerName string) error {
  14. ps, err := packages_model.GetPackagesByType(ctx, owner.ID, packages_model.TypeContainer)
  15. if err != nil {
  16. return err
  17. }
  18. newOwnerName = strings.ToLower(newOwnerName)
  19. for _, p := range ps {
  20. if err := packages_model.DeletePropertyByName(ctx, packages_model.PropertyTypePackage, p.ID, container_module.PropertyRepository); err != nil {
  21. return err
  22. }
  23. if _, err := packages_model.InsertProperty(ctx, packages_model.PropertyTypePackage, p.ID, container_module.PropertyRepository, newOwnerName+"/"+p.LowerName); err != nil {
  24. return err
  25. }
  26. }
  27. return nil
  28. }