Files
huso/klotz.go
2022-04-16 18:56:29 +02:00

299 lines
8.5 KiB
Go

package main
import "time"
type AnimeUser struct {
Anime int64 `json:"anime"`
Users []WatchUser `json:"users"`
}
type AnimeUserDetail struct {
Anime int64 `json:"anime"`
Users []WatchUser `json:"users"`
Data Anime `json:"data"`
}
type Anime struct {
Anime int64 `json:"anime"`
Title string `json:"title"`
TitleEn string `json:"title_en"`
TitleJp string `json:"title_jp"`
ImageMediumURL string `json:"image_medium"`
ImageLargeURL string `json:"image_large"`
ImageThumbURL string `json:"image_thumb"`
Type string `json:"type"`
Status string `json:"status"`
Episodes int `json:"episodes"`
Synopsis string `json:"synopsis"`
Genres []AnimeGenre `json:"genres"`
StartDate time.Time `json:"start_date"`
EndDate time.Time `json:"end_date"`
Year int `json:"year"`
Season string `json:"season"`
Score float64 `json:"score"`
ScoredBy int `json:"scored_by"`
Rank int `json:"rank"`
Popularity int `json:"popularity"`
Members int `json:"members"`
Source string `json:"source"`
DayOfTheWeek string `json:"day_of_the_week"`
StartTime string `json:"start_time"`
Studios []AnimeStudio `json:"studios"`
TrailerURL string `json:"trailer_url"`
}
type AnimeGenre struct {
ID int `json:"id"`
Name string `json:"name"`
}
type AnimeStudio struct {
ID int `json:"id"`
Name string `json:"name"`
}
type WatchUser struct {
Username string `json:"username"`
MalID int64 `json:"malId"`
Progress int `json:"progress"`
}
type UserData struct {
Username string `json:"username"`
MalID int64 `json:"malId"`
Secret string `json:"secret"`
}
type RegisterData struct {
Username string `json:"username"`
MalID int64 `json:"malId"`
Secret string `json:"secret"`
Sauce string `json:"sauce"`
}
type AnimeDetailMal struct {
ID int64 `json:"id"`
Title string `json:"title"`
MainPicture struct {
Medium string `json:"medium"`
Large string `json:"large"`
} `json:"main_picture"`
AlternativeTitles struct {
Synonyms []string `json:"synonyms"`
En string `json:"en"`
Ja string `json:"ja"`
} `json:"alternative_titles"`
StartDate string `json:"start_date"`
EndDate string `json:"end_date"`
Synopsis string `json:"synopsis"`
Mean float64 `json:"mean"`
Rank int `json:"rank"`
Popularity int `json:"popularity"`
NumListUsers int `json:"num_list_users"`
NumScoringUsers int `json:"num_scoring_users"`
Nsfw string `json:"nsfw"`
MediaType string `json:"media_type"`
Status string `json:"status"`
Genres []struct {
ID int `json:"id"`
Name string `json:"name"`
} `json:"genres"`
NumEpisodes int `json:"num_episodes"`
StartSeason struct {
Year int `json:"year"`
Season string `json:"season"`
} `json:"start_season"`
Broadcast struct {
DayOfTheWeek string `json:"day_of_the_week"`
StartTime string `json:"start_time"`
} `json:"broadcast"`
Source string `json:"source"`
AverageEpisodeDuration int `json:"average_episode_duration"`
Rating string `json:"rating"`
Studios []struct {
ID int `json:"id"`
Name string `json:"name"`
} `json:"studios"`
}
type AnimeListMal struct {
Data []struct {
Node struct {
ID int64 `json:"id"`
Title string `json:"title"`
MainPicture struct {
Medium string `json:"medium"`
Large string `json:"large"`
} `json:"main_picture"`
} `json:"node"`
} `json:"data"`
Paging struct {
Next string `json:"next"`
} `json:"paging"`
}
type UserJikan struct {
Data struct {
MalID int64 `json:"mal_id"`
Username string `json:"username"`
URL string `json:"url"`
Images struct {
Jpg struct {
ImageURL string `json:"image_url"`
} `json:"jpg"`
Webp struct {
ImageURL string `json:"image_url"`
} `json:"webp"`
} `json:"images"`
LastOnline time.Time `json:"last_online"`
Gender string `json:"gender"`
Birthday time.Time `json:"birthday"`
Location string `json:"location"`
Joined time.Time `json:"joined"`
} `json:"data"`
}
type SeasonMal struct {
Data []struct {
Node struct {
ID int64 `json:"id"`
Title string `json:"title"`
MainPicture struct {
Medium string `json:"medium"`
Large string `json:"large"`
} `json:"main_picture"`
} `json:"node"`
} `json:"data"`
Paging struct {
Next string `json:"next"`
} `json:"paging"`
Season struct {
Year int `json:"year"`
Season string `json:"season"`
} `json:"season"`
}
type SeasonAnimeJikan struct {
MalID int64 `json:"mal_id"`
URL string `json:"url"`
Images struct {
Jpg struct {
ImageURL string `json:"image_url"`
SmallImageURL string `json:"small_image_url"`
LargeImageURL string `json:"large_image_url"`
} `json:"jpg"`
Webp struct {
ImageURL string `json:"image_url"`
SmallImageURL string `json:"small_image_url"`
LargeImageURL string `json:"large_image_url"`
} `json:"webp"`
} `json:"images"`
Trailer struct {
YoutubeID string `json:"youtube_id"`
URL string `json:"url"`
EmbedURL string `json:"embed_url"`
Images struct {
ImageURL string `json:"image_url"`
SmallImageURL string `json:"small_image_url"`
MediumImageURL string `json:"medium_image_url"`
LargeImageURL string `json:"large_image_url"`
MaximumImageURL string `json:"maximum_image_url"`
} `json:"images"`
} `json:"trailer"`
Title string `json:"title"`
TitleEnglish string `json:"title_english"`
TitleJapanese string `json:"title_japanese"`
TitleSynonyms []string `json:"title_synonyms"`
Type string `json:"type"`
Source string `json:"source"`
Episodes int `json:"episodes"`
Status string `json:"status"`
Airing bool `json:"airing"`
Aired struct {
From time.Time `json:"from"`
To time.Time `json:"to"`
Prop struct {
From struct {
Day int `json:"day"`
Month int `json:"month"`
Year int `json:"year"`
} `json:"from"`
To struct {
Day int `json:"day"`
Month int `json:"month"`
Year int `json:"year"`
} `json:"to"`
} `json:"prop"`
String string `json:"string"`
} `json:"aired"`
Duration string `json:"duration"`
Rating string `json:"rating"`
Score float64 `json:"score"`
ScoredBy int `json:"scored_by"`
Rank int `json:"rank"`
Popularity int `json:"popularity"`
Members int `json:"members"`
Favorites int `json:"favorites"`
Synopsis string `json:"synopsis"`
Background string `json:"background"`
Season string `json:"season"`
Year int `json:"year"`
Broadcast struct {
Day string `json:"day"`
Time string `json:"time"`
Timezone string `json:"timezone"`
String string `json:"string"`
} `json:"broadcast"`
Producers []struct {
MalID int `json:"mal_id"`
Type string `json:"type"`
Name string `json:"name"`
URL string `json:"url"`
} `json:"producers"`
Licensors []struct {
MalID int `json:"mal_id"`
Type string `json:"type"`
Name string `json:"name"`
URL string `json:"url"`
} `json:"licensors"`
Studios []struct {
MalID int `json:"mal_id"`
Type string `json:"type"`
Name string `json:"name"`
URL string `json:"url"`
} `json:"studios"`
Genres []struct {
MalID int `json:"mal_id"`
Type string `json:"type"`
Name string `json:"name"`
URL string `json:"url"`
} `json:"genres"`
ExplicitGenres []interface{} `json:"explicit_genres"`
Themes []struct {
MalID int `json:"mal_id"`
Type string `json:"type"`
Name string `json:"name"`
URL string `json:"url"`
} `json:"themes"`
Demographics []struct {
MalID int `json:"mal_id"`
Type string `json:"type"`
Name string `json:"name"`
URL string `json:"url"`
} `json:"demographics"`
}
type SeasonJikan struct {
Pagination struct {
LastVisiblePage int `json:"last_visible_page"`
HasNextPage bool `json:"has_next_page"`
CurrentPage int `json:"current_page"`
Items struct {
Count int `json:"count"`
Total int `json:"total"`
PerPage int `json:"per_page"`
} `json:"items"`
} `json:"pagination"`
Data []SeasonAnimeJikan `json:"data"`
}