Skip to content

Commit f68101f

Browse files
committed
feat: populate user details in update member endpoint
1 parent b0521a8 commit f68101f

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

src/routes/projectMembers/update.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ const updateProjectMemberValdiations = {
2929
).required(),
3030
}),
3131
},
32+
query: {
33+
fields: Joi.string().optional(),
34+
},
3235
};
3336

3437
module.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

Comments
 (0)