Skip to content

Commit

Permalink
Revert "Fix schedule tasks bugs (go-gitea#28691)" (part 2)
Browse files Browse the repository at this point in the history
This function is now being used elsewhere and cannot be reverted. Only
the part that was modified in addition to being moved is deleted.

(cherry picked from commit 72954836a492f552ccc03250ba560951eedc199d)
(cherry picked from commit 86f4d1871e5605c1592cb83b178f8ebe69ccdfa8)
(cherry picked from commit 8089076ee2434a5f8b0abc11c0c06b5425fb7c14)
  • Loading branch information
earl-warren committed Feb 5, 2024
1 parent fe8622d commit 540ec07
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 0 deletions.
1 change: 1 addition & 0 deletions .deadcode-out
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,7 @@ package "code.gitea.io/gitea/services/pull"

package "code.gitea.io/gitea/services/repository"
func IsErrForkAlreadyExist
func UpdateRepositoryUnits

package "code.gitea.io/gitea/services/repository/archiver"
func ArchiveRepository
Expand Down
38 changes: 38 additions & 0 deletions services/repository/setting.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// Copyright 2023 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT

package repository

import (
"context"

"code.gitea.io/gitea/models/db"
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/models/unit"
)

// UpdateRepositoryUnits updates a repository's units
func UpdateRepositoryUnits(ctx context.Context, repo *repo_model.Repository, units []repo_model.RepoUnit, deleteUnitTypes []unit.Type) (err error) {
ctx, committer, err := db.TxContext(ctx)
if err != nil {
return err
}
defer committer.Close()

// Delete existing settings of units before adding again
for _, u := range units {
deleteUnitTypes = append(deleteUnitTypes, u.Type)
}

if _, err = db.GetEngine(ctx).Where("repo_id = ?", repo.ID).In("type", deleteUnitTypes).Delete(new(repo_model.RepoUnit)); err != nil {
return err
}

if len(units) > 0 {
if err = db.Insert(ctx, units); err != nil {
return err
}
}

return committer.Commit()
}

0 comments on commit 540ec07

Please sign in to comment.