stripe/resources/generated/
connect_account_reference.rs

1// ======================================
2// This file was automatically generated.
3// ======================================
4
5use crate::params::Expandable;
6use crate::resources::Account;
7use serde::{Deserialize, Serialize};
8
9/// The resource representing a Stripe "ConnectAccountReference".
10#[derive(Clone, Debug, Default, Deserialize, Serialize)]
11pub struct ConnectAccountReference {
12    /// The connected account being referenced when `type` is `account`.
13    #[serde(skip_serializing_if = "Option::is_none")]
14    pub account: Option<Expandable<Account>>,
15
16    /// Type of the account referenced.
17    #[serde(rename = "type")]
18    pub type_: ConnectAccountReferenceType,
19}
20
21/// An enum representing the possible values of an `ConnectAccountReference`'s `type` field.
22#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
23#[serde(rename_all = "snake_case")]
24pub enum ConnectAccountReferenceType {
25    Account,
26    #[serde(rename = "self")]
27    Self_,
28}
29
30impl ConnectAccountReferenceType {
31    pub fn as_str(self) -> &'static str {
32        match self {
33            ConnectAccountReferenceType::Account => "account",
34            ConnectAccountReferenceType::Self_ => "self",
35        }
36    }
37}
38
39impl AsRef<str> for ConnectAccountReferenceType {
40    fn as_ref(&self) -> &str {
41        self.as_str()
42    }
43}
44
45impl std::fmt::Display for ConnectAccountReferenceType {
46    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
47        self.as_str().fmt(f)
48    }
49}
50impl std::default::Default for ConnectAccountReferenceType {
51    fn default() -> Self {
52        Self::Account
53    }
54}