Skip to content

Commit ef12d61

Browse files
committed
ficx user registration error
1 parent 68ce2bf commit ef12d61

4 files changed

Lines changed: 26 additions & 6 deletions

File tree

OpenFlow/src/Messages/Message.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -491,8 +491,24 @@ export class Message {
491491
if (msg.password == null || msg.password == undefined || msg.password == "") { throw new Error("Password cannot be null"); }
492492
user = await User.FindByUsername(msg.username);
493493
if (user !== null && user !== undefined) { throw new Error("Illegal username"); }
494-
user = await User.ensureUser(msg.name, msg.username, msg.password, null);
494+
var jwt: string = TokenUser.rootToken();
495+
user = await User.ensureUser(jwt, msg.name, msg.username, null, msg.password);
495496
msg.user = new TokenUser(user);
497+
498+
jwt = Crypt.createToken(msg.user, "1h");
499+
var name = user.username;
500+
name = name.split("@").join("").split(".").join("");
501+
name = name.toLowerCase();
502+
503+
cli._logger.debug("[" + user.username + "] ensure nodered role " + name + "noderedadmins");
504+
var noderedadmins = await User.ensureRole(jwt, name + "noderedadmins", null);
505+
noderedadmins.addRight(user._id, user.username, [Rights.full_control]);
506+
noderedadmins.removeRight(user._id, [Rights.delete]);
507+
noderedadmins.AddMember(user);
508+
cli._logger.debug("[" + user.username + "] update nodered role " + name + "noderedadmins");
509+
await noderedadmins.Save(jwt);
510+
511+
496512
} catch (error) {
497513
msg.error = error.toString();
498514
}
@@ -564,7 +580,7 @@ export class Message {
564580
containers: [
565581
{
566582
name: 'nodered',
567-
image: 'cloudhack/openflownodered:0.0.242',
583+
image: 'cloudhack/openflownodered:0.0.243',
568584
imagePullPolicy: "Always",
569585
ports: [{ containerPort: 80 }],
570586
env: [

OpenFlow/src/User.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,16 @@ export class User extends Base {
3232
device: any;
3333
federationids: FederationId[] = [];
3434
roles: Rolemember[] = [];
35-
public static async ensureUser(jwt: string, name: string, username: string, id: string): Promise<User> {
35+
public static async ensureUser(jwt: string, name: string, username: string, id: string, password: string): Promise<User> {
3636
var user: User = await User.FindByUsernameOrId(username, id);
3737
if (user !== null && (user._id === id || id === null)) { return user; }
3838
if (user !== null && id !== null) { await Config.db.DeleteOne(user._id, "users", jwt); }
3939
user = new User(); user._id = id; user.name = name; user.username = username;
40-
await user.SetPassword(Math.random().toString(36).substr(2, 9));
40+
if (password !== null && password !== undefined && password !== "") {
41+
await user.SetPassword(password);
42+
} else {
43+
await user.SetPassword(Math.random().toString(36).substr(2, 9));
44+
}
4145
user = await Config.db.InsertOne(user, "users", 0, false, jwt);
4246
user = User.assign(user);
4347
return user;

OpenFlow/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ async function initDatabase(): Promise<boolean> {
3838
var jwt: string = TokenUser.rootToken();
3939
var admins: Role = await User.ensureRole(jwt, "admins", WellknownIds.admins);
4040
var users: Role = await User.ensureRole(jwt, "users", WellknownIds.users);
41-
var root: User = await User.ensureUser(jwt, "root", "root", WellknownIds.root);
41+
var root: User = await User.ensureUser(jwt, "root", "root", WellknownIds.root, null);
4242
root.addRight(WellknownIds.admins, "admins", [Rights.full_control]);
4343
root.removeRight(WellknownIds.admins, [Rights.delete]);
4444
root.addRight(WellknownIds.root, "root", [Rights.full_control]);

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.0.242
1+
0.0.243

0 commit comments

Comments
 (0)