@@ -32,31 +32,13 @@ var rpccon: amqp_rpc_consumer = new amqp_rpc_consumer(logger, Config.amqp_url, "
3232} ) ;
3333var rpcpub : amqp_rpc_publisher = new amqp_rpc_publisher ( logger , Config . amqp_url ) ;
3434
35- async function ensureUser ( jwt : string , name : string , username : string , id : string ) : Promise < User > {
36- var user : User = await User . FindByUsernameOrId ( username , id ) ;
37- if ( user !== null && ( user . _id === id || id === null ) ) { return user ; }
38- if ( user !== null && id !== null ) { await Config . db . DeleteOne ( user . _id , "users" , jwt ) ; }
39- user = new User ( ) ; user . _id = id ; user . name = name ; user . username = username ;
40- await user . SetPassword ( Math . random ( ) . toString ( 36 ) . substr ( 2 , 9 ) ) ;
41- user = await Config . db . InsertOne ( user , "users" , 0 , false , jwt ) ;
42- user = User . assign ( user ) ;
43- return user ;
44- }
45- async function ensureRole ( jwt : string , name : string , id : string ) : Promise < Role > {
46- var role : Role = await Role . FindByNameOrId ( name , id ) ;
47- if ( role !== null && role . _id === id ) { return role ; }
48- if ( role !== null ) { await Config . db . DeleteOne ( role . _id , "users" , jwt ) ; }
49- role = new Role ( ) ; role . _id = id ; role . name = name ;
50- role = await Config . db . InsertOne ( role , "users" , 0 , false , jwt ) ;
51- role = Role . assign ( role ) ;
52- return role ;
53- }
35+
5436async function initDatabase ( ) : Promise < boolean > {
5537 try {
5638 var jwt : string = TokenUser . rootToken ( ) ;
57- var admins : Role = await ensureRole ( jwt , "admins" , WellknownIds . admins ) ;
58- var users : Role = await ensureRole ( jwt , "users" , WellknownIds . users ) ;
59- var root : User = await ensureUser ( jwt , "root" , "root" , WellknownIds . root ) ;
39+ var admins : Role = await User . ensureRole ( jwt , "admins" , WellknownIds . admins ) ;
40+ var users : Role = await User . ensureRole ( jwt , "users" , WellknownIds . users ) ;
41+ var root : User = await User . ensureUser ( jwt , "root" , "root" , WellknownIds . root ) ;
6042 root . addRight ( WellknownIds . admins , "admins" , [ Rights . full_control ] ) ;
6143 root . removeRight ( WellknownIds . admins , [ Rights . delete ] ) ;
6244 root . addRight ( WellknownIds . root , "root" , [ Rights . full_control ] ) ;
@@ -73,28 +55,28 @@ async function initDatabase(): Promise<boolean> {
7355 users . AddMember ( root ) ;
7456 await users . Save ( jwt ) ;
7557
76- var nodered_admins : Role = await ensureRole ( jwt , "nodered admins" , WellknownIds . nodered_admins ) ;
58+ var nodered_admins : Role = await User . ensureRole ( jwt , "nodered admins" , WellknownIds . nodered_admins ) ;
7759 nodered_admins . AddMember ( admins ) ;
7860 nodered_admins . addRight ( WellknownIds . admins , "admins" , [ Rights . full_control ] ) ;
7961 nodered_admins . removeRight ( WellknownIds . admins , [ Rights . delete ] ) ;
8062 await nodered_admins . Save ( jwt ) ;
81- var nodered_users : Role = await ensureRole ( jwt , "nodered users" , WellknownIds . nodered_users ) ;
63+ var nodered_users : Role = await User . ensureRole ( jwt , "nodered users" , WellknownIds . nodered_users ) ;
8264 nodered_users . AddMember ( admins ) ;
8365 nodered_users . addRight ( WellknownIds . admins , "admins" , [ Rights . full_control ] ) ;
8466 nodered_users . removeRight ( WellknownIds . admins , [ Rights . delete ] ) ;
8567 await nodered_users . Save ( jwt ) ;
86- var nodered_api_users : Role = await ensureRole ( jwt , "nodered api users" , WellknownIds . nodered_api_users ) ;
68+ var nodered_api_users : Role = await User . ensureRole ( jwt , "nodered api users" , WellknownIds . nodered_api_users ) ;
8769 nodered_api_users . AddMember ( admins ) ;
8870 nodered_api_users . addRight ( WellknownIds . admins , "admins" , [ Rights . full_control ] ) ;
8971 nodered_api_users . removeRight ( WellknownIds . admins , [ Rights . delete ] ) ;
9072 await nodered_api_users . Save ( jwt ) ;
9173
92- var robot_admins : Role = await ensureRole ( jwt , "robot admins" , WellknownIds . robot_admins ) ;
74+ var robot_admins : Role = await User . ensureRole ( jwt , "robot admins" , WellknownIds . robot_admins ) ;
9375 robot_admins . AddMember ( admins ) ;
9476 robot_admins . addRight ( WellknownIds . admins , "admins" , [ Rights . full_control ] ) ;
9577 robot_admins . removeRight ( WellknownIds . admins , [ Rights . delete ] ) ;
9678 await robot_admins . Save ( jwt ) ;
97- var robot_users : Role = await ensureRole ( jwt , "robot users" , WellknownIds . robot_users ) ;
79+ var robot_users : Role = await User . ensureRole ( jwt , "robot users" , WellknownIds . robot_users ) ;
9880 robot_users . AddMember ( admins ) ;
9981 robot_users . AddMember ( users ) ;
10082 robot_users . addRight ( WellknownIds . admins , "admins" , [ Rights . full_control ] ) ;
0 commit comments