mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	fix delete user failed on sqlite (#1321)
This commit is contained in:
		@@ -9,8 +9,8 @@ import "github.com/markbates/goth"
 | 
			
		||||
// ExternalLoginUser makes the connecting between some existing user and additional external login sources
 | 
			
		||||
type ExternalLoginUser struct {
 | 
			
		||||
	ExternalID    string `xorm:"NOT NULL"`
 | 
			
		||||
	UserID        int64 `xorm:"NOT NULL"`
 | 
			
		||||
	LoginSourceID int64 `xorm:"NOT NULL"`
 | 
			
		||||
	UserID        int64  `xorm:"NOT NULL"`
 | 
			
		||||
	LoginSourceID int64  `xorm:"NOT NULL"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetExternalLogin checks if a externalID in loginSourceID scope already exists
 | 
			
		||||
@@ -67,8 +67,8 @@ func RemoveAccountLink(user *User, loginSourceID int64) (int64, error) {
 | 
			
		||||
	return deleted, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RemoveAllAccountLinks will remove all external login sources for the given user
 | 
			
		||||
func RemoveAllAccountLinks(user *User) error {
 | 
			
		||||
	_, err := x.Delete(&ExternalLoginUser{UserID: user.ID})
 | 
			
		||||
// removeAllAccountLinks will remove all external login sources for the given user
 | 
			
		||||
func removeAllAccountLinks(e Engine, user *User) error {
 | 
			
		||||
	_, err := e.Delete(&ExternalLoginUser{UserID: user.ID})
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -990,7 +990,7 @@ func deleteUser(e *xorm.Session, u *User) error {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// ***** START: ExternalLoginUser *****
 | 
			
		||||
	if err = RemoveAllAccountLinks(u); err != nil {
 | 
			
		||||
	if err = removeAllAccountLinks(e, u); err != nil {
 | 
			
		||||
		return fmt.Errorf("ExternalLoginUser: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
	// ***** END: ExternalLoginUser *****
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user