From 789e4ec9cecc5be4ab3356551c712b40a8094b51 Mon Sep 17 00:00:00 2001 From: zijiren233 Date: Thu, 25 Apr 2024 17:08:48 +0800 Subject: [PATCH] Opt: admin default all permission --- internal/db/member.go | 6 ++++-- internal/op/room.go | 10 +++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/internal/db/member.go b/internal/db/member.go index 5ce96c7f..333264a1 100644 --- a/internal/db/member.go +++ b/internal/db/member.go @@ -127,13 +127,15 @@ func RoomRemoveAdminPermissions(roomID, userID string, permissions model.RoomAdm func RoomSetAdmin(roomID, userID string, permissions model.RoomAdminPermission) error { return db.Model(&model.RoomMember{}).Where("room_id = ? AND user_id = ?", roomID, userID).Updates(map[string]interface{}{ "role": model.RoomMemberRoleAdmin, + "permissions": model.AllPermissions, "admin_permissions": permissions, }).Error } func RoomSetMember(roomID, userID string, permissions model.RoomMemberPermission) error { return db.Model(&model.RoomMember{}).Where("room_id = ? AND user_id = ?", roomID, userID).Updates(map[string]interface{}{ - "role": model.RoomMemberRoleMember, - "permissions": permissions, + "role": model.RoomMemberRoleMember, + "permissions": permissions, + "admin_permissions": model.NoAdminPermission, }).Error } diff --git a/internal/op/room.go b/internal/op/room.go index daee2f76..8578bc5a 100644 --- a/internal/op/room.go +++ b/internal/op/room.go @@ -485,19 +485,19 @@ func (r *Room) SetMemberPermissions(userID string, permissions model.RoomMemberP } func (r *Room) AddMemberPermissions(userID string, permissions model.RoomMemberPermission) error { - if r.IsCreator(userID) { - return errors.New("you are creator, cannot add permissions") - } if r.IsGuest(userID) { return errors.New("cannot add permissions to guest") } + if r.IsAdmin(userID) { + return errors.New("cannot add permissions to admin") + } defer r.members.Delete(userID) return db.AddMemberPermissions(r.ID, userID, permissions) } func (r *Room) RemoveMemberPermissions(userID string, permissions model.RoomMemberPermission) error { - if r.IsCreator(userID) { - return errors.New("you are creator, cannot remove permissions") + if r.IsAdmin(userID) { + return errors.New("cannot remove permissions from admin") } defer r.members.Delete(userID) return db.RemoveMemberPermissions(r.ID, userID, permissions)