use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct UnityPackage {
#[serde(
rename = "assetUrl",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub asset_url: Option<Option<String>>,
#[serde(rename = "assetUrlObject", skip_serializing_if = "Option::is_none")]
pub asset_url_object: Option<serde_json::Value>,
#[serde(rename = "assetVersion")]
pub asset_version: i32,
#[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "id")]
pub id: String,
#[serde(
rename = "impostorUrl",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub impostor_url: Option<Option<String>>,
#[serde(
rename = "impostorizerVersion",
skip_serializing_if = "Option::is_none"
)]
pub impostorizer_version: Option<String>,
#[serde(rename = "performanceRating", skip_serializing_if = "Option::is_none")]
pub performance_rating: Option<models::PerformanceRatings>,
#[serde(rename = "platform")]
pub platform: String,
#[serde(rename = "pluginUrl", skip_serializing_if = "Option::is_none")]
pub plugin_url: Option<String>,
#[serde(rename = "pluginUrlObject", skip_serializing_if = "Option::is_none")]
pub plugin_url_object: Option<serde_json::Value>,
#[serde(rename = "scanStatus", skip_serializing_if = "Option::is_none")]
pub scan_status: Option<String>,
#[serde(rename = "unitySortNumber", skip_serializing_if = "Option::is_none")]
pub unity_sort_number: Option<i64>,
#[serde(rename = "unityVersion")]
pub unity_version: String,
#[serde(rename = "variant", skip_serializing_if = "Option::is_none")]
pub variant: Option<String>,
#[serde(
rename = "worldSignature",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub world_signature: Option<Option<String>>,
}
impl UnityPackage {
pub fn new(
asset_version: i32,
id: String,
platform: String,
unity_version: String,
) -> UnityPackage {
UnityPackage {
asset_url: None,
asset_url_object: None,
asset_version,
created_at: None,
id,
impostor_url: None,
impostorizer_version: None,
performance_rating: None,
platform,
plugin_url: None,
plugin_url_object: None,
scan_status: None,
unity_sort_number: None,
unity_version,
variant: None,
world_signature: None,
}
}
}