use serde::{Deserialize, Serialize};
use crate::WorkshopItemTag;
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub(crate) struct WSSearchResponse {
pub total: u32,
pub publishedfiledetails: Vec<WSSearchItem>,
pub next_cursor: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct WSSearchItem {
pub result: i64,
pub publishedfileid: String,
pub creator: String,
pub creator_appid: i64,
pub consumer_appid: i64,
pub consumer_shortcutid: i64,
pub filename: String,
pub file_size: String,
pub preview_file_size: String,
pub file_url: String,
pub preview_url: String,
pub url: String,
pub hcontent_file: String,
pub hcontent_preview: String,
pub title: String,
pub file_description: String,
pub time_created: i64,
pub time_updated: i64,
pub visibility: i64,
pub flags: i64,
pub workshop_file: bool,
pub workshop_accepted: bool,
pub show_subscribe_all: bool,
pub num_comments_public: i64,
pub banned: bool,
pub ban_reason: String,
pub banner: String,
pub can_be_deleted: bool,
pub app_name: String,
pub file_type: i64,
pub can_subscribe: bool,
pub subscriptions: i64,
pub favorited: i64,
pub followers: i64,
pub lifetime_subscriptions: i64,
pub lifetime_favorited: i64,
pub lifetime_followers: i64,
pub lifetime_playtime: String,
pub lifetime_playtime_sessions: String,
pub views: i64,
pub num_children: i64,
pub num_reports: i64,
#[serde(default)]
pub tags: Vec<WorkshopItemTag>,
pub language: i64,
pub maybe_inappropriate_sex: bool,
pub maybe_inappropriate_violence: bool,
pub revision_change_number: String,
pub revision: i64,
pub ban_text_check_result: i64,
pub content_descriptorids: Option<Vec<i64>>,
}