@@ -46,17 +46,8 @@ function init({
4646 userId : 'username' ,
4747 userName : 'name' ,
4848 role : 'role' ,
49- roleAliases : {
50- user : [ 'user' , 'standard' , 'basic' ] ,
51- dev : [ 'dev' , 'developer' ] ,
52- admin : [ 'admin' , 'administrator' , 'superuser' ]
53- } ,
54- access : {
55- var : 'access' ,
56- user : [ 0 ] ,
57- dev : [ 2 ] ,
58- admin : [ 4 , 5 ]
59- } ,
49+ roleAliases : { } ,
50+ access : { } ,
6051 commissions : 'commissions'
6152 } ,
6253 handler : newHandler = null
@@ -86,14 +77,34 @@ function init({
8677 commissions : 'commissions' ,
8778 ...newVars
8879 } ,
89- returnHandler = newHandler ;
80+ returnHandler = newHandler ;
9081} ;
9182
9283function activate ( isOn = true ) {
9384 on = isOn ;
9485 if ( ! on ) user = { } ;
9586} ;
9687
88+ function getUserRole ( session ) {
89+ if ( ! session ) return null ;
90+ if ( vars . access && Object . keys ( vars . access ) . length && vars . access . var ) {
91+ const access = session [ vars . access . var ] ;
92+ if ( access === undefined || access === null ) return null ;
93+ for ( const [ key , values ] of Object . entries ( vars . access ) ) {
94+ if ( key === 'var' ) continue ;
95+ if ( values . includes ( access ) ) return key ;
96+ } ;
97+ } else {
98+ const role = session [ vars . role ] ;
99+ if ( ! role ) return null ;
100+ const aliases = vars . roleAliases || { } ;
101+ for ( const [ key , values ] of Object . entries ( aliases ) ) {
102+ if ( values . includes ( role . toLowerCase ( ) ) ) return key ;
103+ } ;
104+ } ;
105+ return 'user' ;
106+ } ;
107+
97108// function setUser(newUser = {}) {
98109// if (!newUser.id) return user = {};
99110// user = newUser;
@@ -105,6 +116,8 @@ app.get('/', async (req, res) => {
105116 if ( ! req . session ) return res . render ( 'session' , { tenant, title : 'Session - ' } ) ;
106117 if ( ! tenant . slug || ! tenant . name || ! tenant . domain ) return res . render ( 'tenant' , { tenant, title : 'Configuration - ' } ) ;
107118 if ( tenant . auth && tenant . auth . enabled && vars . userId && ! req . session [ vars . userId ] ) return res . render ( 'auth' , { tenant, title : 'Authenticate - ' } ) ;
119+ console . log ( 'User ID:' , req . session [ vars . userId ] ) ;
120+ console . log ( 'Role:' , getUserRole ( req . session ) ) ;
108121 res . send ( `Hello ${ req . session [ vars . name ] || req . session [ vars . userId ] } ` ) ;
109122} ) ;
110123
0 commit comments