Add configuration for regional SMS verification text

This commit is contained in:
Chris Eager
2021-05-06 13:16:34 -05:00
committed by Chris Eager
parent 1999bd2bcb
commit 760462f8fb
5 changed files with 158 additions and 76 deletions

View File

@@ -5,6 +5,8 @@
package org.whispersystems.textsecuregcm.configuration;
import com.google.common.annotations.VisibleForTesting;
import java.util.Collections;
import java.util.Map;
import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@@ -37,20 +39,11 @@ public class TwilioConfiguration {
@Valid
private RetryConfiguration retry = new RetryConfiguration();
@NotEmpty
private String iosVerificationText;
@Valid
private TwilioVerificationTextConfiguration defaultClientVerificationTexts;
@NotEmpty
private String androidNgVerificationText;
@NotEmpty
private String android202001VerificationText;
@NotEmpty
private String android202103VerificationText;
@NotEmpty
private String genericVerificationText;
@Valid
private Map<String,TwilioVerificationTextConfiguration> regionalClientVerificationTexts = Collections.emptyMap();
@NotEmpty
private String androidAppHash;
@@ -129,49 +122,23 @@ public class TwilioConfiguration {
this.retry = retry;
}
public String getIosVerificationText() {
return iosVerificationText;
public TwilioVerificationTextConfiguration getDefaultClientVerificationTexts() {
return defaultClientVerificationTexts;
}
@VisibleForTesting
public void setIosVerificationText(String iosVerificationText) {
this.iosVerificationText = iosVerificationText;
public void setDefaultClientVerificationTexts(TwilioVerificationTextConfiguration defaultClientVerificationTexts) {
this.defaultClientVerificationTexts = defaultClientVerificationTexts;
}
public String getAndroidNgVerificationText() {
return androidNgVerificationText;
public Map<String,TwilioVerificationTextConfiguration> getRegionalClientVerificationTexts() {
return regionalClientVerificationTexts;
}
@VisibleForTesting
public void setAndroidNgVerificationText(String androidNgVerificationText) {
this.androidNgVerificationText = androidNgVerificationText;
}
public String getAndroid202001VerificationText() {
return android202001VerificationText;
}
@VisibleForTesting
public void setAndroid202001VerificationText(String android202001VerificationText) {
this.android202001VerificationText = android202001VerificationText;
}
public String getAndroid202103VerificationText() {
return android202103VerificationText;
}
@VisibleForTesting
public void setAndroid202103VerificationText(String android202103VerificationText) {
this.android202103VerificationText = android202103VerificationText;
}
public String getGenericVerificationText() {
return genericVerificationText;
}
@VisibleForTesting
public void setGenericVerificationText(String genericVerificationText) {
this.genericVerificationText = genericVerificationText;
public void setRegionalClientVerificationTexts(final Map<String,TwilioVerificationTextConfiguration> regionalClientVerificationTexts) {
this.regionalClientVerificationTexts = regionalClientVerificationTexts;
}
public String getAndroidAppHash() {

View File

@@ -0,0 +1,70 @@
package org.whispersystems.textsecuregcm.configuration;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import javax.validation.constraints.NotEmpty;
public class TwilioVerificationTextConfiguration {
@JsonProperty
@NotEmpty
private String ios;
@JsonProperty
@NotEmpty
private String androidNg;
@JsonProperty
@NotEmpty
private String android202001;
@JsonProperty
@NotEmpty
private String android202103;
@JsonProperty
@NotEmpty
private String generic;
public String getIosText() {
return ios;
}
public void setIosText(String ios) {
this.ios = ios;
}
public String getAndroidNgText() {
return androidNg;
}
public void setAndroidNgText(final String androidNg) {
this.androidNg = androidNg;
}
public String getAndroid202001Text() {
return android202001;
}
public void setAndroid202001Text(final String android202001) {
this.android202001 = android202001;
}
public String getAndroid202103Text() {
return android202103;
}
public void setAndroid202103Text(final String android202103) {
this.android202103 = android202103;
}
public String getGenericText() {
return generic;
}
public void setGenericText(final String generic) {
this.generic = generic;
}
}