use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FavoritedWorld {
#[serde(rename = "authorId", skip_serializing_if = "Option::is_none")]
pub author_id: Option<String>,
#[serde(rename = "authorName")]
pub author_name: String,
#[serde(rename = "capacity")]
pub capacity: i32,
#[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(
rename = "defaultContentSettings",
skip_serializing_if = "Option::is_none"
)]
pub default_content_settings: Option<models::InstanceContentSettings>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "favoriteGroup")]
pub favorite_group: String,
#[serde(rename = "favoriteId")]
pub favorite_id: String,
#[serde(rename = "favorites", skip_serializing_if = "Option::is_none")]
pub favorites: Option<i32>,
#[serde(rename = "featured", skip_serializing_if = "Option::is_none")]
pub featured: Option<bool>,
#[serde(rename = "heat", skip_serializing_if = "Option::is_none")]
pub heat: Option<i32>,
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "imageUrl")]
pub image_url: String,
#[serde(
rename = "labsPublicationDate",
skip_serializing_if = "Option::is_none"
)]
pub labs_publication_date: Option<String>,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "occupants")]
pub occupants: i32,
#[serde(rename = "organization", skip_serializing_if = "Option::is_none")]
pub organization: Option<String>,
#[serde(rename = "popularity", skip_serializing_if = "Option::is_none")]
pub popularity: Option<i32>,
#[serde(
rename = "previewYoutubeId",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub preview_youtube_id: Option<Option<String>>,
#[serde(rename = "publicationDate", skip_serializing_if = "Option::is_none")]
pub publication_date: Option<String>,
#[serde(
rename = "recommendedCapacity",
skip_serializing_if = "Option::is_none"
)]
pub recommended_capacity: Option<i32>,
#[serde(rename = "releaseStatus")]
pub release_status: models::ReleaseStatus,
#[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(rename = "thumbnailImageUrl")]
pub thumbnail_image_url: String,
#[serde(rename = "udonProducts", skip_serializing_if = "Option::is_none")]
pub udon_products: Option<Vec<String>>,
#[serde(rename = "unityPackages", skip_serializing_if = "Option::is_none")]
pub unity_packages: Option<Vec<models::UnityPackage>>,
#[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "urlList", skip_serializing_if = "Option::is_none")]
pub url_list: Option<Vec<String>>,
#[serde(rename = "version", skip_serializing_if = "Option::is_none")]
pub version: Option<i32>,
#[serde(rename = "visits", skip_serializing_if = "Option::is_none")]
pub visits: Option<i32>,
}
impl FavoritedWorld {
pub fn new(
author_name: String,
capacity: i32,
favorite_group: String,
favorite_id: String,
id: String,
image_url: String,
name: String,
occupants: i32,
release_status: models::ReleaseStatus,
thumbnail_image_url: String,
) -> FavoritedWorld {
FavoritedWorld {
author_id: None,
author_name,
capacity,
created_at: None,
default_content_settings: None,
description: None,
favorite_group,
favorite_id,
favorites: None,
featured: None,
heat: None,
id,
image_url,
labs_publication_date: None,
name,
occupants,
organization: None,
popularity: None,
preview_youtube_id: None,
publication_date: None,
recommended_capacity: None,
release_status,
tags: None,
thumbnail_image_url,
udon_products: None,
unity_packages: None,
updated_at: None,
url_list: None,
version: None,
visits: None,
}
}
}