Skip to content

Commit 2766b8e

Browse files
author
Vikas Agarwal
committed
trying to send initiator user details in email data
1 parent ba99512 commit 2766b8e

File tree

1 file changed

+47
-37
lines changed

1 file changed

+47
-37
lines changed

src/routes/projectMemberInvites/create.js

Lines changed: 47 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,52 @@ const buildCreateInvitePromises = (req, invite, invites, data) => {
9999
return Promise.resolve(invitePromises);
100100
};
101101

102+
const sendInviteEmail = (req, invite) => {
103+
const emailEventType = BUS_API_EVENT.PROJECT_MEMBER_EMAIL_INVITE_CREATED;
104+
const promises = [
105+
models.Project.find({
106+
where: { id: projectId },
107+
raw: true,
108+
}),
109+
util.getMemberDetailsByUserIds(req.authUser.userId, req.logger, req.id),
110+
];
111+
return Promise.all(promises).then((responses) => {
112+
const _project = responses[0];
113+
const initiator = responses[1] && responses[1].length ? responses[1][0] : null;
114+
createEvent(emailEventType, {
115+
data: {
116+
connectURL: config.get('connectUrl'),
117+
accountsAppURL: config.get('accountsAppUrl'),
118+
subject: config.get('inviteEmailSubject'),
119+
projects: [{
120+
name: _project.name,
121+
projectId,
122+
sections: [
123+
{
124+
EMAIL_INVITES: true,
125+
title: config.get('inviteEmailSectionTitle'),
126+
projectName: _project.name,
127+
projectId,
128+
initiator: initiator ? initiator : {
129+
userId: req.authUser.userId,
130+
firstName: 'Connect',
131+
lastName: 'User',
132+
}
133+
},
134+
],
135+
}],
136+
},
137+
recipients: [invite.email],
138+
version: 'v3',
139+
from: {
140+
name: config.get('EMAIL_INVITE_FROM_NAME'),
141+
email: config.get('EMAIL_INVITE_FROM_EMAIL'),
142+
},
143+
categories: [`${process.env.NODE_ENV}:${emailEventType}`.toLowerCase()],
144+
}, req.log);
145+
});
146+
}
147+
102148
module.exports = [
103149
// handles request validations
104150
validate(addMemberValidations),
@@ -182,7 +228,6 @@ module.exports = [
182228
}
183229

184230
req.log.debug('Creating invites');
185-
const emailEventType = BUS_API_EVENT.PROJECT_MEMBER_EMAIL_INVITE_CREATED;
186231
return models.sequelize.Promise.all(invitePromises)
187232
.then((values) => {
188233
values.forEach((v) => {
@@ -198,42 +243,7 @@ module.exports = [
198243
);
199244
// send email invite (async)
200245
if (v.email && !v.userId) {
201-
models.Project
202-
.find({
203-
where: { id: projectId },
204-
raw: true,
205-
})
206-
.then((_project) => {
207-
createEvent(emailEventType,
208-
{
209-
data: {
210-
connectURL: config.get('connectUrl'),
211-
accountsAppURL: config.get('accountsAppUrl'),
212-
subject: config.get('inviteEmailSubject'),
213-
projects: [
214-
{
215-
name: _project.name,
216-
projectId,
217-
sections: [
218-
{
219-
EMAIL_INVITES: true,
220-
title: config.get('inviteEmailSectionTitle'),
221-
projectName: _project.name,
222-
projectId,
223-
},
224-
],
225-
},
226-
],
227-
},
228-
recipients: [v.email],
229-
version: 'v3',
230-
from: {
231-
name: config.get('EMAIL_INVITE_FROM_NAME'),
232-
email: config.get('EMAIL_INVITE_FROM_EMAIL'),
233-
},
234-
categories: [`${process.env.NODE_ENV}:${emailEventType}`.toLowerCase()],
235-
}, req.log);
236-
});
246+
sendInviteEmail(req, v);
237247
}
238248
});
239249
return values;

0 commit comments

Comments
 (0)