use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CertificateKeyPair {
#[serde(rename = "pk")]
pub pk: uuid::Uuid,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "fingerprint_sha256", deserialize_with = "Option::deserialize")]
pub fingerprint_sha256: Option<String>,
#[serde(rename = "fingerprint_sha1", deserialize_with = "Option::deserialize")]
pub fingerprint_sha1: Option<String>,
#[serde(rename = "cert_expiry", deserialize_with = "Option::deserialize")]
pub cert_expiry: Option<String>,
#[serde(rename = "cert_subject", deserialize_with = "Option::deserialize")]
pub cert_subject: Option<String>,
#[serde(rename = "private_key_available")]
pub private_key_available: bool,
#[serde(rename = "private_key_type", deserialize_with = "Option::deserialize")]
pub private_key_type: Option<String>,
#[serde(rename = "certificate_download_url")]
pub certificate_download_url: String,
#[serde(rename = "private_key_download_url")]
pub private_key_download_url: String,
#[serde(rename = "managed", deserialize_with = "Option::deserialize")]
pub managed: Option<String>,
}
impl CertificateKeyPair {
pub fn new(
pk: uuid::Uuid,
name: String,
fingerprint_sha256: Option<String>,
fingerprint_sha1: Option<String>,
cert_expiry: Option<String>,
cert_subject: Option<String>,
private_key_available: bool,
private_key_type: Option<String>,
certificate_download_url: String,
private_key_download_url: String,
managed: Option<String>,
) -> CertificateKeyPair {
CertificateKeyPair {
pk,
name,
fingerprint_sha256,
fingerprint_sha1,
cert_expiry,
cert_subject,
private_key_available,
private_key_type,
certificate_download_url,
private_key_download_url,
managed,
}
}
}