bitwarden_api_api/models/
plan_type.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[repr(i64)]
17#[derive(
18 Clone,
19 Copy,
20 Debug,
21 Eq,
22 PartialEq,
23 Ord,
24 PartialOrd,
25 Hash,
26 serde_repr::Serialize_repr,
27 serde_repr::Deserialize_repr,
28)]
29pub enum PlanType {
30 Free = 0,
31 FamiliesAnnually2019 = 1,
32 TeamsMonthly2019 = 2,
33 TeamsAnnually2019 = 3,
34 EnterpriseMonthly2019 = 4,
35 EnterpriseAnnually2019 = 5,
36 Custom = 6,
37 FamiliesAnnually = 7,
38 TeamsMonthly2020 = 8,
39 TeamsAnnually2020 = 9,
40 EnterpriseMonthly2020 = 10,
41 EnterpriseAnnually2020 = 11,
42 TeamsMonthly2023 = 12,
43 TeamsAnnually2023 = 13,
44 EnterpriseMonthly2023 = 14,
45 EnterpriseAnnually2023 = 15,
46 TeamsStarter2023 = 16,
47 TeamsMonthly = 17,
48 TeamsAnnually = 18,
49 EnterpriseMonthly = 19,
50 EnterpriseAnnually = 20,
51 TeamsStarter = 21,
52}
53
54impl std::fmt::Display for PlanType {
55 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
56 match self {
57 Self::Free => write!(f, "0"),
58 Self::FamiliesAnnually2019 => write!(f, "1"),
59 Self::TeamsMonthly2019 => write!(f, "2"),
60 Self::TeamsAnnually2019 => write!(f, "3"),
61 Self::EnterpriseMonthly2019 => write!(f, "4"),
62 Self::EnterpriseAnnually2019 => write!(f, "5"),
63 Self::Custom => write!(f, "6"),
64 Self::FamiliesAnnually => write!(f, "7"),
65 Self::TeamsMonthly2020 => write!(f, "8"),
66 Self::TeamsAnnually2020 => write!(f, "9"),
67 Self::EnterpriseMonthly2020 => write!(f, "10"),
68 Self::EnterpriseAnnually2020 => write!(f, "11"),
69 Self::TeamsMonthly2023 => write!(f, "12"),
70 Self::TeamsAnnually2023 => write!(f, "13"),
71 Self::EnterpriseMonthly2023 => write!(f, "14"),
72 Self::EnterpriseAnnually2023 => write!(f, "15"),
73 Self::TeamsStarter2023 => write!(f, "16"),
74 Self::TeamsMonthly => write!(f, "17"),
75 Self::TeamsAnnually => write!(f, "18"),
76 Self::EnterpriseMonthly => write!(f, "19"),
77 Self::EnterpriseAnnually => write!(f, "20"),
78 Self::TeamsStarter => write!(f, "21"),
79 }
80 }
81}
82
83impl Default for PlanType {
84 fn default() -> PlanType {
85 Self::Free
86 }
87}