use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct TreasuryFinancialAccountsResourceAchToggleSettings {
pub requested: bool,
pub status: TreasuryFinancialAccountsResourceAchToggleSettingsStatus,
pub status_details: Vec<TreasuryFinancialAccountsResourceTogglesSettingStatusDetails>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct TreasuryFinancialAccountsResourceTogglesSettingStatusDetails {
pub code: TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsCode,
pub resolution: Option<TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsResolution>,
#[serde(skip_serializing_if = "Option::is_none")]
pub restriction: Option<TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsRestriction>,
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum TreasuryFinancialAccountsResourceAchToggleSettingsStatus {
Active,
Pending,
Restricted,
}
impl TreasuryFinancialAccountsResourceAchToggleSettingsStatus {
pub fn as_str(self) -> &'static str {
match self {
TreasuryFinancialAccountsResourceAchToggleSettingsStatus::Active => "active",
TreasuryFinancialAccountsResourceAchToggleSettingsStatus::Pending => "pending",
TreasuryFinancialAccountsResourceAchToggleSettingsStatus::Restricted => "restricted",
}
}
}
impl AsRef<str> for TreasuryFinancialAccountsResourceAchToggleSettingsStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for TreasuryFinancialAccountsResourceAchToggleSettingsStatus {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for TreasuryFinancialAccountsResourceAchToggleSettingsStatus {
fn default() -> Self {
Self::Active
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsCode {
Activating,
CapabilityNotRequested,
FinancialAccountClosed,
RejectedOther,
RejectedUnsupportedBusiness,
RequirementsPastDue,
RequirementsPendingVerification,
RestrictedByPlatform,
RestrictedOther,
}
impl TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsCode {
pub fn as_str(self) -> &'static str {
match self {
TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsCode::Activating => "activating",
TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsCode::CapabilityNotRequested => "capability_not_requested",
TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsCode::FinancialAccountClosed => "financial_account_closed",
TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsCode::RejectedOther => "rejected_other",
TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsCode::RejectedUnsupportedBusiness => "rejected_unsupported_business",
TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsCode::RequirementsPastDue => "requirements_past_due",
TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsCode::RequirementsPendingVerification => "requirements_pending_verification",
TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsCode::RestrictedByPlatform => "restricted_by_platform",
TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsCode::RestrictedOther => "restricted_other",
}
}
}
impl AsRef<str> for TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsCode {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsCode {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsCode {
fn default() -> Self {
Self::Activating
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsResolution {
ContactStripe,
ProvideInformation,
RemoveRestriction,
}
impl TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsResolution {
pub fn as_str(self) -> &'static str {
match self {
TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsResolution::ContactStripe => "contact_stripe",
TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsResolution::ProvideInformation => "provide_information",
TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsResolution::RemoveRestriction => "remove_restriction",
}
}
}
impl AsRef<str> for TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsResolution {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsResolution {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsResolution {
fn default() -> Self {
Self::ContactStripe
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsRestriction {
InboundFlows,
OutboundFlows,
}
impl TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsRestriction {
pub fn as_str(self) -> &'static str {
match self {
TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsRestriction::InboundFlows => "inbound_flows",
TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsRestriction::OutboundFlows => "outbound_flows",
}
}
}
impl AsRef<str> for TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsRestriction {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsRestriction {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for TreasuryFinancialAccountsResourceTogglesSettingStatusDetailsRestriction {
fn default() -> Self {
Self::InboundFlows
}
}