From 6407b6029b65b5361b23f6f766ef90b1ea184f3d Mon Sep 17 00:00:00 2001 From: engelhartrueben Date: Mon, 30 Sep 2024 08:25:17 -0400 Subject: [PATCH 1/5] log error message --- src/extensions/service-managers/scrub-bad-mobilenums/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/extensions/service-managers/scrub-bad-mobilenums/index.js b/src/extensions/service-managers/scrub-bad-mobilenums/index.js index 1933b9e19..3d14e11c2 100644 --- a/src/extensions/service-managers/scrub-bad-mobilenums/index.js +++ b/src/extensions/service-managers/scrub-bad-mobilenums/index.js @@ -306,6 +306,7 @@ export async function nextBatchJobLookups({ lastCount, steps ); + console.log("scrub-bad-mobilenums error: ", err); await r .knex("job_request") .where("id", job.id) From 7190805fbd00f99626b670962e9ec33158fb6b93 Mon Sep 17 00:00:00 2001 From: engelhartrueben Date: Mon, 30 Sep 2024 08:47:30 -0400 Subject: [PATCH 2/5] upgrade twilio lookup to v2 --- .../service-vendors/twilio/index.js | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/extensions/service-vendors/twilio/index.js b/src/extensions/service-vendors/twilio/index.js index 1f6a90d12..997ca086b 100644 --- a/src/extensions/service-vendors/twilio/index.js +++ b/src/extensions/service-vendors/twilio/index.js @@ -633,10 +633,10 @@ export async function getContactInfo({ return {}; } const twilio = await exports.getTwilio(organization); - const types = ["carrier"]; + const types = { fields: "line_type_intelligence" }; if (lookupName) { // caller-name is more expensive - types.push("caller-name"); + types.fields = ("line_type_intelligence,caller-name"); } const contactInfo = { contact_number: contactNumber, @@ -644,24 +644,26 @@ export async function getContactInfo({ service: "twilio" }; try { - const phoneNumber = await twilio.lookups.v1 + const phoneNumber = await twilio.lookups.v2 .phoneNumbers(contactNumber) - .fetch({ type: types }); + .fetch(types); - if (phoneNumber.carrier) { - contactInfo.carrier = phoneNumber.carrier.name; + if (phoneNumber.lineTypeIntelligence.carrier_name) { + contactInfo.carrier = phoneNumber.lineTypeIntelligence.carrier_name; } - if (phoneNumber.carrier.error_code) { + if (phoneNumber.lineTypeIntelligence.error_code) { // e.g. 60600: Unprovisioned or Out of Coverage contactInfo.status_code = -2; - contactInfo.last_error_code = phoneNumber.carrier.error_code; + contactInfo.last_error_code = phoneNumber.lineTypeIntelligence.error_code; } else if ( - phoneNumber.carrier.type && - phoneNumber.carrier.type === "landline" + // mobile or landline + phoneNumber.lineTypeIntelligence.type && + phoneNumber.lineTypeIntelligence.type === "landline" ) { // landline (not mobile or voip) contactInfo.status_code = -1; } else if ( + // example: US phoneNumber.countryCode && getConfig("PHONE_NUMBER_COUNTRY", organization) && getConfig("PHONE_NUMBER_COUNTRY", organization) !== @@ -669,8 +671,8 @@ export async function getContactInfo({ ) { contactInfo.status_code = -3; // wrong country } else if ( - phoneNumber.carrier.type && - phoneNumber.carrier.type !== "landline" + phoneNumber.lineTypeIntelligence.type && + phoneNumber.lineTypeIntelligence.type !== "landline" ) { // mobile, voip contactInfo.status_code = 1; From c0415a6bc33c73e68e140267c3492b4a216de6d9 Mon Sep 17 00:00:00 2001 From: Rueben Engelhart Date: Tue, 1 Oct 2024 13:45:51 -0400 Subject: [PATCH 3/5] remove parantheses --- src/extensions/service-vendors/twilio/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/extensions/service-vendors/twilio/index.js b/src/extensions/service-vendors/twilio/index.js index 997ca086b..79c34933a 100644 --- a/src/extensions/service-vendors/twilio/index.js +++ b/src/extensions/service-vendors/twilio/index.js @@ -636,7 +636,7 @@ export async function getContactInfo({ const types = { fields: "line_type_intelligence" }; if (lookupName) { // caller-name is more expensive - types.fields = ("line_type_intelligence,caller-name"); + types.fields = "line_type_intelligence,caller-name"; } const contactInfo = { contact_number: contactNumber, From 710fe1d56a209bb54d321b3aefbee140a02500cb Mon Sep 17 00:00:00 2001 From: Rueben Engelhart Date: Tue, 1 Oct 2024 13:46:02 -0400 Subject: [PATCH 4/5] use log instead of console for error message --- .../service-managers/scrub-bad-mobilenums/index.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/extensions/service-managers/scrub-bad-mobilenums/index.js b/src/extensions/service-managers/scrub-bad-mobilenums/index.js index 3d14e11c2..f0a26f18e 100644 --- a/src/extensions/service-managers/scrub-bad-mobilenums/index.js +++ b/src/extensions/service-managers/scrub-bad-mobilenums/index.js @@ -5,6 +5,7 @@ import { Jobs } from "../../../workers/job-processes"; import { Tasks } from "../../../workers/tasks"; import { jobRunner } from "../../job-runners"; import { getServiceFromOrganization } from "../../service-vendors"; +import { log } from "../../../lib/log.js" // / All functions are OPTIONAL EXCEPT metadata() and const name=. // / DO NOT IMPLEMENT ANYTHING YOU WILL NOT USE -- the existence of a function adds behavior/UI (sometimes costly) @@ -98,7 +99,7 @@ export async function getCampaignData({ "SCRUB_MOBILE_OPTIONAL", organization ); - const serviceClient = getServiceFromOrganization(organization); + const sericeClient = getServiceFromOrganization(organization); const scrubBadMobileNumsGettable = typeof serviceClient.getContactInfo === "function"; let scrubBadMobileNumsCount = null; @@ -306,7 +307,7 @@ export async function nextBatchJobLookups({ lastCount, steps ); - console.log("scrub-bad-mobilenums error: ", err); + log.error("scrub-bad-mobilenums error: ", err); await r .knex("job_request") .where("id", job.id) From 3364e9b5c25b7e4169a2636467cbd9cd54d28347 Mon Sep 17 00:00:00 2001 From: Rueben Engelhart Date: Tue, 1 Oct 2024 14:13:20 -0400 Subject: [PATCH 5/5] add back the v I accidently deleted --- src/extensions/service-managers/scrub-bad-mobilenums/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/extensions/service-managers/scrub-bad-mobilenums/index.js b/src/extensions/service-managers/scrub-bad-mobilenums/index.js index f0a26f18e..493b39017 100644 --- a/src/extensions/service-managers/scrub-bad-mobilenums/index.js +++ b/src/extensions/service-managers/scrub-bad-mobilenums/index.js @@ -99,7 +99,7 @@ export async function getCampaignData({ "SCRUB_MOBILE_OPTIONAL", organization ); - const sericeClient = getServiceFromOrganization(organization); + const serviceClient = getServiceFromOrganization(organization); const scrubBadMobileNumsGettable = typeof serviceClient.getContactInfo === "function"; let scrubBadMobileNumsCount = null;