1#[derive(Debug, Serialize, Deserialize)]
2pub enum Stat {
3 #[serde(rename = "ok")]
4 Ok,
5 #[serde(rename = "fail")]
6 Fail,
7}
8
9#[derive(Debug, Deserialize)]
10pub struct Response<T> {
11 pub stat: Stat,
12 pub result: Option<T>,
13 pub message: Option<String>,
14 pub code: Option<u32>,
15}
16
17impl<T> Response<T> {
18 pub fn from_result(result: T) -> Self {
19 Response {
20 stat: Stat::Ok,
21 result: Some(result),
22 message: None,
23 code: None,
24 }
25 }
26
27 pub fn from_error(message: String, code: u32) -> Self {
28 Response {
29 stat: Stat::Fail,
30 result: None,
31 message: Some(message),
32 code: Some(code),
33 }
34 }
35}