webclient: Updated to use /rooms/$roomid/[invite|join|leave]

paul/schema_breaking_changes
Kegan Dougal 2014-08-26 14:59:31 +01:00
parent 5c0be8fde3
commit 9ff9caeb74
1 changed files with 11 additions and 7 deletions

View File

@ -115,7 +115,7 @@ angular.module('matrixService', [])
// Joins a room
join: function(room_id) {
return this.membershipChange(room_id, config.user_id, "join");
return this.membershipChange(room_id, undefined, "join");
},
joinAlias: function(room_alias) {
@ -134,18 +134,22 @@ angular.module('matrixService', [])
// Leaves a room
leave: function(room_id) {
return this.membershipChange(room_id, config.user_id, "leave");
return this.membershipChange(room_id, undefined, "leave");
},
membershipChange: function(room_id, user_id, membershipValue) {
// The REST path spec
var path = "/rooms/$room_id/state/m.room.member/$user_id";
var path = "/rooms/$room_id/$membership";
path = path.replace("$room_id", encodeURIComponent(room_id));
path = path.replace("$user_id", encodeURIComponent(user_id));
path = path.replace("$membership", encodeURIComponent(membershipValue));
return doRequest("PUT", path, undefined, {
membership: membershipValue
});
var data = {};
if (user_id !== undefined) {
data = { user_id: user_id };
}
// TODO: Use PUT with transaction IDs
return doRequest("POST", path, undefined, data);
},
// Retrieves the room ID corresponding to a room alias