From b80e98b69582efaf06e5cceb92ccef11cf0732fb Mon Sep 17 00:00:00 2001 From: zijiren233 Date: Sun, 29 Oct 2023 18:42:48 +0800 Subject: [PATCH] Fix: delete room use string id --- internal/db/room.go | 2 +- internal/db/user.go | 13 ++----------- internal/op/rooms.go | 2 +- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/internal/db/room.go b/internal/db/room.go index d034a2a..9269f4e 100644 --- a/internal/db/room.go +++ b/internal/db/room.go @@ -109,7 +109,7 @@ func HasPermission(roomID, userID string, permission model.Permission) (bool, er } func DeleteRoomByID(roomID string) error { - err := db.Unscoped().Delete(&model.Room{}, roomID).Error + err := db.Unscoped().Where("id = ?", roomID).Delete(&model.Room{}).Error if err != nil && errors.Is(err, gorm.ErrRecordNotFound) { return errors.New("room not found") } diff --git a/internal/db/user.go b/internal/db/user.go index 10a01fc..e011f11 100644 --- a/internal/db/user.go +++ b/internal/db/user.go @@ -51,7 +51,7 @@ func CreateOrLoadUser(username string, p provider.OAuth2Provider, puid uint, con return nil, err } } else { - if err := db.First(&user, userProvider.UserID).Error; err != nil { + if err := db.Where("id = ?", userProvider.UserID).First(&user).Error; err != nil { return nil, err } } @@ -127,15 +127,6 @@ func GetUserByID(id string) (*model.User, error) { return u, err } -func GetUsersByRoomID(roomID string, scopes ...func(*gorm.DB) *gorm.DB) ([]model.User, error) { - users := []model.User{} - err := db.Model(&model.RoomUserRelation{}).Where("room_id = ?", roomID).Scopes(scopes...).Find(&users).Error - if err != nil && errors.Is(err, gorm.ErrRecordNotFound) { - return users, errors.New("room not found") - } - return users, err -} - func BanUser(u *model.User) error { if u.Role == model.RoleBanned { return nil @@ -169,7 +160,7 @@ func UnbanUserByID(userID string) error { } func DeleteUserByID(userID string) error { - err := db.Unscoped().Delete(&model.User{}, userID).Error + err := db.Unscoped().Where("id = ?", userID).Delete(&model.User{}).Error if errors.Is(err, gorm.ErrRecordNotFound) { return errors.New("user not found") } diff --git a/internal/op/rooms.go b/internal/op/rooms.go index 14c65d7..76df7f8 100644 --- a/internal/op/rooms.go +++ b/internal/op/rooms.go @@ -66,7 +66,7 @@ func CloseRoom(roomID string) error { if loaded { r.Value().close() } - return errors.New("room not found in cache") + return nil } func LoadRoomByID(id string) (*Room, error) {