1
1
use paperclip:: actix:: Apiv2Schema ;
2
2
use serde:: { Deserialize , Serialize } ;
3
+ use ts_rs:: TS ;
3
4
use std:: {
4
5
collections:: { hash_map:: DefaultHasher , HashMap } ,
5
6
hash:: { Hash , Hasher } ,
@@ -56,15 +57,15 @@ impl Drop for Device {
56
57
}
57
58
}
58
59
59
- #[ derive( Debug , Clone , PartialEq , Serialize , Deserialize ) ]
60
+ #[ derive( Debug , Clone , PartialEq , Serialize , Deserialize , TS ) ]
60
61
pub enum DeviceSelection {
61
62
Common ,
62
63
Ping1D ,
63
64
Ping360 ,
64
65
Auto ,
65
66
}
66
67
67
- #[ derive( Debug , Clone , Deserialize , Serialize , Hash ) ]
68
+ #[ derive( Debug , Clone , Deserialize , Serialize , Hash , TS ) ]
68
69
pub enum SourceSelection {
69
70
UdpStream ( SourceUdpStruct ) ,
70
71
SerialStream ( SourceSerialStruct ) ,
@@ -75,13 +76,13 @@ enum SourceType {
75
76
Serial ( SerialStream ) ,
76
77
}
77
78
78
- #[ derive( Clone , Debug , Deserialize , Serialize , Hash , Apiv2Schema ) ]
79
+ #[ derive( Clone , Debug , Deserialize , Serialize , Hash , Apiv2Schema , TS ) ]
79
80
pub struct SourceUdpStruct {
80
81
pub ip : Ipv4Addr ,
81
82
pub port : u16 ,
82
83
}
83
84
84
- #[ derive( Clone , Debug , Deserialize , Serialize , Hash , Apiv2Schema ) ]
85
+ #[ derive( Clone , Debug , Deserialize , Serialize , Hash , Apiv2Schema , TS ) ]
85
86
pub struct SourceSerialStruct {
86
87
pub path : String ,
87
88
pub baudrate : u32 ,
@@ -137,7 +138,7 @@ pub struct DeviceAnswer {
137
138
pub device_id : Uuid ,
138
139
}
139
140
140
- #[ derive( Debug , Clone , Serialize , Deserialize , Apiv2Schema ) ]
141
+ #[ derive( Debug , Clone , Serialize , Deserialize , Apiv2Schema , TS ) ]
141
142
#[ serde( tag = "type" , content = "payload" ) ]
142
143
pub enum Request {
143
144
Create ( CreateStruct ) ,
@@ -151,7 +152,7 @@ pub enum Request {
151
152
DisableContinuousMode ( UuidWrapper ) ,
152
153
}
153
154
154
- #[ derive( Debug , Clone , Serialize , Deserialize ) ]
155
+ #[ derive( Debug , Clone , Serialize , Deserialize , TS ) ]
155
156
pub struct UuidWrapper {
156
157
pub uuid : Uuid ,
157
158
}
@@ -174,13 +175,13 @@ impl From<UuidWrapper> for Uuid {
174
175
}
175
176
}
176
177
177
- #[ derive( Debug , Clone , Serialize , Deserialize ) ]
178
+ #[ derive( Debug , Clone , Serialize , Deserialize , TS ) ]
178
179
pub struct CreateStruct {
179
180
pub source : SourceSelection ,
180
181
pub device_selection : DeviceSelection ,
181
182
}
182
183
183
- #[ derive( Debug , Clone , Serialize , Deserialize ) ]
184
+ #[ derive( Debug , Clone , Serialize , Deserialize , TS ) ]
184
185
pub struct DeviceRequestStruct {
185
186
pub uuid : Uuid ,
186
187
pub device_request : crate :: device:: devices:: PingRequest ,
0 commit comments