Revert "Fix schedule tasks bugs (#28691)" (part 2)
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 commit72954836a4) (cherry picked from commit86f4d1871e) (cherry picked from commit8089076ee2)
This commit is contained in:
		
							parent
							
								
									fe8622dae3
								
							
						
					
					
						commit
						540ec0751c
					
				
					 2 changed files with 39 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										38
									
								
								services/repository/setting.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								services/repository/setting.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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()
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue