@dhyasama/totem-models 9.16.0 → 9.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Financials.js +32 -12
- package/package.json +1 -1
package/lib/Financials.js
CHANGED
|
@@ -63,13 +63,15 @@ module.exports = function(mongoose, config) {
|
|
|
63
63
|
|
|
64
64
|
uuid: { type: String },
|
|
65
65
|
|
|
66
|
-
managedServices: { type: Boolean, default: false }, // to be
|
|
66
|
+
managedServices: { type: Boolean, default: false }, // to be transformed into review
|
|
67
67
|
review: { type: Boolean, default: false },
|
|
68
68
|
|
|
69
69
|
// In Progress -> Delivered or Opened
|
|
70
|
-
// Not Scheduled
|
|
70
|
+
// Not Scheduled -> Completed
|
|
71
71
|
// Scheduled to be removed
|
|
72
72
|
status: { type: String, enum: ['Delivered', 'Opened', 'Overdue', 'In Review', 'Completed', 'Archived', 'In Progress', 'Not Scheduled', 'Scheduled'] },
|
|
73
|
+
|
|
74
|
+
// to be removed
|
|
73
75
|
action: { type: String },
|
|
74
76
|
|
|
75
77
|
year: { type: Number, default: 0 },
|
|
@@ -171,12 +173,13 @@ module.exports = function(mongoose, config) {
|
|
|
171
173
|
|
|
172
174
|
company: {
|
|
173
175
|
|
|
174
|
-
// to be nested under initial
|
|
176
|
+
// to be nested under initial/reminders and removed
|
|
175
177
|
email: {
|
|
176
178
|
subject: { type: String, trim: true },
|
|
177
179
|
body: { type: String, trim: true }
|
|
178
180
|
},
|
|
179
181
|
|
|
182
|
+
// to be nested under initial/reminders/rejections and removed
|
|
180
183
|
sendTo: [{
|
|
181
184
|
email: { type: String, trim: true },
|
|
182
185
|
name: { type: String, trim: true }
|
|
@@ -192,6 +195,10 @@ module.exports = function(mongoose, config) {
|
|
|
192
195
|
subject: { type: String, trim: true },
|
|
193
196
|
body: { type: String, trim: true }
|
|
194
197
|
},
|
|
198
|
+
sendTo: [{
|
|
199
|
+
email: { type: String, trim: true },
|
|
200
|
+
name: { type: String, trim: true }
|
|
201
|
+
}]
|
|
195
202
|
},
|
|
196
203
|
|
|
197
204
|
reminders: [{
|
|
@@ -203,15 +210,23 @@ module.exports = function(mongoose, config) {
|
|
|
203
210
|
email: {
|
|
204
211
|
subject: { type: String, trim: true },
|
|
205
212
|
body: { type: String, trim: true }
|
|
206
|
-
}
|
|
213
|
+
},
|
|
214
|
+
sendTo: [{
|
|
215
|
+
email: { type: String, trim: true },
|
|
216
|
+
name: { type: String, trim: true }
|
|
217
|
+
}]
|
|
207
218
|
}],
|
|
208
219
|
|
|
209
220
|
rejections: [{
|
|
210
|
-
sendOn: { type: Date, required: false },
|
|
221
|
+
sendOn: { type: Date, required: false }, // to be removed
|
|
211
222
|
sentOn: { type: Date, required: false },
|
|
212
|
-
sentToQueue: { type: Boolean, default: false },
|
|
213
223
|
postmarkMessageId: { type: String, trim: true },
|
|
214
|
-
|
|
224
|
+
sentToQueue: { type: Boolean, default: false }, // to be removed?
|
|
225
|
+
status: { type: String, enum: [null, 'Sent', 'Bounced', 'Delivered', 'Opened', 'Clicked']},
|
|
226
|
+
sendTo: [{
|
|
227
|
+
email: { type: String, trim: true },
|
|
228
|
+
name: { type: String, trim: true }
|
|
229
|
+
}]
|
|
215
230
|
}]
|
|
216
231
|
|
|
217
232
|
},
|
|
@@ -786,18 +801,23 @@ module.exports = function(mongoose, config) {
|
|
|
786
801
|
var isReviewed = snapshot.reviewedOn;
|
|
787
802
|
var isRejected = snapshot.rejection;
|
|
788
803
|
var isArchived = snapshot.archivedOn;
|
|
789
|
-
var isOverdue = moment(
|
|
790
|
-
|
|
791
|
-
var
|
|
804
|
+
var isOverdue = moment(new Date()).isAfter(moment(snapshot.dueOn));
|
|
805
|
+
|
|
806
|
+
var isOpened = false;
|
|
807
|
+
var isDelivered = false;
|
|
808
|
+
if(snapshot.notifications && snapshot.notifications.company && snapshot.notifications.company.initial) {
|
|
809
|
+
isOpened = snapshot.notifications.company.initial.status && snapshot.notifications.company.initial.status == 'Opened' || snapshot.notifications.company.initial.status == 'Clicked';
|
|
810
|
+
isDelivered = snapshot.notifications.company.initial.sentOn;
|
|
811
|
+
}
|
|
792
812
|
|
|
793
813
|
if(!snapshot.uuid) snapshot.status = 'Completed'; // no uuid means the snapshot was created from the google sheet and should always be completed
|
|
794
814
|
else if(needsReview && isReviewed) snapshot.status = 'Completed';
|
|
795
815
|
else if(!needsReview && isSubmitted) snapshot.status = 'Completed';
|
|
796
|
-
else if(needsReview && isSubmitted && !isReviewed) snapshot.status = 'In Review';
|
|
797
816
|
else if(isArchived) snapshot.status = 'Archived';
|
|
817
|
+
else if(needsReview && isSubmitted && !isReviewed) snapshot.status = 'In Review';
|
|
798
818
|
else if(isOverdue) snapshot.status = 'Overdue';
|
|
799
819
|
else if(isDelivered && isOpened) snapshot.status = 'Opened';
|
|
800
|
-
else snapshot.status = 'Delivered';
|
|
820
|
+
else if(isDelivered) snapshot.status = 'Delivered';
|
|
801
821
|
|
|
802
822
|
});
|
|
803
823
|
|