use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
pub struct SearchInputResolved {
#[serde(default, skip_serializing_if = "String::is_empty")]
pub keyword: String,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
pub struct SearchRsp {
#[serde(default)]
pub layouts: Vec<SearchLayout>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
pub struct SearchLayout {
#[serde(rename = "LayoutType")]
pub layout_type: u32,
#[serde(rename = "ActionType")]
pub action_type: u32,
#[serde(rename = "Title")]
pub title: String,
#[serde(rename = "Records", default)]
pub records: Vec<SearchRecord>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
pub struct SearchRecord {
#[serde(default)]
pub cover: String,
#[serde(default)]
pub title: String,
#[serde(default)]
pub tips: String,
#[serde(rename = "url", alias = "URL", default)]
pub url: String,
}