#[cfg(feature = "rest-api-actix-web-1")]
pub mod rest_api;
pub mod store;
#[cfg(feature = "diesel")]
use store::diesel::models::KeyModel;
#[derive(Clone, Debug, PartialEq)]
pub struct Key {
pub public_key: String,
pub encrypted_private_key: String,
pub user_id: String,
pub display_name: String,
}
impl Key {
pub fn new(
public_key: &str,
encrypted_private_key: &str,
user_id: &str,
display_name: &str,
) -> Self {
Key {
public_key: public_key.to_string(),
encrypted_private_key: encrypted_private_key.to_string(),
user_id: user_id.to_string(),
display_name: display_name.to_string(),
}
}
}
#[cfg(feature = "diesel")]
impl From<KeyModel> for Key {
fn from(key: KeyModel) -> Self {
Key {
public_key: key.public_key,
encrypted_private_key: key.encrypted_private_key,
user_id: key.user_id,
display_name: key.display_name,
}
}
}
#[cfg(feature = "diesel")]
impl From<Key> for KeyModel {
fn from(key: Key) -> Self {
Self {
public_key: key.public_key,
encrypted_private_key: key.encrypted_private_key,
user_id: key.user_id,
display_name: key.display_name,
}
}
}