diff --git a/pages/api/email.ts b/pages/api/email.ts
index b6e39d6..cd8d290 100644
--- a/pages/api/email.ts
+++ b/pages/api/email.ts
@@ -262,27 +262,35 @@ export default async function handler(req, res) {
}
});
- let subscribedPublishers = [], availablePublishers = [];
- if (toSubscribed) {
- //get all subscribed publisers
- subscribedPublishers = await prisma.publisher.findMany({
- where: {
- isSubscribedToCoverMe: true
- }
- });
+ let targetEmails = await data.getCoverMePublisherEmails(assignment.shift.id);
+ if (!toSubscribed) {
+ targetEmails.subscribedPublishers = [];
+ }
+ if (!toAvailable) {
+ targetEmails.availablePublishers = [];
}
+ // let subscribedPublishers = targetEmails.subscribedPublishers, availablePublishers = [];
+ // if (toSubscribed) {
+ // //get all subscribed publisers
+ // subscribedPublishers = await prisma.publisher.findMany({
+ // where: {
+ // isSubscribedToCoverMe: true
+ // }
+ // });
+ // }
- if (toAvailable) {
- availablePublishers = await data.filterPublishersNew("id,firstName,lastName,email", new Date(assignment.shift.startTime),
- true, false);
- }
+ // if (toAvailable) {
+ // availablePublishers = await data.filterPublishersNew("id,firstName,lastName,email", new Date(assignment.shift.startTime),
+ // true, false);
+
+ // }
// use
//concat and remove duplicate emails
- let pubsToSend = subscribedPublishers.concat(availablePublishers).
+ let pubsToSend = targetEmails.subscribedPublishers.concat(targetEmails.availablePublishers).
filter((item, index, self) =>
index === self.findIndex((t) => (
t.email === item.email && item.email !== publisher.email//and exclude the user himself
diff --git a/src/helpers/data.js b/src/helpers/data.js
index 348e67a..f6dd167 100644
--- a/src/helpers/data.js
+++ b/src/helpers/data.js
@@ -488,6 +488,8 @@ async function getCoverMePublisherEmails(shiftId) {
return pubs.map(pub => {
return {
id: pub.id,
+ firstName: pub.firstName,
+ lastName: pub.lastName,
name: pub.firstName + " " + pub.lastName,
email: pub.email
}
@@ -531,6 +533,8 @@ async function getCoverMePublisherEmails(shiftId) {
availablePublishers = availablePublishers.map(pub => {
return {
id: pub.id,
+ firstName: pub.firstName,
+ lastName: pub.lastName,
name: pub.firstName + " " + pub.lastName,
email: pub.email
}
diff --git a/src/helpers/email.js b/src/helpers/email.js
index 3fc3d21..93c912c 100644
--- a/src/helpers/email.js
+++ b/src/helpers/email.js
@@ -70,7 +70,15 @@ function normalizeEmailAddresses(to) {
return emails; // Always returns an array
}
-
+///
+/// Final email sending function.
+///
+/// Email address or array of email addresses
+/// Email subject
+/// Plain text version of the email
+/// HTML version of the email
+/// Array of attachment objects
+/// Promise
exports.SendEmail = async function (to, subject, text, html, attachments = []) {
let sender = process.env.EMAIL_SENDER || '"Специално Свидетелстване София" ';