Skip to main content

vinted_rs/model/
payment_method.rs

1use std::fmt;
2
3use serde::{Deserialize, Serialize};
4
5#[cfg(feature = "redis")]
6use redis_macros::{FromRedisValue, ToRedisArgs};
7
8#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, Hash, Eq)]
9#[cfg_attr(feature = "redis", derive(FromRedisValue, ToRedisArgs,))]
10pub struct PayInMethod {
11    pub id: i32,
12    /// Code of the payment method given by Vinted
13    pub code: String,
14    /// If the payment method requires a credit card
15    pub requires_credit_card: bool,
16    #[serde(skip_serializing_if = "Option::is_none")]
17    pub event_tracking_code: Option<String>,
18    /// Icon of the payment method
19    #[serde(skip_serializing_if = "Option::is_none")]
20    pub icon: Option<String>,
21    pub enabled: bool,
22    #[serde(skip_serializing_if = "Option::is_none")]
23    pub translated_name: Option<String>,
24    #[serde(skip_serializing_if = "Option::is_none")]
25    pub note: Option<String>,
26    pub method_change_possible: bool,
27}
28
29impl fmt::Display for PayInMethod {
30    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
31        writeln!(f, "ID: {}", self.id)?;
32        writeln!(f, "Code: {}", self.code)?;
33        writeln!(f, "Requires Credit Card: {}", self.requires_credit_card)?;
34        writeln!(f, "Event Tracking Code: {:?}", self.event_tracking_code)?;
35        writeln!(f, "Icon: {:?}", self.icon)?;
36        writeln!(f, "Enabled: {:?}", self.enabled)?;
37        writeln!(f, "Translated Name: {:?}", self.translated_name)?;
38        writeln!(f, "Note: {:?}", self.note)?;
39        writeln!(f, "Method Change Possible: {}", self.method_change_possible)?;
40
41        Ok(())
42    }
43}