Skip to content
Snippets Groups Projects
Commit 932f35a7 authored by Emmanuel ROHEE's avatar Emmanuel ROHEE
Browse files

Added /deop $user_id

parent 756e171a
No related branches found
No related tags found
No related merge requests found
......@@ -522,7 +522,6 @@ angular.module('matrixService', [])
return powerLevel;
},
//
/**
* Change the power level of a user
* @param {String} room_id the room id
......@@ -554,7 +553,33 @@ angular.module('matrixService', [])
// The room does not exist or does not contain power_levels data
var deferred = $q.defer();
deferred.reject({data:{error: "Invalied room: " + room_id}});
deferred.reject({data:{error: "Invalid room: " + room_id}});
return deferred.promise;
},
/**
* reset the power level of a user so that he will use the room default power level
* @param {String} room_id the room id
* @param {String} user_id the user id
* @returns {promise} an $http promise
*/
resetUserPowerLevel: function(room_id, user_id) {
// Hack: currently, there is no home server API so do it by hand by updating
// the current m.room.power_levels of the room and send it to the server
var room = $rootScope.events.rooms[room_id];
if (room && room["m.room.power_levels"]) {
var content = angular.copy(room["m.room.power_levels"].content);
delete content[user_id];
var path = "/rooms/$room_id/state/m.room.power_levels";
path = path.replace("$room_id", encodeURIComponent(room_id));
return doRequest("PUT", path, undefined, content);
}
// The room does not exist or does not contain power_levels data
var deferred = $q.defer();
deferred.reject({data:{error: "Invalid room: " + room_id}});
return deferred.promise;
}
......
......@@ -299,13 +299,21 @@ angular.module('RoomController', ['ngSanitize', 'mFileInput'])
break;
case "/op":
// Define the power level of an user
if (3 === args.length) {
var user_id = args[1];
var powerLevel = parseInt(args[2]);
promise = matrixService.setUserPowerLevel($scope.room_id, user_id, powerLevel);
}
break;
case "/deop":
// Reset the power level of an user
if (2 === args.length) {
var user_id = args[1];
promise = matrixService.resetUserPowerLevel($scope.room_id, user_id);
}
break;
}
}
else {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment