use lockchain::errors::Error as LockError;
use serde::{de::DeserializeOwned, Serialize};
#[derive(Serialize, Deserialize)]
pub struct CarrierMessage<T>
where
T: Serialize + DeserializeOwned,
{
pub error: Result<(), LockError>,
#[serde(bound(deserialize = "T: Serialize + DeserializeOwned"))]
pub data: Option<T>,
}
#[derive(Serialize, Deserialize)]
pub struct OperationFailed
{
pub explain: String,
pub error: LockError,
}
#[derive(Serialize, Deserialize)]
pub struct TokenMessage {
pub username: String,
pub token: String,
}
#[derive(Serialize, Deserialize)]
pub struct ApiInformation {
pub version: String,
pub providers: Vec<String>,
pub hostname: Option<String>,
pub supported: String,
}
#[derive(Serialize, Deserialize)]
pub struct VaultList {
pub vaults: Vec<String>,
pub count: usize,
}