use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AdminAssetBundle {
#[serde(rename = "_created_at")]
pub _created_at: String,
#[serde(rename = "_updated_at")]
pub _updated_at: String,
#[serde(rename = "assetType")]
pub asset_type: String,
#[serde(rename = "authorId")]
pub author_id: String,
#[serde(rename = "authorName")]
pub author_name: String,
#[serde(rename = "description")]
pub description: String,
#[serde(rename = "imageUrl")]
pub image_url: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "releaseStatus")]
pub release_status: models::ReleaseStatus,
#[serde(rename = "tags")]
pub tags: Vec<String>,
#[serde(rename = "thumbnailImageUrl")]
pub thumbnail_image_url: String,
#[serde(rename = "unityPackageUrl", deserialize_with = "Option::deserialize")]
pub unity_package_url: Option<String>,
#[serde(rename = "unityPackages")]
pub unity_packages: Vec<models::AdminUnityPackage>,
}
impl AdminAssetBundle {
pub fn new(
_created_at: String,
_updated_at: String,
asset_type: String,
author_id: String,
author_name: String,
description: String,
image_url: String,
name: String,
release_status: models::ReleaseStatus,
tags: Vec<String>,
thumbnail_image_url: String,
unity_package_url: Option<String>,
unity_packages: Vec<models::AdminUnityPackage>,
) -> AdminAssetBundle {
AdminAssetBundle {
_created_at,
_updated_at,
asset_type,
author_id,
author_name,
description,
image_url,
name,
release_status,
tags,
thumbnail_image_url,
unity_package_url,
unity_packages,
}
}
}