Skip to content

Commit 7910d14

Browse files
committed
Create member endpoint should return member details topcoder-platform#628
1 parent 8f0e752 commit 7910d14

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

docs/Project API.postman_collection.json

+49
Original file line numberDiff line numberDiff line change
@@ -925,6 +925,55 @@
925925
},
926926
"response": []
927927
},
928+
{
929+
"name": "Create project member with no payload and return member details",
930+
"event": [
931+
{
932+
"listen": "test",
933+
"script": {
934+
"exec": [
935+
"pm.test(\"Status code is 201\", function () {",
936+
" pm.response.to.have.status(201);",
937+
" pm.environment.set(\"memberId\", pm.response.json().id);",
938+
"});"
939+
],
940+
"type": "text/javascript"
941+
}
942+
}
943+
],
944+
"request": {
945+
"method": "POST",
946+
"header": [
947+
{
948+
"key": "Authorization",
949+
"value": "Bearer {{jwt-token}}"
950+
},
951+
{
952+
"key": "Content-Type",
953+
"value": "application/json"
954+
}
955+
],
956+
"url": {
957+
"raw": "{{api-url}}/projects/{{projectId}}/members?fields=id,userId,role,isPrimary,deletedAt,createdAt,updatedAt,deletedBy,createdBy,updatedBy,handle,photoURL,workingHourStart,workingHourEnd,timeZone,email",
958+
"host": [
959+
"{{api-url}}"
960+
],
961+
"path": [
962+
"projects",
963+
"{{projectId}}",
964+
"members"
965+
],
966+
"query": [
967+
{
968+
"key": "fields",
969+
"value": "id,userId,role,isPrimary,deletedAt,createdAt,updatedAt,deletedBy,createdBy,updatedBy,handle,photoURL,workingHourStart,workingHourEnd,timeZone,email"
970+
}
971+
]
972+
},
973+
"description": "If the request payload is valid, than project customer should be added. This should sync with the direct project is project is associated with direct project."
974+
},
975+
"response": []
976+
},
928977
{
929978
"name": "Update project member",
930979
"request": {

src/routes/projectMembers/create.js

+7
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,13 @@ module.exports = [
8080
newMember = await util.addUserToProject(req, member, transaction);
8181
});
8282

83+
try {
84+
const fields = req.query.fields ? req.query.fields.split(',') : null;
85+
[newMember] = await util.getObjectsWithMemberDetails([newMember], fields, req);
86+
} catch (err) {
87+
req.log.error('Cannot get user details for member.');
88+
req.log.debug('Error during getting user details for member.', err);
89+
}
8390
return res.status(201).json(newMember);
8491
} catch (err) {
8592
return next(err);

0 commit comments

Comments
 (0)