feature/IO-3096-GlobalNotifications - Checkpoint, Builders
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
const { getJobAssignmentType } = require("./stringHelpers");
|
||||
|
||||
// Helper function to populate watchers for app, fcm, and email channels
|
||||
const populateWatchers = (data, result) => {
|
||||
data.scenarioWatchers.forEach((recipients) => {
|
||||
const { user, app, fcm, email } = recipients;
|
||||
@@ -12,9 +11,9 @@ const populateWatchers = (data, result) => {
|
||||
|
||||
const alternateTransportChangedBuilder = (data) => {
|
||||
const result = {
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName,
|
||||
app: {
|
||||
jobId: data.jobId,
|
||||
bodyShopId: data.bodyShopId,
|
||||
key: "notifications.job.alternateTransportChanged",
|
||||
variables: {
|
||||
alternateTransport: data.data.alt_transport,
|
||||
@@ -36,9 +35,9 @@ const alternateTransportChangedBuilder = (data) => {
|
||||
|
||||
const billPostedHandler = (data) => {
|
||||
const result = {
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName,
|
||||
app: {
|
||||
jobId: data.jobId,
|
||||
bodyShopId: data.bodyShopId,
|
||||
key: "notifications.job.billPosted",
|
||||
variables: {
|
||||
clmTotal: data.data.clm_total
|
||||
@@ -59,9 +58,9 @@ const billPostedHandler = (data) => {
|
||||
|
||||
const criticalPartsStatusChangedBuilder = (data) => {
|
||||
const result = {
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName,
|
||||
app: {
|
||||
jobId: data.jobId,
|
||||
bodyShopId: data.bodyShopId,
|
||||
key: "notifications.job.criticalPartsStatusChanged",
|
||||
variables: {
|
||||
queuedForParts: data.data.queued_for_parts,
|
||||
@@ -84,9 +83,9 @@ const criticalPartsStatusChangedBuilder = (data) => {
|
||||
const intakeDeliveryChecklistCompletedBuilder = (data) => {
|
||||
const checklistType = data.changedFields.intakechecklist ? "intake" : "delivery";
|
||||
const result = {
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName,
|
||||
app: {
|
||||
jobId: data.jobId,
|
||||
bodyShopId: data.bodyShopId,
|
||||
key: "notifications.job.checklistCompleted",
|
||||
variables: {
|
||||
checklistType,
|
||||
@@ -108,14 +107,12 @@ const intakeDeliveryChecklistCompletedBuilder = (data) => {
|
||||
|
||||
const jobAssignedToMeBuilder = (data) => {
|
||||
const result = {
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName,
|
||||
app: {
|
||||
jobId: data.jobId,
|
||||
bodyShopId: data.bodyShopId,
|
||||
key: "notifications.job.assigned",
|
||||
variables: {
|
||||
type: data.scenarioFields?.[0],
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName
|
||||
type: data.scenarioFields?.[0]
|
||||
},
|
||||
recipients: []
|
||||
},
|
||||
@@ -133,14 +130,11 @@ const jobAssignedToMeBuilder = (data) => {
|
||||
|
||||
const jobsAddedToProductionBuilder = (data) => {
|
||||
const result = {
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName,
|
||||
app: {
|
||||
jobId: data.jobId,
|
||||
bodyShopId: data.bodyShopId,
|
||||
key: "notifications.job.addedToProduction",
|
||||
variables: {
|
||||
inProduction: data.data.inproduction,
|
||||
oldInProduction: data.changedFields.inproduction?.old
|
||||
},
|
||||
variables: {},
|
||||
recipients: []
|
||||
},
|
||||
email: {
|
||||
@@ -158,9 +152,9 @@ const jobsAddedToProductionBuilder = (data) => {
|
||||
// Verified
|
||||
const jobStatusChangeBuilder = (data) => {
|
||||
const result = {
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName,
|
||||
app: {
|
||||
jobId: data.jobId,
|
||||
bodyShopId: data.bodyShopId,
|
||||
key: "notifications.job.statusChanged",
|
||||
variables: {
|
||||
status: data.data.status,
|
||||
@@ -182,9 +176,9 @@ const jobStatusChangeBuilder = (data) => {
|
||||
|
||||
const newMediaAddedReassignedBuilder = (data) => {
|
||||
const result = {
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName,
|
||||
app: {
|
||||
jobId: data.jobId,
|
||||
bodyShopId: data.bodyShopId,
|
||||
key: "notifications.job.newMediaAdded",
|
||||
variables: {},
|
||||
recipients: []
|
||||
@@ -204,9 +198,9 @@ const newMediaAddedReassignedBuilder = (data) => {
|
||||
// Verified
|
||||
const newNoteAddedBuilder = (data) => {
|
||||
const result = {
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName,
|
||||
app: {
|
||||
jobId: data.jobId,
|
||||
bodyShopId: data.bodyShopId,
|
||||
key: "notifications.job.newNoteAdded",
|
||||
variables: {
|
||||
text: data.data.text
|
||||
@@ -227,9 +221,9 @@ const newNoteAddedBuilder = (data) => {
|
||||
|
||||
const newTimeTicketPostedBuilder = (data) => {
|
||||
const result = {
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName,
|
||||
app: {
|
||||
jobId: data.jobId,
|
||||
bodyShopId: data.bodyShopId,
|
||||
key: "notifications.job.newTimeTicketPosted",
|
||||
variables: {},
|
||||
recipients: []
|
||||
@@ -248,9 +242,9 @@ const newTimeTicketPostedBuilder = (data) => {
|
||||
|
||||
const partMarkedBackOrderedBuilder = (data) => {
|
||||
const result = {
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName,
|
||||
app: {
|
||||
jobId: data.jobId,
|
||||
bodyShopId: data.bodyShopId,
|
||||
key: "notifications.job.partBackOrdered",
|
||||
variables: {
|
||||
queuedForParts: data.data.queued_for_parts,
|
||||
@@ -272,9 +266,9 @@ const partMarkedBackOrderedBuilder = (data) => {
|
||||
|
||||
const paymentCollectedCompletedBuilder = (data) => {
|
||||
const result = {
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName,
|
||||
app: {
|
||||
jobId: data.jobId,
|
||||
bodyShopId: data.bodyShopId,
|
||||
key: "notifications.job.paymentCollected",
|
||||
variables: {
|
||||
clmTotal: data.data.clm_total
|
||||
@@ -295,9 +289,9 @@ const paymentCollectedCompletedBuilder = (data) => {
|
||||
|
||||
const scheduledDatesChangedBuilder = (data) => {
|
||||
const result = {
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName,
|
||||
app: {
|
||||
jobId: data.jobId,
|
||||
bodyShopId: data.bodyShopId,
|
||||
key: "notifications.job.scheduledDatesChanged",
|
||||
variables: {
|
||||
scheduledIn: data.data.scheduled_in,
|
||||
@@ -323,9 +317,9 @@ const scheduledDatesChangedBuilder = (data) => {
|
||||
|
||||
const supplementImportedBuilder = (data) => {
|
||||
const result = {
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName,
|
||||
app: {
|
||||
jobId: data.jobId,
|
||||
bodyShopId: data.bodyShopId,
|
||||
key: "notifications.job.supplementImported",
|
||||
variables: {
|
||||
suppAmt: data.data.cieca_ttl?.data?.supp_amt
|
||||
@@ -346,11 +340,14 @@ const supplementImportedBuilder = (data) => {
|
||||
|
||||
const tasksUpdatedCreatedBuilder = (data) => {
|
||||
const result = {
|
||||
jobId: data.jobId,
|
||||
bodyShopName: data.bodyShopName,
|
||||
app: {
|
||||
jobId: data.jobId,
|
||||
bodyShopId: data.bodyShopId,
|
||||
key: "notifications.job.tasksUpdated",
|
||||
variables: {},
|
||||
variables: {
|
||||
type: data.isNew ? "created" : "updated",
|
||||
roNumber: data.jobRoNumber
|
||||
},
|
||||
recipients: []
|
||||
},
|
||||
email: {
|
||||
|
||||
Reference in New Issue
Block a user