use serde::{Deserialize, Serialize};
use crate::account::key_store::KeyStoreConfig;
use crate::crypt::master_key::MasterKeyConfig;
#[allow(clippy::ptr_arg)]
pub mod b64 {
use serde::{Deserialize, Deserializer, Serializer};
pub fn serialize<S: Serializer>(
bytes: &Vec<u8>,
ser: S,
) -> Result<S::Ok, S::Error> {
ser.serialize_str(&base64::encode(bytes))
}
pub fn deserialize<'a, D: Deserializer<'a>>(
de: D,
) -> Result<Vec<u8>, D::Error> {
use serde::de::Error;
String::deserialize(de).and_then(|s| {
base64::decode(&s).map_err(|err| Error::custom(err.to_string()))
})
}
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct UserConfig {
pub master_key: MasterKeyConfig,
pub key_store: KeyStoreConfig,
}