Error logging, go back 2 years and 0 contact

handling
This commit is contained in:
Peter Morton 2023-06-25 17:56:53 -05:00
parent 51f68d5021
commit 4650a4d5a3

View File

@ -116,7 +116,7 @@ router.get("/", (req, res) => {
} }
}`; }`;
var startTime = new Date( var startTime = new Date(
new Date().setFullYear(new Date().getFullYear() - 1) new Date().setFullYear(new Date().getFullYear() - 2)
); );
var endTime = new Date(new Date().setHours(new Date().getHours() - 1)); var endTime = new Date(new Date().setHours(new Date().getHours() - 1));
@ -136,6 +136,17 @@ router.get("/", (req, res) => {
) )
.then((result) => { .then((result) => {
var contacts = result.data.data.findContactsCompletedBetween.edges; var contacts = result.data.data.findContactsCompletedBetween.edges;
// Log error to console
if (result.data.errors && result.data.errors.length > 0) {
result.data.errors.forEach(function (error, i) {
console.log("ERROR: Errors in results - " + error.message);
});
// TODO: Should keep errors for filteredContacts
result.data.errors = [];
}
var filteredContacts = []; var filteredContacts = [];
contacts.forEach(function (contact, i) { contacts.forEach(function (contact, i) {
if (contact.node.interaction.__typename === "Email") { if (contact.node.interaction.__typename === "Email") {
@ -162,40 +173,41 @@ router.get("/", (req, res) => {
summary.totalInboundCount = 0; summary.totalInboundCount = 0;
summary.totalInboundActiveSeconds = 0; summary.totalInboundActiveSeconds = 0;
summary.firstContactReceivedDate = new Date( if (summary.totalCount > 0) {
filteredContacts[0].node.interaction.receivedDate summary.firstContactReceivedDate = new Date(
); filteredContacts[0].node.interaction.receivedDate
);
filteredContacts.forEach(function (contact, i) { filteredContacts.forEach(function (contact, i) {
if (contact.node.direction === "INBOUND") { if (contact.node.direction === "INBOUND") {
summary.totalInboundCount++; summary.totalInboundCount++;
if (!summary.firstInboundContactStartDate) { if (!summary.firstInboundContactStartDate) {
summary.firstInboundContactStartDate = new Date( summary.firstInboundContactStartDate = new Date(
contact.node.startTime contact.node.startTime
); );
summary.firstContactReceivedDate = new Date( summary.firstContactReceivedDate = new Date(
contact.node.interaction.receivedDate contact.node.interaction.receivedDate
); );
}
summary.totalInboundActiveSeconds += contact.node.activeDuration;
} }
summary.totalInboundActiveSeconds += contact.node.activeDuration; });
}
});
// TODO: Because of overlapping contacts, we may need to calculate max instead of last. // TODO: Because of overlapping contacts, we may need to calculate max instead of last.
summary.lastContactEndTime = new Date( summary.lastContactEndTime = new Date(
filteredContacts[filteredContacts.length - 1].node.endTime filteredContacts[filteredContacts.length - 1].node.endTime
); );
summary.totalHTHours =
(summary.lastContactEndTime.getTime() -
summary.firstContactReceivedDate.getTime()) /
(1000 * 3600);
summary.activeHTMinutes =
(summary.lastContactEndTime.getTime() -
summary.firstInboundContactStartDate.getTime()) /
(1000 * 60);
summary.totalHTHours =
(summary.lastContactEndTime.getTime() -
summary.firstContactReceivedDate.getTime()) /
(1000 * 3600);
summary.activeHTMinutes =
(summary.lastContactEndTime.getTime() -
summary.firstInboundContactStartDate.getTime()) /
(1000 * 60);
}
result.data.data.summary = summary; result.data.data.summary = summary;
if (result.data) { if (result.data) {