Added /deop $user_id
1 files changed, 27 insertions, 2 deletions
diff --git a/webclient/components/matrix/matrix-service.js b/webclient/components/matrix/matrix-service.js
index bedabe6286..eadbb03d9e 100644
--- a/webclient/components/matrix/matrix-service.js
+++ b/webclient/components/matrix/matrix-service.js
@@ -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;
}
|