use super::{CommonSourceControl, PackageList};
use crate::control::{FileDigestMd5, FileDigestSha1, FileDigestSha256};
#[cfg(feature = "serde")]
use ::serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "serde", serde(rename_all = "PascalCase"))]
pub struct SourceControl {
pub format: String,
pub package: String,
#[cfg_attr(feature = "serde", serde(flatten))]
pub control: CommonSourceControl,
#[cfg_attr(feature = "serde", serde(rename = "Package-List"))]
pub package_list: Option<Vec<PackageList>>,
pub files: Vec<FileDigestMd5>,
#[cfg_attr(feature = "serde", serde(rename = "Checksums-Sha1"))]
pub checksum_sha1: Option<Vec<FileDigestSha1>>,
#[cfg_attr(feature = "serde", serde(rename = "Checksums-Sha256"))]
pub checksum_sha256: Vec<FileDigestSha256>,
}