wiki-tui 0.4.1

A simple and easy to use Wikipedia Text User Interface
use serde::*;

#[derive(Deserialize, Debug, Clone)]
pub struct SearchResponse {
    #[serde(rename = "continue")]
    #[serde(default)]
    pub continue_code: ContinueCode,
    pub query: QuerySearch,
}

#[derive(Deserialize, Debug, Clone)]
pub struct ContinueCode {
    #[serde(rename = "continue")]
    pub continue_code: String,
    #[serde(rename = "sroffset")]
    pub scroll_offset: i32,
}

#[derive(Deserialize, Debug, Clone)]
pub struct QuerySearch {
    pub search: Vec<SearchResult>,
    #[serde(rename = "searchinfo")]
    pub search_info: SearchInfo,
}

#[derive(Deserialize, Debug, Clone)]
pub struct SearchResult {
    #[serde(rename = "pageid")]
    pub page_id: i32,
    pub size: i32,
    pub snippet: String,
    pub timestamp: String,
    pub title: String,
    #[serde(rename = "wordcount")]
    pub word_count: i32,
}

#[derive(Deserialize, Debug, Clone)]
pub struct SearchInfo {
    #[serde(rename = "totalhits")]
    pub total_hits: i32,
}

impl Default for ContinueCode {
    fn default() -> ContinueCode {
        ContinueCode {
            continue_code: "".to_string(),
            scroll_offset: 0,
        }
    }
}