@@ -374,20 +374,27 @@ async function _addMemberToProjectAsCustomer (projectId, userId) {
374
374
*/
375
375
async function addMembers ( currentUser , id , data ) {
376
376
await helper . getProjectById ( currentUser , id ) // check whether the user can access the project
377
+
377
378
const result = {
378
379
success : [ ] ,
379
380
failed : [ ]
380
381
}
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 )
382
387
. then ( members => {
383
388
return _ . groupBy ( members , 'handle' )
384
389
} )
385
- const membersByEmail = await helper . getMemberDetailsByEmails ( data . emails )
390
+
391
+ const membersByEmail = await helper . getMemberDetailsByEmails ( emails )
386
392
. then ( members => {
387
393
return _ . groupBy ( members , 'email' )
388
394
} )
395
+
389
396
await Promise . all ( [
390
- Promise . all ( data . handles . map ( handle => {
397
+ Promise . all ( handles . map ( handle => {
391
398
if ( ! membersByHandle [ handle ] ) {
392
399
result . failed . push ( { error : 'User doesn\'t exist' , handle } )
393
400
return
@@ -399,7 +406,7 @@ async function addMembers (currentUser, id, data) {
399
406
result . failed . push ( { error : err . message , handle } )
400
407
} )
401
408
} ) ) ,
402
- Promise . all ( data . emails . map ( email => {
409
+ Promise . all ( emails . map ( email => {
403
410
if ( ! membersByEmail [ email ] ) {
404
411
result . failed . push ( { error : 'User doesn\'t exist' , email } )
405
412
return
@@ -412,6 +419,7 @@ async function addMembers (currentUser, id, data) {
412
419
} )
413
420
} ) )
414
421
] )
422
+
415
423
return result
416
424
}
417
425
0 commit comments