mirror of
https://github.com/element-hq/element-web
synced 2024-11-27 19:56:47 +03:00
Add ability to set plumbing state in a room
This takes the form: The bridge will not create an admin room if there is plumbing state in the room of the form: ```JS m.room.plumbing: { content: { status: "enabled" }, ... } ```
This commit is contained in:
parent
2752d6b444
commit
514d667db2
1 changed files with 22 additions and 0 deletions
|
@ -174,6 +174,25 @@ function inviteUser(event, roomId, userId) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setPlumbingState(event, roomId, status) {
|
||||||
|
if (typeof status !== 'string') {
|
||||||
|
throw new Error('Plumbing state status should be a string');
|
||||||
|
}
|
||||||
|
console.log(`Received request to set plumbing state to status "${status}" in room ${roomId}`);
|
||||||
|
const client = MatrixClientPeg.get();
|
||||||
|
if (!client) {
|
||||||
|
sendError(event, "You need to be logged in.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
client.sendStateEvent(roomId, "m.room.plumbing", { status : status }).done(() => {
|
||||||
|
sendResponse(event, {
|
||||||
|
success: true,
|
||||||
|
});
|
||||||
|
}, (err) => {
|
||||||
|
sendError(event, err.message ? err.message : "Failed to send request.", err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function setBotOptions(event, roomId, userId) {
|
function setBotOptions(event, roomId, userId) {
|
||||||
console.log(`Received request to set options for bot ${userId} in room ${roomId}`);
|
console.log(`Received request to set options for bot ${userId} in room ${roomId}`);
|
||||||
const client = MatrixClientPeg.get();
|
const client = MatrixClientPeg.get();
|
||||||
|
@ -312,6 +331,9 @@ const onMessage = function(event) {
|
||||||
if (event.data.action === "join_rules_state") {
|
if (event.data.action === "join_rules_state") {
|
||||||
getJoinRules(event, roomId);
|
getJoinRules(event, roomId);
|
||||||
return;
|
return;
|
||||||
|
} else if (event.data.action === "set_plumbing_state") {
|
||||||
|
setPlumbingState(event, roomId, event.data.status);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!userId) {
|
if (!userId) {
|
||||||
|
|
Loading…
Reference in a new issue