use crate::entity::{AppDataApiPrice, AppDataApiRating};
use serde::{Deserialize, Serialize};
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
pub struct AppDataApiAppInfoResult {
pub app_id: Option<String>,
#[serde(rename = "type")]
pub item_type: Option<String>,
pub se_domain: Option<String>,
pub location_code: Option<i32>,
pub language_code: Option<String>,
pub check_url: Option<String>,
pub datetime: Option<String>,
pub item_types: Option<Vec<String>>,
pub se_results_count: Option<i64>,
pub items_count: Option<i64>,
pub items: Option<Vec<AppDataApiAppInfoItem>>,
}
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
pub struct AppDataApiAppInfoItem {
#[serde(rename = "type")]
pub item_type: Option<String>,
pub rank_group: Option<i64>,
pub rank_absolute: Option<i64>,
pub position: Option<String>,
pub app_id: Option<String>,
pub title: Option<String>,
pub url: Option<String>,
pub icon: Option<String>,
pub description: Option<String>,
pub reviews_count: Option<i64>,
pub rating: Option<AppDataApiRating>,
pub is_free: Option<bool>,
pub price: Option<AppDataApiPrice>,
pub main_category: Option<String>,
pub installs: Option<String>,
pub installs_count: Option<i64>,
pub developer: Option<String>,
pub developer_id: Option<String>,
pub developer_url: Option<String>,
pub developer_email: Option<String>,
pub developer_address: Option<String>,
pub developer_website: Option<String>,
pub version: Option<String>,
pub minimum_os_version: Option<String>,
pub size: Option<String>,
pub released_date: Option<String>,
pub last_update_date: Option<String>,
pub update_notes: Option<String>,
pub images: Option<Vec<String>>,
pub videos: Option<Vec<String>>,
pub genres: Option<Vec<String>>,
pub tags: Option<Vec<String>>,
}