Skip to content

Commit 7b70568

Browse files
committed
Fix perm check, skip for own user
1 parent 2abaa9f commit 7b70568

2 files changed

Lines changed: 19 additions & 42 deletions

File tree

OpenFlow/src/Messages/Message.ts

Lines changed: 18 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -712,21 +712,27 @@ export class Message {
712712
this.Send(cli);
713713
}
714714

715+
private async GetInstanceName(cli: WebSocketClient, name: string): Promise<string> {
716+
var username = cli.user.username;
717+
username = username.split("@").join("").split(".").join("");
718+
if (name !== null && name !== undefined && name !== "" && name != username) {
719+
var exists = await User.FindByUsername(name, cli.jwt);
720+
if (exists == null) {
721+
throw new Error("Unknown name " + name);
722+
}
723+
}
724+
name = name.split("@").join("").split(".").join("");
725+
name = name.toLowerCase();
726+
return name;
727+
}
715728
private async EnsureNoderedInstance(cli: WebSocketClient): Promise<void> {
716729
this.Reply();
717730
var msg: EnsureNoderedInstanceMessage;
718731
var user: User;
719732
try {
720733
cli._logger.debug("[" + cli.user.username + "] EnsureNoderedInstance");
721734
msg = EnsureNoderedInstanceMessage.assign(this.data);
722-
var name = cli.user.username;
723-
if (msg.name !== null && msg.name !== undefined && msg.name !== "" && msg.name != cli.user.username) {
724-
var exists = await User.FindByUsername(msg.name, cli.jwt);
725-
if (exists == null) { throw new Error("Unknown name " + msg.name) }
726-
name = msg.name;
727-
}
728-
name = name.split("@").join("").split(".").join("");
729-
name = name.toLowerCase();
735+
var name = await this.GetInstanceName(cli, msg.name);
730736
var namespace = Config.namespace;
731737
var hostname = Config.nodered_domain_schema.replace("$nodered_id$", name);
732738
var queue_prefix: string = "";
@@ -881,14 +887,7 @@ export class Message {
881887
try {
882888
cli._logger.debug("[" + cli.user.username + "] DeleteNoderedInstance");
883889
msg = DeleteNoderedInstanceMessage.assign(this.data);
884-
var name = cli.user.username;
885-
if (msg.name !== null && msg.name !== undefined && msg.name !== "" && msg.name != cli.user.username) {
886-
var exists = await User.FindByUsername(msg.name, cli.jwt);
887-
if (exists == null) { throw new Error("Unknown name " + msg.name) }
888-
name = msg.name;
889-
}
890-
name = name.split("@").join("").split(".").join("");
891-
name = name.toLowerCase();
890+
var name = await this.GetInstanceName(cli, msg.name);
892891
var namespace = Config.namespace;
893892
var hostname = Config.nodered_domain_schema.replace("$nodered_id$", name);
894893

@@ -955,14 +954,7 @@ export class Message {
955954
try {
956955
cli._logger.debug("[" + cli.user.username + "] RestartNoderedInstance");
957956
msg = RestartNoderedInstanceMessage.assign(this.data);
958-
var name = cli.user.username;
959-
if (msg.name !== null && msg.name !== undefined && msg.name !== "" && msg.name != cli.user.username) {
960-
var exists = await User.FindByUsername(msg.name, cli.jwt);
961-
if (exists == null) { throw new Error("Unknown name " + msg.name) }
962-
name = msg.name;
963-
}
964-
name = name.split("@").join("").split(".").join("");
965-
name = name.toLowerCase();
957+
var name = await this.GetInstanceName(cli, msg.name);
966958
var namespace = Config.namespace;
967959
// var hostname = Config.nodered_domain_schema.replace("$nodered_id$", name);
968960

@@ -994,14 +986,7 @@ export class Message {
994986
try {
995987
cli._logger.debug("[" + cli.user.username + "] GetNoderedInstance");
996988
msg = GetNoderedInstanceMessage.assign(this.data);
997-
var name = cli.user.username;
998-
if (msg.name !== null && msg.name !== undefined && msg.name !== "" && msg.name != cli.user.username) {
999-
var exists = await User.FindByUsername(msg.name, cli.jwt);
1000-
if (exists == null) { throw new Error("Unknown name " + msg.name) }
1001-
name = msg.name;
1002-
}
1003-
name = name.split("@").join("").split(".").join("");
1004-
name = name.toLowerCase();
989+
var name = await this.GetInstanceName(cli, msg.name);
1005990
var namespace = Config.namespace;
1006991
// var hostname = Config.nodered_domain_schema.replace("$nodered_id$", name);
1007992

@@ -1044,17 +1029,9 @@ export class Message {
10441029
try {
10451030
cli._logger.debug("[" + cli.user.username + "] GetNoderedInstance");
10461031
msg = GetNoderedInstanceLogMessage.assign(this.data);
1047-
var name = cli.user.username;
1048-
if (msg.name !== null && msg.name !== undefined && msg.name !== "" && msg.name != cli.user.username) {
1049-
var exists = await User.FindByUsername(msg.name, cli.jwt);
1050-
if (exists == null) { throw new Error("Unknown name " + msg.name) }
1051-
name = msg.name;
1052-
}
1053-
name = name.split("@").join("").split(".").join("");
1054-
name = name.toLowerCase();
1032+
var name = await this.GetInstanceName(cli, msg.name);
10551033
var namespace = Config.namespace;
10561034

1057-
10581035
var list = await KubeUtil.instance().CoreV1Api.listNamespacedPod(namespace);
10591036

10601037
if (list.body.items.length > 0) {

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.0.490
1+
0.0.491

0 commit comments

Comments
 (0)