feature/IO-3096-GlobalNotifications - Checkpoint, App Queue

This commit is contained in:
Dave Richer
2025-02-18 13:38:57 -05:00
parent adb15a4748
commit c1ea8e8a3d
4 changed files with 171 additions and 16 deletions

View File

@@ -11,6 +11,7 @@ const { isEmpty, isFunction } = require("lodash");
const { getMatchingScenarios } = require("./scenarioMapperr");
const consoleDir = require("../utils/consoleDir");
const { dispatchEmailsToQueue } = require("./queues/emailQueue");
const { dispatchAppsToQueue } = require("./queues/appQueue");
/**
* Parses an event and determines matching scenarios for notifications.
@@ -171,18 +172,30 @@ const scenarioParser = async (req, jobIdField) => {
}
// Step 9: Dispatch Email Notifications to the Email Notification Queue
dispatchEmailsToQueue({
emailsToDispatch: scenariosToDispatch.map((scenario) => scenario?.email),
logger
}).catch((e) =>
logger.log("Something went wrong dispatching emails to the Email Notification Queue", "error", "queue", null, {
message: e?.message
})
);
const emailsToDispatch = scenariosToDispatch.map((scenario) => scenario?.email);
if (!isEmpty(emailsToDispatch)) {
dispatchEmailsToQueue({
emailsToDispatch,
logger
}).catch((e) =>
logger.log("Something went wrong dispatching emails to the Email Notification Queue", "error", "queue", null, {
message: e?.message
})
);
}
// Step 10: Dispatch App Notifications to the App Notification Queue
const appsToDispatch = scenariosToDispatch.map((scenario) => scenario?.app);
consoleDir({ appsToDispatch });
if (!isEmpty(appsToDispatch)) {
dispatchAppsToQueue({
appsToDispatch,
logger
}).catch((e) =>
logger.log("Something went wrong dispatching apps to the App Notification Queue", "error", "queue", null, {
message: e?.message
})
);
}
};
module.exports = scenarioParser;