@@ -29,6 +29,9 @@ const updateProjectMemberValdiations = {
2929 ) . required ( ) ,
3030 } ) ,
3131 } ,
32+ query : {
33+ fields : Joi . string ( ) . optional ( ) ,
34+ } ,
3235} ;
3336
3437module . exports = [
@@ -44,6 +47,7 @@ module.exports = [
4447 const projectId = _ . parseInt ( req . params . projectId ) ;
4548 const memberRecordId = _ . parseInt ( req . params . id ) ;
4649 updatedProps = _ . pick ( updatedProps , [ 'isPrimary' , 'role' ] ) ;
50+ const fields = req . query . fields ? req . query . fields . split ( ',' ) : null ;
4751
4852 let previousValue ;
4953 // let newValue;
@@ -133,6 +137,16 @@ module.exports = [
133137 . then ( ( ) => {
134138 projectMember = projectMember . get ( { plain : true } ) ;
135139 projectMember = _ . omit ( projectMember , [ 'deletedAt' ] ) ;
140+ } )
141+ . then ( ( ) => (
142+ util . getObjectsWithMemberDetails ( [ projectMember ] , fields , req )
143+ . then ( ( [ memberWithDetails ] ) => memberWithDetails )
144+ . catch ( ( err ) => {
145+ req . log . error ( 'Cannot get user details for member.' ) ;
146+ req . log . debug ( 'Error during getting user details for member.' , err ) ;
147+ } )
148+ ) )
149+ . then ( ( memberWithDetails ) => {
136150 // emit original and updated project information
137151 req . app . services . pubsub . publish (
138152 EVENT . ROUTING_KEY . PROJECT_MEMBER_UPDATED ,
@@ -142,7 +156,7 @@ module.exports = [
142156 req . app . emit ( EVENT . ROUTING_KEY . PROJECT_MEMBER_UPDATED ,
143157 { req, original : previousValue , updated : projectMember } ) ;
144158 req . log . debug ( 'updated project member' , projectMember ) ;
145- res . json ( util . wrapResponse ( req . id , projectMember ) ) ;
159+ res . json ( util . wrapResponse ( req . id , memberWithDetails || projectMember ) ) ;
146160 } )
147161 . catch ( err => next ( err ) ) ) ;
148162 } ,
0 commit comments