stripe/resources/generated/
connect_account_reference.rs

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