Added /ban command

This commit is contained in:
Emmanuel ROHEE 2014-09-03 11:17:58 +02:00
parent 65c7f78e9f
commit 56427b8057
2 changed files with 29 additions and 1 deletions

View file

@ -166,6 +166,17 @@ angular.module('matrixService', [])
return doRequest("POST", path, undefined, data); return doRequest("POST", path, undefined, data);
}, },
// Bans a user from from a room
ban: function(room_id, user_id, reason) {
var path = "/rooms/$room_id/ban/";
path = path.replace("$room_id", encodeURIComponent(room_id));
return doRequest("PUT", path, undefined, {
user_id: user_id,
reason: reason
});
},
// Retrieves the room ID corresponding to a room alias // Retrieves the room ID corresponding to a room alias
resolveRoomAlias:function(room_alias) { resolveRoomAlias:function(room_alias) {
var path = "/_matrix/client/api/v1/directory/room/$room_alias"; var path = "/_matrix/client/api/v1/directory/room/$room_alias";
@ -409,6 +420,7 @@ angular.module('matrixService', [])
}); });
}, },
/****** Permanent storage of user information ******/ /****** Permanent storage of user information ******/
// Returns the current config // Returns the current config

View file

@ -269,6 +269,22 @@ angular.module('RoomController', ['ngSanitize', 'mFileInput'])
promise = matrixService.setDisplayName(args[1]); promise = matrixService.setDisplayName(args[1]);
} }
break; break;
case "/ban":
// Ban the user id from the room
if (2 <= args.length) {
// TODO: The user may have entered the display name
// Need display name -> user_id resolution. Pb: how to manage user with same display names?
var user_id = args[1];
// Does the user provide a reason?
if (3 <= args.length) {
var reason = args.slice(2).join(' ');
}
promise = matrixService.ban($scope.room_id, user_id, reason);
}
break;
} }
} }
else { else {