Skip to content

Commit 4f58107

Browse files
committed
fix: create members endpoint
allow sending either emails or handles ref issue #148
1 parent a1a2a52 commit 4f58107

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

src/services/TeamService.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -374,20 +374,27 @@ async function _addMemberToProjectAsCustomer (projectId, userId) {
374374
*/
375375
async function addMembers (currentUser, id, data) {
376376
await helper.getProjectById(currentUser, id) // check whether the user can access the project
377+
377378
const result = {
378379
success: [],
379380
failed: []
380381
}
381-
const membersByHandle = await helper.getMemberDetailsByHandles(data.handles)
382+
383+
const handles = data.handles || []
384+
const emails = data.emails || []
385+
386+
const membersByHandle = await helper.getMemberDetailsByHandles(handles)
382387
.then(members => {
383388
return _.groupBy(members, 'handle')
384389
})
385-
const membersByEmail = await helper.getMemberDetailsByEmails(data.emails)
390+
391+
const membersByEmail = await helper.getMemberDetailsByEmails(emails)
386392
.then(members => {
387393
return _.groupBy(members, 'email')
388394
})
395+
389396
await Promise.all([
390-
Promise.all(data.handles.map(handle => {
397+
Promise.all(handles.map(handle => {
391398
if (!membersByHandle[handle]) {
392399
result.failed.push({ error: 'User doesn\'t exist', handle })
393400
return
@@ -399,7 +406,7 @@ async function addMembers (currentUser, id, data) {
399406
result.failed.push({ error: err.message, handle })
400407
})
401408
})),
402-
Promise.all(data.emails.map(email => {
409+
Promise.all(emails.map(email => {
403410
if (!membersByEmail[email]) {
404411
result.failed.push({ error: 'User doesn\'t exist', email })
405412
return
@@ -412,6 +419,7 @@ async function addMembers (currentUser, id, data) {
412419
})
413420
}))
414421
])
422+
415423
return result
416424
}
417425

0 commit comments

Comments
 (0)