messaging_api_line/models/
subscribed_membership_plan.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct SubscribedMembershipPlan {
17 #[serde(rename = "membershipId")]
19 pub membership_id: i32,
20 #[serde(rename = "title")]
22 pub title: String,
23 #[serde(rename = "description")]
25 pub description: String,
26 #[serde(rename = "benefits")]
28 pub benefits: Vec<String>,
29 #[serde(rename = "price")]
31 pub price: f64,
32 #[serde(rename = "currency")]
34 pub currency: Currency,
35}
36
37impl SubscribedMembershipPlan {
38 pub fn new(membership_id: i32, title: String, description: String, benefits: Vec<String>, price: f64, currency: Currency) -> SubscribedMembershipPlan {
40 SubscribedMembershipPlan {
41 membership_id,
42 title,
43 description,
44 benefits,
45 price,
46 currency,
47 }
48 }
49}
50#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
52pub enum Currency {
53 #[serde(rename = "JPY")]
54 Jpy,
55 #[serde(rename = "TWD")]
56 Twd,
57 #[serde(rename = "THB")]
58 Thb,
59}
60
61impl Default for Currency {
62 fn default() -> Currency {
63 Self::Jpy
64 }
65}
66