lair_keystore_api/lair_api/
hello.rs1use super::*;
2
3#[derive(Debug, serde::Serialize, serde::Deserialize)]
5#[serde(rename_all = "camelCase")]
6pub struct LairApiReqHello {
7 pub msg_id: Arc<str>,
9}
10
11impl LairApiReqHello {
12 pub fn new() -> Self {
14 Self {
15 msg_id: new_msg_id(),
16 }
17 }
18}
19
20impl std::convert::TryFrom<LairApiEnum> for LairApiReqHello {
21 type Error = one_err::OneErr;
22
23 fn try_from(e: LairApiEnum) -> Result<Self, Self::Error> {
24 if let LairApiEnum::ReqHello(s) = e {
25 Ok(s)
26 } else {
27 Err(format!("Invalid response type: {e:?}").into())
28 }
29 }
30}
31
32impl AsLairCodec for LairApiReqHello {
33 fn into_api_enum(self) -> LairApiEnum {
34 LairApiEnum::ReqHello(self)
35 }
36}
37
38#[derive(Debug, serde::Serialize, serde::Deserialize)]
41#[serde(rename_all = "camelCase")]
42pub struct LairApiResHello {
43 pub msg_id: Arc<str>,
45
46 pub name: Arc<str>,
48
49 pub version: Arc<str>,
51
52 pub server_pub_key: BinDataSized<32>,
54}
55
56impl std::convert::TryFrom<LairApiEnum> for LairApiResHello {
57 type Error = one_err::OneErr;
58
59 fn try_from(e: LairApiEnum) -> Result<Self, Self::Error> {
60 if let LairApiEnum::ResHello(s) = e {
61 Ok(s)
62 } else {
63 Err(format!("Invalid response type: {e:?}").into())
64 }
65 }
66}
67
68impl AsLairCodec for LairApiResHello {
69 fn into_api_enum(self) -> LairApiEnum {
70 LairApiEnum::ResHello(self)
71 }
72}
73
74impl AsLairRequest for LairApiReqHello {
75 type Response = LairApiResHello;
76}
77
78impl AsLairResponse for LairApiResHello {
79 type Request = LairApiReqHello;
80}