|
1 | 1 | import _ from 'lodash';
|
2 | 2 | import config from 'config';
|
3 |
| -import { EVENT, BUS_API_EVENT, PROJECT_STATUS, PROJECT_PHASE_STATUS, PROJECT_MEMBER_ROLE, MILESTONE_STATUS } |
| 3 | +import { EVENT, BUS_API_EVENT, PROJECT_STATUS, PROJECT_PHASE_STATUS, PROJECT_MEMBER_ROLE, MILESTONE_STATUS, |
| 4 | + INVITE_STATUS } |
4 | 5 | from '../constants';
|
5 | 6 | import { createEvent } from '../services/busApi';
|
6 | 7 | import models from '../models';
|
@@ -696,30 +697,66 @@ module.exports = (app, logger) => {
|
696 | 697 | }
|
697 | 698 | });
|
698 | 699 |
|
699 |
| - app.on(EVENT.ROUTING_KEY.PROJECT_MEMBER_INVITE_CREATED, ({ req, userId, email }) => { |
| 700 | + app.on(EVENT.ROUTING_KEY.PROJECT_MEMBER_INVITE_CREATED, ({ req, userId, email, status, role }) => { |
700 | 701 | logger.debug('receive PROJECT_MEMBER_INVITE_CREATED event');
|
701 | 702 | const projectId = _.parseInt(req.params.projectId);
|
702 | 703 |
|
703 |
| - // send event to bus api |
704 |
| - createEvent(BUS_API_EVENT.PROJECT_MEMBER_INVITE_CREATED, { |
705 |
| - projectId, |
706 |
| - userId, |
707 |
| - email, |
708 |
| - initiatorUserId: req.authUser.userId, |
709 |
| - }, logger); |
| 704 | + if (status === INVITE_STATUS.REQUESTED) { |
| 705 | + createEvent(BUS_API_EVENT.PROJECT_MEMBER_INVITE_REQUESTED, { |
| 706 | + projectId, |
| 707 | + userId, |
| 708 | + email, |
| 709 | + role, |
| 710 | + initiatorUserId: req.authUser.userId, |
| 711 | + }, logger); |
| 712 | + } else { |
| 713 | + // send event to bus api |
| 714 | + createEvent(BUS_API_EVENT.PROJECT_MEMBER_INVITE_CREATED, { |
| 715 | + projectId, |
| 716 | + userId, |
| 717 | + email, |
| 718 | + role, |
| 719 | + initiatorUserId: req.authUser.userId, |
| 720 | + }, logger); |
| 721 | + } |
710 | 722 | });
|
711 | 723 |
|
712 |
| - app.on(EVENT.ROUTING_KEY.PROJECT_MEMBER_INVITE_UPDATED, ({ req, userId, email, status }) => { |
| 724 | + app.on(EVENT.ROUTING_KEY.PROJECT_MEMBER_INVITE_UPDATED, ({ req, userId, email, status, role, createdBy }) => { |
713 | 725 | logger.debug('receive PROJECT_MEMBER_INVITE_UPDATED event');
|
714 | 726 | const projectId = _.parseInt(req.params.projectId);
|
715 | 727 |
|
716 |
| - // send event to bus api |
717 |
| - createEvent(BUS_API_EVENT.PROJECT_MEMBER_INVITE_UPDATED, { |
718 |
| - projectId, |
719 |
| - userId, |
720 |
| - email, |
721 |
| - status, |
722 |
| - initiatorUserId: req.authUser.userId, |
723 |
| - }, logger); |
| 728 | + if (status === INVITE_STATUS.REQUEST_APPROVED) { |
| 729 | + // send event to bus api |
| 730 | + createEvent(BUS_API_EVENT.PROJECT_MEMBER_INVITE_APPROVED, { |
| 731 | + projectId, |
| 732 | + userId, |
| 733 | + originator: createdBy, |
| 734 | + email, |
| 735 | + role, |
| 736 | + status, |
| 737 | + initiatorUserId: req.authUser.userId, |
| 738 | + }, logger); |
| 739 | + } else if (status === INVITE_STATUS.REQUEST_REJECTED) { |
| 740 | + // send event to bus api |
| 741 | + createEvent(BUS_API_EVENT.PROJECT_MEMBER_INVITE_REJECTED, { |
| 742 | + projectId, |
| 743 | + userId, |
| 744 | + originator: createdBy, |
| 745 | + email, |
| 746 | + role, |
| 747 | + status, |
| 748 | + initiatorUserId: req.authUser.userId, |
| 749 | + }, logger); |
| 750 | + } else { |
| 751 | + // send event to bus api |
| 752 | + createEvent(BUS_API_EVENT.PROJECT_MEMBER_INVITE_UPDATED, { |
| 753 | + projectId, |
| 754 | + userId, |
| 755 | + email, |
| 756 | + role, |
| 757 | + status, |
| 758 | + initiatorUserId: req.authUser.userId, |
| 759 | + }, logger); |
| 760 | + } |
724 | 761 | });
|
725 | 762 | };
|
0 commit comments