use serde::{Deserialize, Serialize};
#[allow(unused_imports)]
use super::*;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PackageNameSummary {
pub display_name: String,
pub name: String,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub architecture: Option<ArchType>,
}
pub struct PackageNameSummaryRequired {
pub display_name: String,
pub name: String,
}
impl PackageNameSummary {
pub fn new(required: PackageNameSummaryRequired) -> Self {
Self {
display_name: required.display_name,
name: required.name,
r#type: None,
version: None,
architecture: None,
}
}
pub fn set_display_name(mut self, value: String) -> Self {
self.display_name = value;
self
}
pub fn set_name(mut self, value: String) -> Self {
self.name = value;
self
}
pub fn set_type(mut self, value: Option<String>) -> Self {
self.r#type = value;
self
}
pub fn set_version(mut self, value: Option<String>) -> Self {
self.version = value;
self
}
pub fn set_architecture(mut self, value: Option<ArchType>) -> Self {
self.architecture = value;
self
}
pub fn with_type(mut self, value: impl Into<String>) -> Self {
self.r#type = Some(value.into());
self
}
pub fn with_version(mut self, value: impl Into<String>) -> Self {
self.version = Some(value.into());
self
}
pub fn with_architecture(mut self, value: ArchType) -> Self {
self.architecture = Some(value);
self
}
}