From f68390e96fa917ff50fde0ad42968f5512d4d7de Mon Sep 17 00:00:00 2001 From: Chris Eager Date: Mon, 15 Mar 2021 21:20:35 -0500 Subject: [PATCH] Add Twilio Verify methods to SmsSender --- .../textsecuregcm/sms/SmsSender.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/sms/SmsSender.java b/service/src/main/java/org/whispersystems/textsecuregcm/sms/SmsSender.java index 3c02bcafc..14b80b466 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/sms/SmsSender.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/sms/SmsSender.java @@ -8,9 +8,11 @@ package org.whispersystems.textsecuregcm.sms; import java.util.List; import java.util.Locale.LanguageRange; import java.util.Optional; +import java.util.concurrent.CompletableFuture; @SuppressWarnings("OptionalUsedAsFieldOrParameterType") public class SmsSender { + private final TwilioSmsSender twilioSender; public SmsSender(TwilioSmsSender twilioSender) { @@ -29,4 +31,24 @@ public class SmsSender { public void deliverVoxVerification(String destination, String verificationCode, List languageRanges) { twilioSender.deliverVoxVerification(destination, verificationCode, languageRanges); } + + public CompletableFuture> deliverSmsVerificationWithTwilioVerify(String destination, Optional clientType, + String verificationCode, List languageRanges) { + // Fix up mexico numbers to 'mobile' format just for SMS delivery. + if (destination.startsWith("+52") && !destination.startsWith("+521")) { + destination = "+521" + destination.substring(3); + } + + return twilioSender.deliverSmsVerificationWithVerify(destination, clientType, verificationCode, languageRanges); + } + + public CompletableFuture> deliverVoxVerificationWithTwilioVerify(String destination, String verificationCode, + List languageRanges) { + + return twilioSender.deliverVoxVerificationWithVerify(destination, verificationCode, languageRanges); + } + + public void reportVerificationSucceeded(String verificationSid) { + twilioSender.reportVerificationSucceeded(verificationSid); + } }