esix 0.1.1

A simple wrapper of the e621 API
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize)]
pub struct Posts {
    pub posts: Vec<Post>,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct Post {
    pub id: u64,
    pub created_at: String,
    pub updated_at: String,
    pub file: File,
    pub preview: Preview,
    pub sample: Sample,
    pub score: Score,
    pub tags: Tags,
    pub locked_tags: Vec<String>,
    pub change_seq: u64,
    pub flags: Flags,
    pub rating: String,
    pub fav_count: u64,
    pub sources: Vec<String>,
    pub pools: Vec<u64>,
    pub relationships: Relationships,
    pub approver_id: Option<u64>,
    pub uploader_id: u64,
    pub description: String,
    pub comment_count: u64,
    pub is_favorited: bool,
    pub has_notes: bool,
    pub duration: Option<u64>,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct File {
    pub width: u64,
    pub height: u64,
    pub ext: String,
    pub size: u64,
    pub md5: String,
    pub url: String,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct Preview {
    pub width: u64,
    pub height: u64,
    pub url: String,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct Sample {
    pub has: bool,
    pub height: u64,
    pub width: u64,
    pub url: String,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct Score {
    pub up: u64,
    pub down: u64,
    pub total: u64,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct Tags {
    pub general: Vec<String>,
    pub artist: Vec<String>,
    pub contributor: Vec<String>,
    pub copyright: Vec<String>,
    pub character: Vec<String>,
    pub species: Vec<String>,
    pub invalid: Vec<String>,
    pub meta: Vec<String>,
    pub lore: Vec<String>,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct Flags {
    pub pending: bool,
    pub flagged: bool,
    pub note_locked: bool,
    pub status_locked: bool,
    pub rating_locked: bool,
    pub deleted: bool,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct Relationships {
    pub parent_id: Option<u64>,
    pub has_children: bool,
    pub has_active_children: bool,
    pub children: Vec<u64>,
}