@@ -8,6 +8,7 @@ use std::{
8
8
use tokio:: sync:: { mpsc, oneshot} ;
9
9
use tokio_serial:: { SerialPort , SerialPortBuilderExt , SerialStream } ;
10
10
use tracing:: { error, info, trace} ;
11
+ use ts_rs:: TS ;
11
12
use udp_stream:: UdpStream ;
12
13
use uuid:: Uuid ;
13
14
@@ -41,15 +42,15 @@ impl Device {
41
42
}
42
43
}
43
44
44
- #[ derive( Debug , Clone , PartialEq , Serialize , Deserialize ) ]
45
+ #[ derive( Debug , Clone , PartialEq , Serialize , Deserialize , TS ) ]
45
46
pub enum DeviceSelection {
46
47
Common ,
47
48
Ping1D ,
48
49
Ping360 ,
49
50
Auto ,
50
51
}
51
52
52
- #[ derive( Debug , Clone , Deserialize , Serialize , Hash ) ]
53
+ #[ derive( Debug , Clone , Deserialize , Serialize , Hash , TS ) ]
53
54
pub enum SourceSelection {
54
55
UdpStream ( SourceUdpStruct ) ,
55
56
SerialStream ( SourceSerialStruct ) ,
@@ -60,13 +61,13 @@ enum SourceType {
60
61
Serial ( SerialStream ) ,
61
62
}
62
63
63
- #[ derive( Clone , Debug , Deserialize , Serialize , Hash , Apiv2Schema ) ]
64
+ #[ derive( Clone , Debug , Deserialize , Serialize , Hash , Apiv2Schema , TS ) ]
64
65
pub struct SourceUdpStruct {
65
66
pub ip : Ipv4Addr ,
66
67
pub port : u16 ,
67
68
}
68
69
69
- #[ derive( Clone , Debug , Deserialize , Serialize , Hash , Apiv2Schema ) ]
70
+ #[ derive( Clone , Debug , Deserialize , Serialize , Hash , Apiv2Schema , TS ) ]
70
71
pub struct SourceSerialStruct {
71
72
pub path : String ,
72
73
pub baudrate : u32 ,
@@ -119,7 +120,8 @@ pub struct DeviceAnswer {
119
120
pub device_id : Uuid ,
120
121
}
121
122
122
- #[ derive( Debug , Clone , Serialize , Deserialize , Apiv2Schema ) ]
123
+ #[ derive( Debug , Clone , Serialize , Deserialize , Apiv2Schema , TS ) ]
124
+ #[ ts( export, export_to = "RequestModels.ts" ) ]
123
125
pub enum Request {
124
126
Create ( CreateStruct ) ,
125
127
Delete ( Uuid ) ,
@@ -130,13 +132,13 @@ pub enum Request {
130
132
GetDeviceHandler ( Uuid ) ,
131
133
}
132
134
133
- #[ derive( Debug , Clone , Serialize , Deserialize ) ]
135
+ #[ derive( Debug , Clone , Serialize , Deserialize , TS ) ]
134
136
pub struct CreateStruct {
135
137
pub source : SourceSelection ,
136
138
pub device_selection : DeviceSelection ,
137
139
}
138
140
139
- #[ derive( Debug , Clone , Serialize , Deserialize ) ]
141
+ #[ derive( Debug , Clone , Serialize , Deserialize , TS ) ]
140
142
pub struct DeviceRequestStruct {
141
143
pub target : Uuid ,
142
144
pub request : crate :: device:: devices:: PingRequest ,
0 commit comments