Skip to content

Commit

Permalink
Opt: admin default all permission
Browse files Browse the repository at this point in the history
  • Loading branch information
zijiren233 committed Apr 25, 2024
1 parent 65d4d67 commit 789e4ec
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
6 changes: 4 additions & 2 deletions internal/db/member.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
10 changes: 5 additions & 5 deletions internal/op/room.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 789e4ec

Please sign in to comment.