use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Snapshot {
#[serde(rename = "digest")]
pub digest: String,
#[serde(rename = "beacon")]
pub beacon: models::CardanoDbBeacon,
#[serde(rename = "certificate_hash")]
pub certificate_hash: String,
#[serde(rename = "size")]
pub size: i64,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "locations")]
pub locations: Vec<String>,
#[serde(rename = "compression_algorithm", skip_serializing_if = "Option::is_none")]
pub compression_algorithm: Option<String>,
#[serde(rename = "cardano_node_version", skip_serializing_if = "Option::is_none")]
pub cardano_node_version: Option<String>,
}
impl Snapshot {
pub fn new(digest: String, beacon: models::CardanoDbBeacon, certificate_hash: String, size: i64, created_at: String, locations: Vec<String>) -> Snapshot {
Snapshot {
digest,
beacon,
certificate_hash,
size,
created_at,
locations,
compression_algorithm: None,
cardano_node_version: None,
}
}
}