1use serde::{Deserialize, Serialize};
4use std::fmt;
5
6#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
8pub enum ContentType {
9 #[serde(rename = "dir")]
10 Dir,
11 #[serde(rename = "file")]
12 File,
13}
14
15impl fmt::Display for ContentType {
16 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
17 match self {
18 ContentType::Dir => write!(f, "dir"),
19 ContentType::File => write!(f, "file"),
20 }
21 }
22}
23
24#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
26pub enum IssueState {
27 #[serde(rename = "closed")]
28 Closed,
29 #[serde(rename = "open")]
30 Open,
31}
32
33impl fmt::Display for IssueState {
34 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
35 match self {
36 IssueState::Closed => write!(f, "closed"),
37 IssueState::Open => write!(f, "open"),
38 }
39 }
40}
41
42#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
44pub enum PullRequestSortCriteria {
45 #[serde(rename = "created")]
46 Created,
47 #[serde(rename = "long-running")]
48 LongRunning,
49 #[serde(rename = "popularity")]
50 Popularity,
51 #[serde(rename = "updated")]
52 Updated,
53}
54
55impl fmt::Display for PullRequestSortCriteria {
56 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
57 match self {
58 PullRequestSortCriteria::Created => write!(f, "created"),
59 PullRequestSortCriteria::LongRunning => write!(f, "long-running"),
60 PullRequestSortCriteria::Popularity => write!(f, "popularity"),
61 PullRequestSortCriteria::Updated => write!(f, "updated"),
62 }
63 }
64}
65
66#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
68pub enum PullRequestSortDirection {
69 #[serde(rename = "asc")]
70 Asc,
71 #[serde(rename = "desc")]
72 Desc,
73}
74
75impl fmt::Display for PullRequestSortDirection {
76 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
77 match self {
78 PullRequestSortDirection::Asc => write!(f, "asc"),
79 PullRequestSortDirection::Desc => write!(f, "desc"),
80 }
81 }
82}
83
84#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
86pub enum PullRequestState {
87 #[serde(rename = "closed")]
88 Closed,
89 #[serde(rename = "open")]
90 Open,
91}
92
93impl fmt::Display for PullRequestState {
94 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
95 match self {
96 PullRequestState::Closed => write!(f, "closed"),
97 PullRequestState::Open => write!(f, "open"),
98 }
99 }
100}
101
102#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
104pub enum PullRequestStateFilter {
105 #[serde(rename = "all")]
106 All,
107 #[serde(rename = "closed")]
108 Closed,
109 #[serde(rename = "open")]
110 Open,
111}
112
113impl fmt::Display for PullRequestStateFilter {
114 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
115 match self {
116 PullRequestStateFilter::All => write!(f, "all"),
117 PullRequestStateFilter::Closed => write!(f, "closed"),
118 PullRequestStateFilter::Open => write!(f, "open"),
119 }
120 }
121}
122
123#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
125pub enum UserType {
126 #[serde(rename = "Organization")]
127 Organization,
128 #[serde(rename = "User")]
129 User,
130}
131
132impl fmt::Display for UserType {
133 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
134 match self {
135 UserType::Organization => write!(f, "Organization"),
136 UserType::User => write!(f, "User"),
137 }
138 }
139}
140
141#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
143pub enum VisibilityType {
144 #[serde(rename = "limited")]
145 Limited,
146 #[serde(rename = "private")]
147 Private,
148 #[serde(rename = "public")]
149 Public,
150}
151
152impl fmt::Display for VisibilityType {
153 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
154 match self {
155 VisibilityType::Limited => write!(f, "limited"),
156 VisibilityType::Private => write!(f, "private"),
157 VisibilityType::Public => write!(f, "public"),
158 }
159 }
160}