mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 05:25:15 +01:00 
			
		
		
		
	Fix bug in removeOrgRepo
This commit is contained in:
		
							parent
							
								
									8a421b1fd7
								
							
						
					
					
						commit
						f82ea42679
					
				@ -30,12 +30,14 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Engine represents a xorm engine or session.
 | 
					// Engine represents a xorm engine or session.
 | 
				
			||||||
type Engine interface {
 | 
					type Engine interface {
 | 
				
			||||||
 | 
						Decr(column string, arg ...interface{}) *xorm.Session
 | 
				
			||||||
	Delete(interface{}) (int64, error)
 | 
						Delete(interface{}) (int64, error)
 | 
				
			||||||
	Exec(string, ...interface{}) (sql.Result, error)
 | 
						Exec(string, ...interface{}) (sql.Result, error)
 | 
				
			||||||
	Find(interface{}, ...interface{}) error
 | 
						Find(interface{}, ...interface{}) error
 | 
				
			||||||
	Get(interface{}) (bool, error)
 | 
						Get(interface{}) (bool, error)
 | 
				
			||||||
	Id(interface{}) *xorm.Session
 | 
						Id(interface{}) *xorm.Session
 | 
				
			||||||
	In(string, ...interface{}) *xorm.Session
 | 
						In(string, ...interface{}) *xorm.Session
 | 
				
			||||||
 | 
						Incr(column string, arg ...interface{}) *xorm.Session
 | 
				
			||||||
	Insert(...interface{}) (int64, error)
 | 
						Insert(...interface{}) (int64, error)
 | 
				
			||||||
	InsertOne(interface{}) (int64, error)
 | 
						InsertOne(interface{}) (int64, error)
 | 
				
			||||||
	Iterate(interface{}, xorm.IterFunc) error
 | 
						Iterate(interface{}, xorm.IterFunc) error
 | 
				
			||||||
 | 
				
			|||||||
@ -526,10 +526,28 @@ func RemoveOrgUser(orgID, userID int64) error {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func removeOrgRepo(e Engine, orgID, repoID int64) error {
 | 
					func removeOrgRepo(e Engine, orgID, repoID int64) error {
 | 
				
			||||||
	_, err := e.Delete(&TeamRepo{
 | 
						teamRepos := make([]*TeamRepo, 0, 10)
 | 
				
			||||||
 | 
						if err := e.Find(&teamRepos, &TeamRepo{OrgID: orgID, RepoID: repoID}); err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if len(teamRepos) == 0 {
 | 
				
			||||||
 | 
							return nil
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if _, err := e.Delete(&TeamRepo{
 | 
				
			||||||
		OrgID:  orgID,
 | 
							OrgID:  orgID,
 | 
				
			||||||
		RepoID: repoID,
 | 
							RepoID: repoID,
 | 
				
			||||||
	})
 | 
						}); err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						teamIDs := make([]int64, len(teamRepos))
 | 
				
			||||||
 | 
						for i, teamRepo := range teamRepos {
 | 
				
			||||||
 | 
							teamIDs[i] = teamRepo.ID
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_, err := x.Decr("num_repos").In("id", teamIDs).Update(new(Team))
 | 
				
			||||||
	return err
 | 
						return err
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user