     .then -> Promise.resolve()
 
   # @private
-  roomSetWhitelistMode : (roomName, mode) ->
-    @state.getRoom roomName
-    .then (room) =>
-      room.changeMode @userName, mode
+  roomSetWhitelistMode : (roomName, mode, {bypassPermissions}) ->
+    @state.getRoom roomName
+    .then (room) =>
+      room.changeMode @userName, mode, bypassPermissions
     .spread (userNames, mode) =>
       if @enableAccessListsUpdates
         @transport.sendToChannel roomName, 'roomModeChanged', roomName, mode
       @removeRoomUsers roomName, userNames
 
   # @private
-  systemMessage : (data, params) ->
-    id = params.id || null
+  systemMessage : (data, {id}) ->
     @transport.sendToOthers id, @echoChannel, 'systemMessage', data
 
 

      .then -> Promise.resolve()

  # @private
  roomCreate : (roomName, whitelistOnly) ->
    unless @enableRoomsManagement
      error = new ChatServiceError 'notAllowed'
      return Promise.reject error
    checkNameSymbols roomName

    @userState.getSocketsToRooms()

  # @private
  roomAddToList : (roomName, listName, values, {bypassPermissions}) ->
    @state.getRoom roomName
    .then (room) =>
      room.addToList @userName, listName, values, bypassPermissions
    .then (userNames) =>
      if @enableAccessListsUpdates
        @transport.sendToChannel roomName, 'roomAccessListAdded'
