|
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