|
|
@ -1,30 +1,50 @@ |
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
|
|
struct AnimeBoxesBackup {
|
|
|
|
backupTime: String,
|
|
|
|
backupVersion: String,
|
|
|
|
bannedTags: Vec<String>,
|
|
|
|
creatorName: String,
|
|
|
|
creatorVersion: String,
|
|
|
|
#[serde(rename(serialize = "backupTime", deserialize = "backup_time"))]
|
|
|
|
backup_time: String,
|
|
|
|
#[serde(rename(serialize = "backupVersion", deserialize = "backup_version"))]
|
|
|
|
backup_version: String,
|
|
|
|
#[serde(rename(serialize = "bannedTags", deserialize = "banned_tags"))]
|
|
|
|
banned_tags: Vec<String>,
|
|
|
|
#[serde(rename(serialize = "creatorName", deserialize = "creator_name"))]
|
|
|
|
creator_name: String,
|
|
|
|
#[serde(rename(serialize = "creatorVersion", deserialize = "creator_version"))]
|
|
|
|
creator_version: String,
|
|
|
|
favorites: Vec<AnimeBoxesFavorite>,
|
|
|
|
searchHistory: Vec<AnimeBoxesSearch>,
|
|
|
|
#[serde(rename(serialize = "searchHistory", deserialize = "search_history"))]
|
|
|
|
search_history: Vec<AnimeBoxesSearch>,
|
|
|
|
servers: Vec<AnimeBoxesServer>,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
|
|
struct AnimeBoxesFavorite {
|
|
|
|
dateAdded: String,
|
|
|
|
disableStorage: bool,
|
|
|
|
enforceOriginalImage: bool,
|
|
|
|
#[serde(rename(serialize = "dateAdded", deserialize = "date_added"))]
|
|
|
|
date_added: String,
|
|
|
|
#[serde(rename(serialize = "disableStorage", deserialize = "disable_storage"))]
|
|
|
|
disable_storage: bool,
|
|
|
|
#[serde(rename(
|
|
|
|
serialize = "enforceOriginalImage",
|
|
|
|
deserialize = "enforce_original_image"
|
|
|
|
))]
|
|
|
|
enforce_original_image: bool,
|
|
|
|
file: AnimeBoxesFavoriteFile,
|
|
|
|
has_children: bool,
|
|
|
|
has_comments: bool,
|
|
|
|
has_notes: bool,
|
|
|
|
imageIsVisible: bool,
|
|
|
|
isFavorite: bool,
|
|
|
|
isVisible: bool,
|
|
|
|
#[serde(rename(serialize = "imageIsVisible", deserialize = "image_is_visible"))]
|
|
|
|
image_is_visible: bool,
|
|
|
|
#[serde(rename(serialize = "isFavorite", deserialize = "is_favorite"))]
|
|
|
|
is_favorite: bool,
|
|
|
|
#[serde(rename(serialize = "isVisible", deserialize = "is_visible"))]
|
|
|
|
is_visible: bool,
|
|
|
|
jpeg: Option<AnimeBoxesFavoriteJpeg>,
|
|
|
|
md5: String,
|
|
|
|
parent_id: String,
|
|
|
|
ppost_id: String,
|
|
|
|
ppostUrl: String,
|
|
|
|
#[serde(rename(serialize = "ppostUrl", deserialize = "ppost_url"))]
|
|
|
|
ppost_url: String,
|
|
|
|
preview: AnimeBoxesFavoritePreview,
|
|
|
|
rating: String,
|
|
|
|
sample: AnimeBoxesFavoriteSample,
|
|
|
@ -37,57 +57,86 @@ struct AnimeBoxesFavorite { |
|
|
|
tags: String,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
|
|
struct AnimeBoxesFavoriteFile {
|
|
|
|
contentType: i8,
|
|
|
|
#[serde(rename(serialize = "contentType", deserialize = "content_type"))]
|
|
|
|
content_type: i8,
|
|
|
|
ext: String,
|
|
|
|
height: i16,
|
|
|
|
url: String,
|
|
|
|
width: i16,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
|
|
struct AnimeBoxesFavoriteJpeg {
|
|
|
|
contentType: i8,
|
|
|
|
#[serde(rename(serialize = "contentType", deserialize = "content_type"))]
|
|
|
|
content_type: i8,
|
|
|
|
ext: String,
|
|
|
|
height: i16,
|
|
|
|
url: String,
|
|
|
|
width: i16,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
|
|
struct AnimeBoxesFavoritePreview {
|
|
|
|
contentType: i8,
|
|
|
|
#[serde(rename(serialize = "contentType", deserialize = "content_type"))]
|
|
|
|
content_type: i8,
|
|
|
|
ext: String,
|
|
|
|
height: i16,
|
|
|
|
url: String,
|
|
|
|
width: i16,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
|
|
struct AnimeBoxesFavoriteSample {
|
|
|
|
contentType: i8,
|
|
|
|
#[serde(rename(serialize = "contentType", deserialize = "content_type"))]
|
|
|
|
content_type: i8,
|
|
|
|
ext: String,
|
|
|
|
height: i16,
|
|
|
|
url: String,
|
|
|
|
width: i16,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
|
|
struct AnimeBoxesSearch {
|
|
|
|
itemId: i32,
|
|
|
|
searchDate: String,
|
|
|
|
searchText: String,
|
|
|
|
#[serde(rename(serialize = "itemId", deserialize = "item_id"))]
|
|
|
|
item_id: i32,
|
|
|
|
#[serde(rename(serialize = "searchDate", deserialize = "search_date"))]
|
|
|
|
search_date: String,
|
|
|
|
#[serde(rename(serialize = "searchText", deserialize = "search_text"))]
|
|
|
|
search_text: String,
|
|
|
|
starred: bool,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
|
|
struct AnimeBoxesServer {
|
|
|
|
apikey: String,
|
|
|
|
isDefault: bool,
|
|
|
|
isSelected: bool,
|
|
|
|
#[serde(rename(serialize = "isDefault", deserialize = "is_default"))]
|
|
|
|
is_default: bool,
|
|
|
|
#[serde(rename(serialize = "isSelected", deserialize = "is_selected"))]
|
|
|
|
is_selected: bool,
|
|
|
|
password: String,
|
|
|
|
passwordKey: String,
|
|
|
|
ratingFilterEnabled: bool,
|
|
|
|
realURL: String,
|
|
|
|
serverId: i16,
|
|
|
|
serverName: String,
|
|
|
|
#[serde(rename(serialize = "passwordKey", deserialize = "password_key"))]
|
|
|
|
password_key: String,
|
|
|
|
#[serde(rename(
|
|
|
|
serialize = "ratingFilterEnabled",
|
|
|
|
deserialize = "rating_filter_enabled"
|
|
|
|
))]
|
|
|
|
rating_filter_enabled: bool,
|
|
|
|
#[serde(rename(serialize = "realURL", deserialize = "real_url"))]
|
|
|
|
real_url: String,
|
|
|
|
#[serde(rename(serialize = "serverId", deserialize = "server_id"))]
|
|
|
|
server_id: i16,
|
|
|
|
#[serde(rename(serialize = "serverName", deserialize = "server_name"))]
|
|
|
|
server_name: String,
|
|
|
|
#[serde(rename(serialize = "type", deserialize = "type_"))]
|
|
|
|
type_: i16,
|
|
|
|
url: String,
|
|
|
|
useNativeAutocomplete: bool,
|
|
|
|
userName: String,
|
|
|
|
#[serde(rename(
|
|
|
|
serialize = "useNativeAutocomplete",
|
|
|
|
deserialize = "use_native_autocomplete"
|
|
|
|
))]
|
|
|
|
use_native_autocomplete: bool,
|
|
|
|
#[serde(rename(serialize = "userName", deserialize = "user_name"))]
|
|
|
|
user_name: String,
|
|
|
|
}
|