mirror of
https://github.com/Skylar-Tech/node-red-contrib-matrix-chat.git
synced 2025-04-20 04:53:06 -06:00
Make errors catchable and (de)register at config node of all nodes
This commit is contained in:
parent
1f97d9803b
commit
2bd0fa48e2
@ -8,9 +8,10 @@ module.exports = function(RED) {
|
|||||||
this.server = RED.nodes.getNode(n.server);
|
this.server = RED.nodes.getNode(n.server);
|
||||||
|
|
||||||
if(!this.server) {
|
if(!this.server) {
|
||||||
node.error('Server must be configured on the node.');
|
node.error('Server must be configured on the node.', {});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
node.server.register(node);
|
||||||
|
|
||||||
this.encodeUri = function(pathTemplate, variables) {
|
this.encodeUri = function(pathTemplate, variables) {
|
||||||
for (const key in variables) {
|
for (const key in variables) {
|
||||||
@ -41,12 +42,12 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed");
|
node.error("Matrix server connection is currently closed", {});
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.userId) {
|
if(!msg.userId) {
|
||||||
node.error("msg.userId must be set to edit/create a user (ex: @user:server.com)");
|
node.error("msg.userId must be set to edit/create a user (ex: @user:server.com)", {});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,6 +70,10 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
node.on("close", function() {
|
||||||
|
node.server.deregister(node);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-synapse-create-edit-user", MatrixSynapseCreateEditUser);
|
RED.nodes.registerType("matrix-synapse-create-edit-user", MatrixSynapseCreateEditUser);
|
||||||
}
|
}
|
@ -8,9 +8,10 @@ module.exports = function(RED) {
|
|||||||
this.server = RED.nodes.getNode(n.server);
|
this.server = RED.nodes.getNode(n.server);
|
||||||
|
|
||||||
if(!this.server) {
|
if(!this.server) {
|
||||||
node.error('Server must be configured on the node.');
|
node.error('Server must be configured on the node.', {});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
node.server.register(node);
|
||||||
|
|
||||||
this.encodeUri = function(pathTemplate, variables) {
|
this.encodeUri = function(pathTemplate, variables) {
|
||||||
for (const key in variables) {
|
for (const key in variables) {
|
||||||
@ -41,12 +42,12 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed");
|
node.error("Matrix server connection is currently closed", {});
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.userId) {
|
if(!msg.userId) {
|
||||||
node.error("msg.userId must be set to edit/create a user (ex: @user:server.com)");
|
node.error("msg.userId must be set to edit/create a user (ex: @user:server.com)", {});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,6 +71,10 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
node.on("close", function() {
|
||||||
|
node.server.deregister(node);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-synapse-deactivate-user", MatrixSynapseDeactivateUser);
|
RED.nodes.registerType("matrix-synapse-deactivate-user", MatrixSynapseDeactivateUser);
|
||||||
}
|
}
|
@ -9,10 +9,9 @@ module.exports = function(RED) {
|
|||||||
this.roomId = n.roomId;
|
this.roomId = n.roomId;
|
||||||
|
|
||||||
if(!this.server) {
|
if(!this.server) {
|
||||||
node.error('Server must be configured on the node.');
|
node.error('Server must be configured on the node.', {});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.encodeUri = function(pathTemplate, variables) {
|
this.encodeUri = function(pathTemplate, variables) {
|
||||||
for (const key in variables) {
|
for (const key in variables) {
|
||||||
if (!variables.hasOwnProperty(key)) {
|
if (!variables.hasOwnProperty(key)) {
|
||||||
@ -42,18 +41,18 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed");
|
node.error("Matrix server connection is currently closed", {});
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
msg.topic = node.roomId || msg.topic;
|
msg.topic = node.roomId || msg.topic;
|
||||||
if(!msg.topic) {
|
if(!msg.topic) {
|
||||||
node.error("room must be defined in either msg.topic or in node config");
|
node.error("room must be defined in either msg.topic or in node config", {});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.userId) {
|
if(!msg.userId) {
|
||||||
node.error("msg.userId is required to set user into a room");
|
node.error("msg.userId is required to set user into a room", {});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -77,6 +76,10 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
node.on("close", function() {
|
||||||
|
node.server.deregister(node);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-synapse-join-room", MatrixJoinRoom);
|
RED.nodes.registerType("matrix-synapse-join-room", MatrixJoinRoom);
|
||||||
}
|
}
|
@ -12,25 +12,27 @@ module.exports = function(RED) {
|
|||||||
this.sharedSecret = this.credentials.sharedSecret;
|
this.sharedSecret = this.credentials.sharedSecret;
|
||||||
|
|
||||||
if(!this.server) {
|
if(!this.server) {
|
||||||
node.error('Server URL must be configured on the node.');
|
node.error('Server URL must be configured on the node.', {});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!this.sharedSecret) {
|
if(!this.sharedSecret) {
|
||||||
node.error('Shared registration secret must be configured on the node.');
|
node.error('Shared registration secret must be configured on the node.', {});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
node.server.register(node);
|
||||||
|
|
||||||
node.on("input", async function (msg) {
|
node.on("input", async function (msg) {
|
||||||
const { got } = await import('got');
|
const { got } = await import('got');
|
||||||
|
|
||||||
if(!msg.payload.username) {
|
if(!msg.payload.username) {
|
||||||
node.error("msg.payload.username is required");
|
node.error("msg.payload.username is required", {});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.payload.password) {
|
if(!msg.payload.password) {
|
||||||
node.error("msg.payload.password is required");
|
node.error("msg.payload.password is required", {});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,7 +52,7 @@ module.exports = function(RED) {
|
|||||||
|
|
||||||
var nonce = response.body.nonce;
|
var nonce = response.body.nonce;
|
||||||
if(!nonce) {
|
if(!nonce) {
|
||||||
node.error('Could not get nonce from /_synapse/admin/v1/register');
|
node.error('Could not get nonce from /_synapse/admin/v1/register', {});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,6 +98,10 @@ module.exports = function(RED) {
|
|||||||
node.send(msg);
|
node.send(msg);
|
||||||
})();
|
})();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
node.on("close", function() {
|
||||||
|
node.server.deregister(node);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-synapse-register", MatrixSynapseRegister, {
|
RED.nodes.registerType("matrix-synapse-register", MatrixSynapseRegister, {
|
||||||
credentials: {
|
credentials: {
|
||||||
|
@ -12,6 +12,8 @@ module.exports = function(RED) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
node.server.register(node);
|
||||||
|
|
||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
|
|
||||||
node.server.on("disconnected", function(){
|
node.server.on("disconnected", function(){
|
||||||
@ -29,7 +31,7 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed");
|
node.error("Matrix server connection is currently closed", {});
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -62,6 +64,10 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
node.on("close", function() {
|
||||||
|
node.server.deregister(node);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-synapse-users", MatrixSynapseUsers);
|
RED.nodes.registerType("matrix-synapse-users", MatrixSynapseUsers);
|
||||||
}
|
}
|
@ -8,10 +8,12 @@ module.exports = function(RED) {
|
|||||||
this.server = RED.nodes.getNode(n.server);
|
this.server = RED.nodes.getNode(n.server);
|
||||||
|
|
||||||
if(!this.server) {
|
if(!this.server) {
|
||||||
node.error('Server must be configured on the node.');
|
node.error('Server must be configured on the node.', {});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
node.server.register(node);
|
||||||
|
|
||||||
this.encodeUri = function(pathTemplate, variables) {
|
this.encodeUri = function(pathTemplate, variables) {
|
||||||
for (const key in variables) {
|
for (const key in variables) {
|
||||||
if (!variables.hasOwnProperty(key)) {
|
if (!variables.hasOwnProperty(key)) {
|
||||||
@ -41,12 +43,12 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed");
|
node.error("Matrix server connection is currently closed", {});
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.userId) {
|
if(!msg.userId) {
|
||||||
node.error("msg.userId must be set to get user whois data");
|
node.error("msg.userId must be set to get user whois data", {});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,6 +72,10 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
node.on("close", function() {
|
||||||
|
node.server.deregister(node);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-whois-user", MatrixWhoIsUser);
|
RED.nodes.registerType("matrix-whois-user", MatrixWhoIsUser);
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user