@@ -121,6 +121,28 @@ app.get('/', async (req, res) => {
121121 if ( ! req . session ) return res . render ( 'session' , { tenant, title : 'Session' } ) ;
122122 if ( ! tenant . slug || ! tenant . name || ! tenant . domain ) return res . render ( 'tenant' , { tenant, title : 'Configuration' } ) ;
123123 if ( tenant . auth && tenant . auth . enabled && vars . userId && ! req . session [ vars . userId ] ) return res . render ( 'auth' , { tenant, title : 'Authenticate' } ) ;
124+ req . session [ vars . commissions ] = ( req . session [ vars . commissions ] || [ ] ) . map ( commission => {
125+ if ( ! commission . id || ! commission . user || ( commission . date ? isNaN ( new Date ( commission . date ) . getTime ( ) ) : false ) || ! [ 'completed' , 'in-progress' , 'on-hold' , 'cancelled' ] . some ( status => commission . status . includes ( status ) ) || ( typeof commission . tasks !== 'object' ) ) return null ;
126+ return {
127+ id : commission . id ,
128+ user : commission . user ,
129+ amount : commission . amount ? Number ( commission . amount ) : null ,
130+ currency : commission . currency ? String ( commission . currency ) : 'USD' ,
131+ date : commission . date ? new Date ( commission . date ) : null ,
132+ status : commission . status ,
133+ fields : fields . reduce ( ( acc , field ) => {
134+ acc [ field . id ] = ( commission . fields && ( commission . fields [ field . id ] !== undefined ) ) ? commission . fields [ field . id ] : null ;
135+ return acc ;
136+ } , { } ) ,
137+ tasks : ( commission . tasks || [ ] ) . map ( task => {
138+ return {
139+ done : task . done || false ,
140+ content : task . content ? String ( task . content ) : ''
141+ }
142+ } ) ,
143+ locked : commission . locked || false
144+ } ;
145+ } ) . filter ( commission => commission !== null ) ;
124146 switch ( getUserRole ( req . session ) ) {
125147 case 'admin' :
126148 res . render ( 'admin' , { tenant, title : 'Admin View' , session : req . session , vars } ) ;
@@ -129,6 +151,7 @@ app.get('/', async (req, res) => {
129151 res . render ( 'dev' , { tenant, title : 'Developer View' , session : req . session , vars } ) ;
130152 break ;
131153 default :
154+ req . session [ vars . commissions ] = req . session [ vars . commissions ] . filter ( commission => commission . user === req . session [ vars . userId ] ) ;
132155 res . render ( 'user' , { tenant, title : '' , session : req . session , vars, fields } ) ;
133156 break ;
134157 } ;
0 commit comments