email/account/config/pgp/
cmds.rs

1use mml::pgp::{Pgp, PgpCommands};
2use process::Command;
3
4#[derive(Clone, Debug, Default, Eq, PartialEq)]
5#[cfg_attr(
6    feature = "derive",
7    derive(serde::Serialize, serde::Deserialize),
8    serde(rename_all = "kebab-case")
9)]
10pub struct PgpCommandsConfig {
11    pub encrypt_cmd: Option<Command>,
12    pub encrypt_recipient_fmt: Option<String>,
13    pub encrypt_recipients_sep: Option<String>,
14    pub decrypt_cmd: Option<Command>,
15    pub sign_cmd: Option<Command>,
16    pub verify_cmd: Option<Command>,
17}
18
19impl From<PgpCommandsConfig> for Pgp {
20    fn from(config: PgpCommandsConfig) -> Self {
21        Pgp::Commands(PgpCommands {
22            encrypt_cmd: config.encrypt_cmd,
23            encrypt_recipient_fmt: config.encrypt_recipient_fmt,
24            encrypt_recipients_sep: config.encrypt_recipients_sep,
25            decrypt_cmd: config.decrypt_cmd,
26            sign_cmd: config.sign_cmd,
27            verify_cmd: config.verify_cmd,
28        })
29    }
30}