11use api_option:: DtoType ;
2+ use bincode:: { Decode , Encode } ;
23use schema:: { DevupSchema , field:: DevupSchemaField } ;
34use serde:: { Deserialize , Serialize } ;
45use std:: collections:: { HashMap , HashSet } ;
56
6- #[ derive( Debug , Serialize , Deserialize , Clone , Default , PartialEq , Eq ) ]
7+ #[ derive( Debug , Serialize , Deserialize , Clone , Default , PartialEq , Eq , Encode , Decode ) ]
78pub enum DevupModelColumnType {
89 String ( u32 ) ,
910 Text ,
@@ -32,36 +33,36 @@ pub enum DevupModelColumnType {
3233 Schema ( DevupSchema ) ,
3334}
3435
35- #[ derive( Debug , Serialize , Deserialize , Clone , PartialEq , Eq ) ]
36+ #[ derive( Debug , Serialize , Deserialize , Clone , PartialEq , Eq , Encode , Decode ) ]
3637pub enum DevupModelColumnUnique {
3738 True ,
3839 Key ( String ) ,
3940}
40- #[ derive( Debug , Serialize , Deserialize , Clone , PartialEq , Eq ) ]
41+ #[ derive( Debug , Serialize , Deserialize , Clone , PartialEq , Eq , Encode , Decode ) ]
4142pub enum DevupModelColumnIndex {
4243 True ,
4344 Key ( String ) ,
4445}
45- #[ derive( Debug , Serialize , Deserialize , Clone , PartialEq , Eq ) ]
46+ #[ derive( Debug , Serialize , Deserialize , Clone , PartialEq , Eq , Encode , Decode ) ]
4647pub enum DevupModelColumnDefault {
4748 Default ( String ) ,
4849 ServerDefault ( String ) ,
4950 Func ( String ) ,
5051}
5152
52- #[ derive( Debug , Serialize , Deserialize , Clone , PartialEq , Eq ) ]
53+ #[ derive( Debug , Serialize , Deserialize , Clone , PartialEq , Eq , Encode , Decode ) ]
5354pub enum DevupModelColumnDtoOptionType {
5455 All ,
5556 Each ( Vec < DtoType > ) ,
5657}
5758
58- #[ derive( Debug , Serialize , Deserialize , Clone , PartialEq , Eq ) ]
59+ #[ derive( Debug , Serialize , Deserialize , Clone , PartialEq , Eq , Encode , Decode ) ]
5960pub struct DevupModelColumnDtoOption {
6061 pub pick : Option < DevupModelColumnDtoOptionType > ,
6162 pub omit : Option < DevupModelColumnDtoOptionType > ,
6263}
6364
64- #[ derive( Debug , Serialize , Deserialize , Clone , Default , PartialEq , Eq ) ]
65+ #[ derive( Debug , Serialize , Deserialize , Clone , Default , PartialEq , Eq , Encode , Decode ) ]
6566pub struct DevupModelColumn {
6667 pub name : String ,
6768 pub r#type : DevupModelColumnType ,
@@ -79,14 +80,14 @@ pub struct DevupModelColumn {
7980 pub dto : Option < DevupModelColumnDtoOption > ,
8081}
8182
82- #[ derive( Debug , Serialize , Deserialize , Clone , Default ) ]
83+ #[ derive( Debug , Serialize , Deserialize , Clone , Default , Encode , Decode ) ]
8384pub struct DevupModelRelation {
8485 pub name : String ,
8586 pub field : Option < String > ,
8687 pub dto : Option < DevupModelColumnDtoOption > ,
8788}
8889
89- #[ derive( Debug , Serialize , Deserialize , Clone ) ]
90+ #[ derive( Debug , Serialize , Deserialize , Clone , Encode , Decode ) ]
9091pub enum DevupModelFieldType {
9192 Column ( DevupModelColumn ) ,
9293 Relation ( DevupModelRelation ) ,
0 commit comments