1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
// https://github.com/rust-lang/rust-clippy/issues/6902
#![allow(clippy::use_self)]
// eventually it would be nice to make this a const function so that we could
// just get the version from a variable directly, but this is fine for now
pub fn version() -> u32 {
let major = env!("CARGO_PKG_VERSION_MAJOR");
let minor = env!("CARGO_PKG_VERSION_MINOR");
let patch = env!("CARGO_PKG_VERSION_PATCH");
major.parse::<u32>().unwrap() * 1_000_000
+ minor.parse::<u32>().unwrap() * 1_000
+ patch.parse::<u32>().unwrap()
}
#[derive(serde::Serialize, serde::Deserialize, Debug)]
pub struct Request {
pub tty: Option<String>,
pub action: Action,
}
#[derive(serde::Serialize, serde::Deserialize, Debug)]
#[serde(tag = "type")]
pub enum Action {
Login,
Register,
Unlock,
CheckLock,
Lock,
Sync,
Decrypt {
cipherstring: String,
org_id: Option<String>,
},
Encrypt {
plaintext: String,
org_id: Option<String>,
},
Quit,
Version,
}
#[derive(serde::Serialize, serde::Deserialize, Debug)]
#[serde(tag = "type")]
pub enum Response {
Ack,
Error { error: String },
Decrypt { plaintext: String },
Encrypt { cipherstring: String },
Version { version: u32 },
}
|