@@ -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 : [
0 commit comments