mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-01 02:57:02 +08:00
fix(connector): accept state abbreviation in 2 letter (#4646)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
@ -2010,7 +2010,9 @@ pub enum FileUploadProvider {
|
|||||||
Checkout,
|
Checkout,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, strum::Display)]
|
#[derive(
|
||||||
|
Debug, Clone, PartialEq, Eq, Serialize, Deserialize, strum::Display, strum::EnumString,
|
||||||
|
)]
|
||||||
pub enum UsStatesAbbreviation {
|
pub enum UsStatesAbbreviation {
|
||||||
AL,
|
AL,
|
||||||
AK,
|
AK,
|
||||||
@ -2073,7 +2075,9 @@ pub enum UsStatesAbbreviation {
|
|||||||
WY,
|
WY,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, strum::Display)]
|
#[derive(
|
||||||
|
Debug, Clone, PartialEq, Eq, Serialize, Deserialize, strum::Display, strum::EnumString,
|
||||||
|
)]
|
||||||
pub enum CanadaStatesAbbreviation {
|
pub enum CanadaStatesAbbreviation {
|
||||||
AB,
|
AB,
|
||||||
BC,
|
BC,
|
||||||
|
|||||||
@ -10,6 +10,7 @@ use base64::Engine;
|
|||||||
use common_utils::{
|
use common_utils::{
|
||||||
date_time,
|
date_time,
|
||||||
errors::ReportSwitchExt,
|
errors::ReportSwitchExt,
|
||||||
|
ext_traits::StringExt,
|
||||||
pii::{self, Email, IpAddress},
|
pii::{self, Email, IpAddress},
|
||||||
};
|
};
|
||||||
use diesel_models::enums;
|
use diesel_models::enums;
|
||||||
@ -1789,72 +1790,80 @@ pub fn get_webhook_merchant_secret_key(connector_label: &str, merchant_id: &str)
|
|||||||
impl ForeignTryFrom<String> for UsStatesAbbreviation {
|
impl ForeignTryFrom<String> for UsStatesAbbreviation {
|
||||||
type Error = error_stack::Report<errors::ConnectorError>;
|
type Error = error_stack::Report<errors::ConnectorError>;
|
||||||
fn foreign_try_from(value: String) -> Result<Self, Self::Error> {
|
fn foreign_try_from(value: String) -> Result<Self, Self::Error> {
|
||||||
let binding = value.as_str().to_lowercase();
|
let state_abbreviation_check =
|
||||||
let state = binding.as_str();
|
StringExt::<Self>::parse_enum(value.to_uppercase().clone(), "UsStatesAbbreviation");
|
||||||
match state {
|
|
||||||
"alabama" => Ok(Self::AL),
|
match state_abbreviation_check {
|
||||||
"alaska" => Ok(Self::AK),
|
Ok(state_abbreviation) => Ok(state_abbreviation),
|
||||||
"american samoa" => Ok(Self::AS),
|
Err(_) => {
|
||||||
"arizona" => Ok(Self::AZ),
|
let binding = value.as_str().to_lowercase();
|
||||||
"arkansas" => Ok(Self::AR),
|
let state = binding.as_str();
|
||||||
"california" => Ok(Self::CA),
|
match state {
|
||||||
"colorado" => Ok(Self::CO),
|
"alabama" => Ok(Self::AL),
|
||||||
"connecticut" => Ok(Self::CT),
|
"alaska" => Ok(Self::AK),
|
||||||
"delaware" => Ok(Self::DE),
|
"american samoa" => Ok(Self::AS),
|
||||||
"district of columbia" | "columbia" => Ok(Self::DC),
|
"arizona" => Ok(Self::AZ),
|
||||||
"federated states of micronesia" | "micronesia" => Ok(Self::FM),
|
"arkansas" => Ok(Self::AR),
|
||||||
"florida" => Ok(Self::FL),
|
"california" => Ok(Self::CA),
|
||||||
"georgia" => Ok(Self::GA),
|
"colorado" => Ok(Self::CO),
|
||||||
"guam" => Ok(Self::GU),
|
"connecticut" => Ok(Self::CT),
|
||||||
"hawaii" => Ok(Self::HI),
|
"delaware" => Ok(Self::DE),
|
||||||
"idaho" => Ok(Self::ID),
|
"district of columbia" | "columbia" => Ok(Self::DC),
|
||||||
"illinois" => Ok(Self::IL),
|
"federated states of micronesia" | "micronesia" => Ok(Self::FM),
|
||||||
"indiana" => Ok(Self::IN),
|
"florida" => Ok(Self::FL),
|
||||||
"iowa" => Ok(Self::IA),
|
"georgia" => Ok(Self::GA),
|
||||||
"kansas" => Ok(Self::KS),
|
"guam" => Ok(Self::GU),
|
||||||
"kentucky" => Ok(Self::KY),
|
"hawaii" => Ok(Self::HI),
|
||||||
"louisiana" => Ok(Self::LA),
|
"idaho" => Ok(Self::ID),
|
||||||
"maine" => Ok(Self::ME),
|
"illinois" => Ok(Self::IL),
|
||||||
"marshall islands" => Ok(Self::MH),
|
"indiana" => Ok(Self::IN),
|
||||||
"maryland" => Ok(Self::MD),
|
"iowa" => Ok(Self::IA),
|
||||||
"massachusetts" => Ok(Self::MA),
|
"kansas" => Ok(Self::KS),
|
||||||
"michigan" => Ok(Self::MI),
|
"kentucky" => Ok(Self::KY),
|
||||||
"minnesota" => Ok(Self::MN),
|
"louisiana" => Ok(Self::LA),
|
||||||
"mississippi" => Ok(Self::MS),
|
"maine" => Ok(Self::ME),
|
||||||
"missouri" => Ok(Self::MO),
|
"marshall islands" => Ok(Self::MH),
|
||||||
"montana" => Ok(Self::MT),
|
"maryland" => Ok(Self::MD),
|
||||||
"nebraska" => Ok(Self::NE),
|
"massachusetts" => Ok(Self::MA),
|
||||||
"nevada" => Ok(Self::NV),
|
"michigan" => Ok(Self::MI),
|
||||||
"new hampshire" => Ok(Self::NH),
|
"minnesota" => Ok(Self::MN),
|
||||||
"new jersey" => Ok(Self::NJ),
|
"mississippi" => Ok(Self::MS),
|
||||||
"new mexico" => Ok(Self::NM),
|
"missouri" => Ok(Self::MO),
|
||||||
"new york" => Ok(Self::NY),
|
"montana" => Ok(Self::MT),
|
||||||
"north carolina" => Ok(Self::NC),
|
"nebraska" => Ok(Self::NE),
|
||||||
"north dakota" => Ok(Self::ND),
|
"nevada" => Ok(Self::NV),
|
||||||
"northern mariana islands" => Ok(Self::MP),
|
"new hampshire" => Ok(Self::NH),
|
||||||
"ohio" => Ok(Self::OH),
|
"new jersey" => Ok(Self::NJ),
|
||||||
"oklahoma" => Ok(Self::OK),
|
"new mexico" => Ok(Self::NM),
|
||||||
"oregon" => Ok(Self::OR),
|
"new york" => Ok(Self::NY),
|
||||||
"palau" => Ok(Self::PW),
|
"north carolina" => Ok(Self::NC),
|
||||||
"pennsylvania" => Ok(Self::PA),
|
"north dakota" => Ok(Self::ND),
|
||||||
"puerto rico" => Ok(Self::PR),
|
"northern mariana islands" => Ok(Self::MP),
|
||||||
"rhode island" => Ok(Self::RI),
|
"ohio" => Ok(Self::OH),
|
||||||
"south carolina" => Ok(Self::SC),
|
"oklahoma" => Ok(Self::OK),
|
||||||
"south dakota" => Ok(Self::SD),
|
"oregon" => Ok(Self::OR),
|
||||||
"tennessee" => Ok(Self::TN),
|
"palau" => Ok(Self::PW),
|
||||||
"texas" => Ok(Self::TX),
|
"pennsylvania" => Ok(Self::PA),
|
||||||
"utah" => Ok(Self::UT),
|
"puerto rico" => Ok(Self::PR),
|
||||||
"vermont" => Ok(Self::VT),
|
"rhode island" => Ok(Self::RI),
|
||||||
"virgin islands" => Ok(Self::VI),
|
"south carolina" => Ok(Self::SC),
|
||||||
"virginia" => Ok(Self::VA),
|
"south dakota" => Ok(Self::SD),
|
||||||
"washington" => Ok(Self::WA),
|
"tennessee" => Ok(Self::TN),
|
||||||
"west virginia" => Ok(Self::WV),
|
"texas" => Ok(Self::TX),
|
||||||
"wisconsin" => Ok(Self::WI),
|
"utah" => Ok(Self::UT),
|
||||||
"wyoming" => Ok(Self::WY),
|
"vermont" => Ok(Self::VT),
|
||||||
_ => Err(errors::ConnectorError::InvalidDataFormat {
|
"virgin islands" => Ok(Self::VI),
|
||||||
field_name: "address.state",
|
"virginia" => Ok(Self::VA),
|
||||||
|
"washington" => Ok(Self::WA),
|
||||||
|
"west virginia" => Ok(Self::WV),
|
||||||
|
"wisconsin" => Ok(Self::WI),
|
||||||
|
"wyoming" => Ok(Self::WY),
|
||||||
|
_ => Err(errors::ConnectorError::InvalidDataFormat {
|
||||||
|
field_name: "address.state",
|
||||||
|
}
|
||||||
|
.into()),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.into()),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1862,26 +1871,33 @@ impl ForeignTryFrom<String> for UsStatesAbbreviation {
|
|||||||
impl ForeignTryFrom<String> for CanadaStatesAbbreviation {
|
impl ForeignTryFrom<String> for CanadaStatesAbbreviation {
|
||||||
type Error = error_stack::Report<errors::ConnectorError>;
|
type Error = error_stack::Report<errors::ConnectorError>;
|
||||||
fn foreign_try_from(value: String) -> Result<Self, Self::Error> {
|
fn foreign_try_from(value: String) -> Result<Self, Self::Error> {
|
||||||
let binding = value.as_str().to_lowercase();
|
let state_abbreviation_check =
|
||||||
let state = binding.as_str();
|
StringExt::<Self>::parse_enum(value.to_uppercase().clone(), "CanadaStatesAbbreviation");
|
||||||
match state {
|
match state_abbreviation_check {
|
||||||
"alberta" => Ok(Self::AB),
|
Ok(state_abbreviation) => Ok(state_abbreviation),
|
||||||
"british columbia" => Ok(Self::BC),
|
Err(_) => {
|
||||||
"manitoba" => Ok(Self::MB),
|
let binding = value.as_str().to_lowercase();
|
||||||
"new brunswick" => Ok(Self::NB),
|
let state = binding.as_str();
|
||||||
"newfoundland and labrador" | "newfoundland & labrador" => Ok(Self::NL),
|
match state {
|
||||||
"northwest territories" => Ok(Self::NT),
|
"alberta" => Ok(Self::AB),
|
||||||
"nova scotia" => Ok(Self::NS),
|
"british columbia" => Ok(Self::BC),
|
||||||
"nunavut" => Ok(Self::NU),
|
"manitoba" => Ok(Self::MB),
|
||||||
"ontario" => Ok(Self::ON),
|
"new brunswick" => Ok(Self::NB),
|
||||||
"prince edward island" => Ok(Self::PE),
|
"newfoundland and labrador" | "newfoundland & labrador" => Ok(Self::NL),
|
||||||
"quebec" => Ok(Self::QC),
|
"northwest territories" => Ok(Self::NT),
|
||||||
"saskatchewan" => Ok(Self::SK),
|
"nova scotia" => Ok(Self::NS),
|
||||||
"yukon" => Ok(Self::YT),
|
"nunavut" => Ok(Self::NU),
|
||||||
_ => Err(errors::ConnectorError::InvalidDataFormat {
|
"ontario" => Ok(Self::ON),
|
||||||
field_name: "address.state",
|
"prince edward island" => Ok(Self::PE),
|
||||||
|
"quebec" => Ok(Self::QC),
|
||||||
|
"saskatchewan" => Ok(Self::SK),
|
||||||
|
"yukon" => Ok(Self::YT),
|
||||||
|
_ => Err(errors::ConnectorError::InvalidDataFormat {
|
||||||
|
field_name: "address.state",
|
||||||
|
}
|
||||||
|
.into()),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.into()),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user