diff --git a/src/events/busApi.js b/src/events/busApi.js index 978e7a92..926285e8 100644 --- a/src/events/busApi.js +++ b/src/events/busApi.js @@ -122,16 +122,17 @@ module.exports = (app, logger) => { logger.debug('receive PROJECT_MEMBER_ADDED event'); let eventType; - switch (member.role) { - case PROJECT_MEMBER_ROLE.MANAGER: - eventType = BUS_API_EVENT.MEMBER_JOINED_MANAGER; - break; - case PROJECT_MEMBER_ROLE.COPILOT: - eventType = BUS_API_EVENT.MEMBER_JOINED_COPILOT; - break; - default: - eventType = BUS_API_EVENT.MEMBER_JOINED; - break; + if ([ + PROJECT_MEMBER_ROLE.MANAGER, + PROJECT_MEMBER_ROLE.PROJECT_MANAGER, + PROJECT_MEMBER_ROLE.PROGRAM_MANAGER, + PROJECT_MEMBER_ROLE.SOLUTION_ARCHITECT, + ].includes(member.role)) { + eventType = BUS_API_EVENT.MEMBER_JOINED_MANAGER; + } else if (member.role === PROJECT_MEMBER_ROLE.COPILOT) { + eventType = BUS_API_EVENT.MEMBER_JOINED_COPILOT; + } else { + eventType = BUS_API_EVENT.MEMBER_JOINED; } const projectId = _.parseInt(req.params.projectId); diff --git a/src/routes/projectMembers/create.js b/src/routes/projectMembers/create.js index 93510e86..1309593f 100644 --- a/src/routes/projectMembers/create.js +++ b/src/routes/projectMembers/create.js @@ -81,10 +81,14 @@ module.exports = [ USER_ROLE.TOPCODER_ACCOUNT_MANAGER, USER_ROLE.BUSINESS_DEVELOPMENT_REPRESENTATIVE, USER_ROLE.PRESALES, + USER_ROLE.ACCOUNT_EXECUTIVE, + USER_ROLE.PROGRAM_MANAGER, + USER_ROLE.SOLUTION_ARCHITECT, + USER_ROLE.PROJECT_MANAGER, ])) { const err = new Error( - `Only manager, account manager, business development representative, - or presales are able to join as ${targetRole}`, + // eslint-disable-next-line max-len + `Only manager, account manager, business development representative, account executive, program manager, project manager, solution architect, or presales are able to join as ${targetRole}`, ); err.status = 401; return next(err); diff --git a/src/routes/projects/update.js b/src/routes/projects/update.js index 2567cbfb..7839e359 100644 --- a/src/routes/projects/update.js +++ b/src/routes/projects/update.js @@ -221,7 +221,9 @@ module.exports = [ const members = req.context.currentProjectMembers; const validRoles = [ PROJECT_MEMBER_ROLE.MANAGER, - PROJECT_MEMBER_ROLE.MANAGER, + PROJECT_MEMBER_ROLE.PROGRAM_MANAGER, + PROJECT_MEMBER_ROLE.PROJECT_MANAGER, + PROJECT_MEMBER_ROLE.SOLUTION_ARCHITECT, ].map(x => x.toLowerCase()); const matchRole = role => _.indexOf(validRoles, role.toLowerCase()) >= 0; if (updatedProps.status === PROJECT_STATUS.ACTIVE &&