use crate::entity::AppDataApiRating;
use serde::{Deserialize, Serialize};
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
pub struct AppDataApiAppReviewsResult {
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 title: Option<String>,
pub rating: Option<AppDataApiRating>,
pub reviews_count: Option<i64>,
pub item_types: Option<Vec<String>>,
pub items_count: Option<i64>,
pub items: Option<Vec<AppDataApiAppReviewsItem>>,
}
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
pub struct AppDataApiAppReviewsItem {
#[serde(rename = "type")]
pub item_type: Option<String>,
pub rank_group: Option<i64>,
pub rank_absolute: Option<i64>,
pub position: Option<String>,
pub id: Option<String>,
pub version: Option<String>,
pub title: Option<String>,
pub review_text: Option<String>,
pub timestamp: Option<String>,
pub helpful_count: Option<i64>,
pub rating: Option<AppDataApiRating>,
pub user_profile: Option<AppDataApiReviewUserProfile>,
pub responses: Option<Vec<AppDataApiReviewResponse>>,
}
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
pub struct AppDataApiReviewUserProfile {
pub profile_name: Option<String>,
pub profile_image_url: Option<String>,
pub profile_url: Option<String>,
}
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
pub struct AppDataApiReviewResponse {
pub author: Option<String>,
pub title: Option<String>,
pub text: Option<String>,
pub timestamp: Option<String>,
}