File tree 4 files changed +62
-0
lines changed
4 files changed +62
-0
lines changed Original file line number Diff line number Diff line change
1
+ use std:: fmt;
2
+
1
3
use serde:: { Deserialize , Serialize } ;
2
4
3
5
#[ derive( Debug , Clone , Deserialize , Serialize ) ]
4
6
pub struct List {
5
7
pub id : String ,
6
8
pub title : String ,
9
+ pub replies_policy : Option < RepliesPolicy > ,
10
+ }
11
+
12
+ #[ derive( Debug , Clone , Deserialize , Serialize ) ]
13
+ #[ serde( rename_all = "snake_case" ) ]
14
+ pub enum RepliesPolicy {
15
+ Followed ,
16
+ List ,
17
+ None ,
18
+ }
19
+
20
+ impl fmt:: Display for RepliesPolicy {
21
+ fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
22
+ match self {
23
+ RepliesPolicy :: Followed => write ! ( f, "followed" ) ,
24
+ RepliesPolicy :: List => write ! ( f, "list" ) ,
25
+ RepliesPolicy :: None => write ! ( f, "none" ) ,
26
+ }
27
+ }
7
28
}
Original file line number Diff line number Diff line change @@ -5,13 +5,33 @@ use serde::Deserialize;
5
5
pub struct List {
6
6
id : String ,
7
7
title : String ,
8
+ replies_policy : RepliesPolicy ,
9
+ }
10
+
11
+ #[ derive( Debug , Deserialize , Clone ) ]
12
+ #[ serde( rename_all = "snake_case" ) ]
13
+ pub enum RepliesPolicy {
14
+ Followed ,
15
+ List ,
16
+ None ,
17
+ }
18
+
19
+ impl Into < MegalodonEntities :: list:: RepliesPolicy > for RepliesPolicy {
20
+ fn into ( self ) -> MegalodonEntities :: list:: RepliesPolicy {
21
+ match self {
22
+ RepliesPolicy :: Followed => MegalodonEntities :: list:: RepliesPolicy :: Followed ,
23
+ RepliesPolicy :: List => MegalodonEntities :: list:: RepliesPolicy :: List ,
24
+ RepliesPolicy :: None => MegalodonEntities :: list:: RepliesPolicy :: None ,
25
+ }
26
+ }
8
27
}
9
28
10
29
impl Into < MegalodonEntities :: List > for List {
11
30
fn into ( self ) -> MegalodonEntities :: List {
12
31
MegalodonEntities :: List {
13
32
id : self . id ,
14
33
title : self . title ,
34
+ replies_policy : Some ( self . replies_policy . into ( ) ) ,
15
35
}
16
36
}
17
37
}
Original file line number Diff line number Diff line change @@ -5,13 +5,33 @@ use serde::Deserialize;
5
5
pub struct List {
6
6
id : String ,
7
7
title : String ,
8
+ replies_policy : RepliesPolicy ,
9
+ }
10
+
11
+ #[ derive( Debug , Deserialize , Clone ) ]
12
+ #[ serde( rename_all = "snake_case" ) ]
13
+ pub enum RepliesPolicy {
14
+ Followed ,
15
+ List ,
16
+ None ,
17
+ }
18
+
19
+ impl Into < MegalodonEntities :: list:: RepliesPolicy > for RepliesPolicy {
20
+ fn into ( self ) -> MegalodonEntities :: list:: RepliesPolicy {
21
+ match self {
22
+ RepliesPolicy :: Followed => MegalodonEntities :: list:: RepliesPolicy :: Followed ,
23
+ RepliesPolicy :: List => MegalodonEntities :: list:: RepliesPolicy :: List ,
24
+ RepliesPolicy :: None => MegalodonEntities :: list:: RepliesPolicy :: None ,
25
+ }
26
+ }
8
27
}
9
28
10
29
impl Into < MegalodonEntities :: List > for List {
11
30
fn into ( self ) -> MegalodonEntities :: List {
12
31
MegalodonEntities :: List {
13
32
id : self . id ,
14
33
title : self . title ,
34
+ replies_policy : Some ( self . replies_policy . into ( ) ) ,
15
35
}
16
36
}
17
37
}
Original file line number Diff line number Diff line change @@ -12,6 +12,7 @@ impl Into<MegalodonEntities::List> for List {
12
12
MegalodonEntities :: List {
13
13
id : self . id ,
14
14
title : self . title ,
15
+ replies_policy : None ,
15
16
}
16
17
}
17
18
}
You can’t perform that action at this time.
0 commit comments