delete user from user_thirds, too

This commit is contained in:
Tao Chen
2024-10-30 15:59:33 +08:00
parent bc92ffc106
commit 3041fb82d9
2 changed files with 23 additions and 1 deletions

View File

@@ -148,8 +148,24 @@ func (us *UserService) Create(u *model.User) error {
func (us *UserService) Logout(u *model.User, token string) error {
return global.DB.Where("user_id = ? and token = ?", u.Id, token).Delete(&model.UserToken{}).Error
}
// Delete 删除用户和oauth信息
func (us *UserService) Delete(u *model.User) error {
return global.DB.Delete(u).Error
// 使用锁进行保护,确保用户删除和 OAuth 删除的原子性
global.Lock.Lock("DeleteUserByUserId")
defer global.Lock.UnLock("DeleteUserByUserId")
// 删除用户
if err := global.DB.Delete(u).Error; err != nil {
return err
}
// 删除关联的 OAuth 信息
if err := AllService.OauthService.DeleteUserByUserId(u.Id); err != nil {
return err
}
return nil
}
// Update 更新