Documentation ¶
Overview ¶
Package model contains all models for malscraper.
Index ¶
- type AlternativeTitle
- type Anime
- type AnimeItem
- type AnimeSearch
- type Article
- type ArticleItem
- type ArticleRelated
- type ArticleTagItem
- type Character
- type CharacterItem
- type CharacterSearch
- type Club
- type ClubAdmin
- type ClubItem
- type ClubMember
- type ClubQuery
- type ClubRelated
- type ClubSearch
- type Date
- type Episode
- type Item
- type ItemCount
- type Manga
- type MangaItem
- type MangaSearch
- type News
- type NewsItem
- type NewsRelated
- type NewsTag
- type NewsTagItem
- type People
- type PeopleCharacter
- type PeopleSearch
- type Query
- type Recommendation
- type RecommendationUser
- type Related
- type RelatedItem
- type Review
- type ReviewScore
- type Role
- type Season
- type Song
- type Source
- type StartEndDate
- type Stats
- type StatsScore
- type StatsScoreItem
- type StatsSummary
- type TopAnime
- type TopCharacter
- type TopManga
- type TopPeople
- type User
- type UserAnime
- type UserAnimeStats
- type UserFavorite
- type UserFavoriteItem
- type UserFriend
- type UserHistory
- type UserListQuery
- type UserManga
- type UserMangaStats
- type UserQuery
- type UserRawAnime
- type UserRawManga
- type UserSearch
- type UserStats
- type Video
- type VideoEpisode
- type VideoPromo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AlternativeTitle ¶
type AlternativeTitle struct { English string `json:"english"` Synonym string `json:"synonym"` Japanese string `json:"japanese"` }
AlternativeTitle represents alternative english, synonym, and japanese title of anime/manga.
type Anime ¶
type Anime struct { ID int `json:"id"` Title string `json:"title"` AlternativeTitles AlternativeTitle `json:"alternativeTitles"` Image string `json:"image"` Video string `json:"video"` Synopsis string `json:"synopsis"` Score float64 `json:"score"` Voter int `json:"voter"` Rank int `json:"rank"` Popularity int `json:"popularity"` Member int `json:"member"` Favorite int `json:"favorite"` Type string `json:"type"` Episode int `json:"episode"` Status string `json:"status"` AiringDate StartEndDate `json:"airingDate"` Premiered string `json:"premiered"` Broadcast string `json:"broadcast"` Source string `json:"source"` Duration string `json:"duration"` Rating string `json:"rating"` Producers []Item `json:"producers"` Licensors []Item `json:"licensors"` Studios []Item `json:"studios"` Genres []Item `json:"genres"` Related Related `json:"related"` Song Song `json:"song"` }
Anime represent main anime model.
type AnimeItem ¶
type AnimeItem struct { ID int `json:"id"` Title string `json:"title"` Image string `json:"image"` Source string `json:"source"` Episode int `json:"episode"` Type string `json:"type"` Member int `json:"member"` Score float64 `json:"score"` StartDate Date `json:"startDate"` Synopsis string `json:"synopsis"` Genres []Item `json:"genres"` Producers []Item `json:"producers"` Licensors []string `json:"licensors"` }
AnimeItem represents simpler anime model for producer/seasonal anime.
type AnimeSearch ¶
type AnimeSearch struct { ID int `json:"id"` Title string `json:"title"` Image string `json:"image"` Summary string `json:"summary"` Type string `json:"type"` Episode int `json:"episode"` Score float64 `json:"score"` StartDate Date `json:"startDate"` EndDate Date `json:"endDate"` Member int `json:"member"` Rated string `json:"rated"` }
AnimeSearch represents anime search result model.
type Article ¶
type Article struct { ID int `json:"id"` Title string `json:"title"` Summary string `json:"summary"` Content string `json:"content"` Date time.Time `json:"date"` Username string `json:"username"` View int `json:"view"` IsSpoiler bool `json:"is_spoiler"` IsAdvertorial bool `json:"is_advertorial"` Tags []string `json:"tags"` Related ArticleRelated `json:"related"` }
Article represents main featured article model.
type ArticleItem ¶
type ArticleItem struct { ID int `json:"id"` Title string `json:"title"` Image string `json:"image"` Summary string `json:"summary"` Username string `json:"username"` View int `json:"view"` IsSpoiler bool `json:"is_spoiler"` IsAdvertorial bool `json:"is_advertorial"` Tags []string `json:"tags"` }
ArticleItem represents simple featured article model.
type ArticleRelated ¶
type ArticleRelated struct { Anime []Item `json:"anime"` Manga []Item `json:"manga"` People []Item `json:"people"` Character []Item `json:"character"` }
ArticleRelated represents featured article relation model.
type ArticleTagItem ¶
ArticleTagItem represents featured article tag.
type Character ¶
type Character struct { ID int `json:"id"` Name string `json:"name"` Nickname string `json:"nickname"` JapaneseName string `json:"japaneseName"` Image string `json:"image"` Favorite int `json:"favorite"` About string `json:"about"` }
Character represents main character model.
type CharacterItem ¶
type CharacterItem struct { ID int `json:"id"` Name string `json:"name"` Image string `json:"image"` Role string `json:"role"` VoiceActors []Role `json:"voiceActors"` }
CharacterItem represents character role model in anime/manga.
type CharacterSearch ¶
type CharacterSearch struct { ID int `json:"id"` Name string `json:"name"` Nickname string `json:"nickname"` Image string `json:"image"` }
CharacterSearch represents character search result model.
type Club ¶
type Club struct { ID int `json:"id"` Name string `json:"name"` Image string `json:"image"` Information string `json:"information"` Category string `json:"category"` Type string `json:"type"` Member int `json:"member"` Picture int `json:"picture"` CreatedDate time.Time `json:"createdDate"` Admins []ClubAdmin `json:"admins"` }
Club represents main club model.
type ClubMember ¶
ClubMember represents club's member model.
type ClubRelated ¶
type ClubRelated struct { Anime []Item `json:"anime"` Manga []Item `json:"manga"` Character []Item `json:"character"` }
ClubRelated represents club related model.
type ClubSearch ¶
type ClubSearch struct { ID int `json:"id"` Name string `json:"name"` Image string `json:"image"` Summary string `json:"summary"` Creator string `json:"creator"` Member int `json:"member"` }
ClubSearch represents club search result model.
type Date ¶
Date represents splitted date.
Normal date usually has day, month, and year. But, in MyAnimeList, there are some dates that don't have them all 3. For example, (future) anime airing date which sometimes contains only year. So, it can't be parsed to time.Time. That's why this date has its own data type.
type Episode ¶
type Episode struct { Episode int `json:"episode"` Title string `json:"title"` JapaneseTitle string `json:"japaneseTitle"` AiredDate *time.Time `json:"airedDate"` Link string `json:"link"` Tag string `json:"tag"` }
Episode represents anime episode model.
type Manga ¶
type Manga struct { ID int `json:"id"` Title string `json:"title"` AlternativeTitles AlternativeTitle `json:"alternativeTitles"` Image string `json:"image"` Synopsis string `json:"synopsis"` Score float64 `json:"score"` Voter int `json:"voter"` Rank int `json:"rank"` Popularity int `json:"popularity"` Member int `json:"member"` Favorite int `json:"favorite"` Type string `json:"type"` Volume int `json:"volume"` Chapter int `json:"chapter"` Status string `json:"status"` PublishingDate StartEndDate `json:"publishingDate"` Genres []Item `json:"genres"` Authors []Item `json:"authors"` Serializations []Item `json:"serializations"` Related Related `json:"related"` }
Manga represent main manga model.
type MangaItem ¶
type MangaItem struct { ID int `json:"id"` Title string `json:"title"` Image string `json:"image"` Volume int `json:"volume"` Type string `json:"type"` Member int `json:"member"` Score float64 `json:"score"` StartDate Date `json:"startDate"` Synopsis string `json:"synopsis"` Authors []Item `json:"authors"` Serializations []string `json:"serializations"` Genres []Item `json:"genres"` }
MangaItem represents simpler manga model for magazine.
type MangaSearch ¶
type MangaSearch struct { ID int `json:"id"` Title string `json:"title"` Image string `json:"image"` Summary string `json:"summary"` Type string `json:"type"` Volume int `json:"volume"` Chapter int `json:"chapter"` Score float64 `json:"score"` StartDate Date `json:"startDate"` EndDate Date `json:"endDate"` Member int `json:"member"` }
MangaSearch represents manga search result model.
type News ¶
type News struct { ID int `json:"id"` Title string `json:"title"` Content string `json:"content"` Date time.Time `json:"date"` Username string `json:"username"` ForumID int `json:"forum_id"` Comment int `json:"comment"` Tags []string `json:"tags"` Related NewsRelated `json:"related"` }
News represents main news model.
type NewsItem ¶
type NewsItem struct { ID int `json:"id"` Title string `json:"title"` Image string `json:"image"` Content string `json:"content"` Date time.Time `json:"date"` Username string `json:"username"` ForumID int `json:"forum_id"` Comment int `json:"comment"` }
NewsItem represents simple news model.
type NewsRelated ¶
type NewsRelated struct { Anime []Item `json:"anime"` Manga []Item `json:"manga"` People []Item `json:"people"` }
NewsRelated represents news relation.
type NewsTag ¶
type NewsTag struct { Anime []NewsTagItem `json:"anime"` Manga []NewsTagItem `json:"manga"` People []NewsTagItem `json:"people"` Music []NewsTagItem `json:"music"` Event []NewsTagItem `json:"event"` Industry []NewsTagItem `json:"industry"` }
NewsTag represents news tag categories.
type NewsTagItem ¶
type NewsTagItem struct { Name string `json:"name"` Tag string `json:"tag"` Description string `json:"description"` }
NewsTagItem represents news tag detail.
type People ¶
type People struct { ID int `json:"id"` Name string `json:"name"` Image string `json:"image"` GivenName string `json:"givenName"` FamilyName string `json:"familyName"` AlternativeNames []string `json:"alternativeNames"` Birthday Date `json:"birthday"` Website string `json:"website"` Favorite int `json:"favorite"` More string `json:"more"` }
People represents main people model.
type PeopleCharacter ¶
PeopleCharacter represents people's anime and character role.
type PeopleSearch ¶
type PeopleSearch struct { ID int `json:"id"` Name string `json:"name"` Nickname string `json:"nickname"` Image string `json:"image"` }
PeopleSearch represents people search result model.
type Query ¶
type Query struct { Title string Page int Type int Score int Status int ProducerID int // for anime only MagazineID int // for manga only Rating int // for anime only StartDate time.Time EndDate time.Time ExcludeGenre bool GenreIDs []int FirstLetter string }
Query represents anime & manga search query model.
type Recommendation ¶
type Recommendation struct { Source Source `json:"source"` Recommended Source `json:"recommended"` Users []RecommendationUser `json:"users"` }
Recommendation represents main recommendation model.
type RecommendationUser ¶
type RecommendationUser struct { Username string `json:"username"` Content string `json:"content"` }
RecommendationUser represents user recommendation model.
type Related ¶
type Related struct { Sequel []RelatedItem `json:"sequel"` Prequel []RelatedItem `json:"prequel"` AltSetting []RelatedItem `json:"alternativeSetting"` AltVersion []RelatedItem `json:"alternativeVersion"` SideStory []RelatedItem `json:"sideStory"` Summary []RelatedItem `json:"summary"` FullStory []RelatedItem `json:"fullStory"` ParentStory []RelatedItem `json:"parentStory"` SpinOff []RelatedItem `json:"spinOff"` Adaptation []RelatedItem `json:"adaptation"` Character []RelatedItem `json:"character"` Other []RelatedItem `json:"other"` }
Related represents related anime & manga model.
type RelatedItem ¶
type RelatedItem struct { ID int `json:"id"` Title string `json:"title"` Type string `json:"type"` }
RelatedItem represents related anime/manga model.
type Review ¶
type Review struct { ID int `json:"id"` Username string `json:"username"` Image string `json:"image"` Source Source `json:"source"` Helpful int `json:"helpful"` Date time.Time `json:"date"` Episode string `json:"episode"` // for anime Chapter string `json:"chapter"` // for manga Score ReviewScore `json:"score"` Review string `json:"review"` }
Review represents main review model.
type ReviewScore ¶
type ReviewScore struct { Overall int `json:"overall"` // for both Story int `json:"story"` // for both Art int `json:"art"` // for both Sound int `json:"sound"` // for anime only Character int `json:"character"` // for both Enjoyment int `json:"enjoyment"` // for both }
ReviewScore represents review's detail score.
type Role ¶
type Role struct { ID int `json:"id"` Name string `json:"name"` Image string `json:"image"` Role string `json:"role"` }
Role represents simple model of character/va's role.
type Source ¶
type Source struct { ID int `json:"id"` Title string `json:"title"` Image string `json:"image"` Type string `json:"type"` }
Source represents simple anime/manga model.
type StartEndDate ¶
StartEndDate represents anime/manga start and end of airing/publishing date.
type Stats ¶
type Stats struct { Summary StatsSummary `json:"summary"` Score StatsScore `json:"score"` }
Stats represents anime/manga stats model.
type StatsScore ¶
type StatsScore struct { Score10 StatsScoreItem `json:"10"` Score9 StatsScoreItem `json:"9"` Score8 StatsScoreItem `json:"8"` Score7 StatsScoreItem `json:"7"` Score6 StatsScoreItem `json:"6"` Score5 StatsScoreItem `json:"5"` Score4 StatsScoreItem `json:"4"` Score3 StatsScoreItem `json:"3"` Score2 StatsScoreItem `json:"2"` Score1 StatsScoreItem `json:"1"` }
StatsScore represents stats each score.
type StatsScoreItem ¶
StatsScoreItem represents detail score model and its count.
type StatsSummary ¶
type StatsSummary struct { Current int `json:"current"` Completed int `json:"completed"` OnHold int `json:"onHold"` Dropped int `json:"dropped"` Planned int `json:"planned"` Total int `json:"total"` }
StatsSummary represents stats summary count.
type TopAnime ¶
type TopAnime struct { Rank int `json:"rank"` Title string `json:"title"` ID int `json:"id"` Image string `json:"image"` Type string `json:"type"` Episode int `json:"episode"` StartDate Date `json:"startDate"` EndDate Date `json:"endDate"` Member int `json:"member"` Score float64 `json:"score"` }
TopAnime represents model for top anime list.
type TopCharacter ¶
type TopCharacter struct { Rank int `json:"rank"` ID int `json:"id"` Name string `json:"name"` JapaneseName string `json:"japaneseName"` Image string `json:"image"` Favorite int `json:"favorite"` }
TopCharacter represents model for top character list.
type TopManga ¶
type TopManga struct { Rank int `json:"rank"` ID int `json:"id"` Title string `json:"title"` Image string `json:"image"` Type string `json:"type"` Volume int `json:"volume"` StartDate Date `json:"startDate"` EndDate Date `json:"endDate"` Member int `json:"member"` Score float64 `json:"score"` }
TopManga represents model for top manga list.
type TopPeople ¶
type TopPeople struct { Rank int `json:"rank"` ID int `json:"id"` Name string `json:"name"` JapaneseName string `json:"japaneseName"` Image string `json:"image"` Birthday Date `json:"birthday"` Favorite int `json:"favorite"` }
TopPeople represents model for top people list.
type User ¶
type User struct { Username string `json:"username"` Image string `json:"image"` LastOnline time.Time `json:"lastOnline"` Gender string `json:"gender"` Birthday Date `json:"birthday"` Location string `json:"location"` JoinedDate time.Time `json:"joinedDate"` ForumPost int `json:"forumPost"` Review int `json:"review"` Recommendation int `json:"recommendation"` BlogPost int `json:"blogPost"` Club int `json:"club"` Friend int `json:"friend"` Sns []string `json:"sns"` About string `json:"about"` }
User represents main user model.
type UserAnime ¶
type UserAnime struct { ID int `json:"id"` Title string `json:"title"` Image string `json:"image"` Score int `json:"score"` Status int `json:"status"` Type string `json:"type"` Progress int `json:"progress"` Episode int `json:"episode"` Tag string `json:"tag"` Rating string `json:"rating"` AiringStatus int `json:"airingStatus"` AiringStart Date `json:"airingStart"` AiringEnd Date `json:"airingEnd"` WatchStart *time.Time `json:"watchStart"` WatchEnd *time.Time `json:"watchEnd"` IsRewatching bool `json:"isRewatching"` Days int `json:"days"` Storage string `json:"storage"` Priority string `json:"priority"` }
UserAnime represents user anime model.
type UserAnimeStats ¶
type UserAnimeStats struct { Days float64 `json:"days"` MeanScore float64 `json:"meanScore"` Current int `json:"current"` Completed int `json:"completed"` OnHold int `json:"onHold"` Dropped int `json:"dropped"` Planned int `json:"planned"` Total int `json:"total"` Rewatched int `json:"rewatched"` Episode int `json:"episode"` }
UserAnimeStats represents anime user stats model.
type UserFavorite ¶
type UserFavorite struct { Anime []UserFavoriteItem `json:"anime"` Manga []UserFavoriteItem `json:"manga"` Character []UserFavoriteItem `json:"character"` People []UserFavoriteItem `json:"people"` }
UserFavorite represents user favorite model.
type UserFavoriteItem ¶
type UserFavoriteItem struct { ID int `json:"id"` Name string `json:"name"` Image string `json:"image"` }
UserFavoriteItem represents each user favorite entry.
type UserFriend ¶
type UserFriend struct { Username string `json:"username"` Image string `json:"image"` LastOnline time.Time `json:"lastOnline"` FriendSince time.Time `json:"friendSince"` }
UserFriend represents user friend model.
type UserHistory ¶
type UserHistory struct { ID int `json:"id"` Title string `json:"title"` Type string `json:"type"` Progress int `json:"progress"` Date time.Time `json:"date"` }
UserHistory represents user anime/manga history model.
type UserListQuery ¶
UserListQuery represents query model for user anime & manga list.
type UserManga ¶
type UserManga struct { ID int `json:"id"` Title string `json:"title"` Image string `json:"image"` Score int `json:"score"` Status int `json:"status"` Type string `json:"type"` ChapterProgress int `json:"chapterProgress"` VolumeProgress int `json:"volumeProgress"` Chapter int `json:"chapter"` Volume int `json:"volume"` Tag string `json:"tag"` PublishingStatus int `json:"publishingStatus"` PublishingStart Date `json:"publishingStart"` PublishingEnd Date `json:"publishingEnd"` ReadStart *time.Time `json:"readStart"` ReadEnd *time.Time `json:"readEnd"` IsRereading bool `json:"isRereading"` Days int `json:"days"` Priority string `json:"priority"` }
UserManga represents user manga model.
type UserMangaStats ¶
type UserMangaStats struct { Days float64 `json:"days"` MeanScore float64 `json:"meanScore"` Current int `json:"current"` Completed int `json:"completed"` OnHold int `json:"onHold"` Dropped int `json:"dropped"` Planned int `json:"planned"` Total int `json:"total"` Reread int `json:"reread"` Chapter int `json:"chapter"` Volume int `json:"volume"` }
UserMangaStats represents manga user stats model.
type UserRawAnime ¶
type UserRawAnime struct { Status int `json:"status"` Score int `json:"score"` Tags interface{} `json:"tags"` IsRewatching interface{} `json:"is_rewatching"` WatchedEpisode int `json:"num_watched_episodes"` AnimeTitle interface{} `json:"anime_title"` AnimeEpisode int `json:"anime_num_episodes"` AnimeAiringStatus int `json:"anime_airing_status"` AnimeID int `json:"anime_id"` AnimeStudio []Item `json:"anime_studios"` AnimeLicensor []Item `json:"anime_licensors"` AnimeSeason Season `json:"anime_season"` HasEpisodeVideo bool `json:"has_episode_video"` HasPromotionVideo bool `json:"has_promotion_video"` HasVideo bool `json:"has_video"` VideoURL string `json:"video_url"` AnimeURL string `json:"anime_url"` AnimeImage string `json:"anime_image_path"` AnimeType string `json:"anime_media_type_string"` AnimeRating string `json:"anime_mpaa_rating_string"` AnimeStartDate string `json:"anime_start_date_string"` AnimeEndDate string `json:"anime_end_date_string"` IsAddedToList bool `json:"is_added_to_list"` StartDate string `json:"start_date_string"` FinishDate string `json:"finish_date_string"` Days int `json:"days_string"` Storage string `json:"storage_string"` Priority string `json:"priority_string"` }
UserRawAnime represents MyAnimeList raw JSON anime list response.
type UserRawManga ¶
type UserRawManga struct { Status int `json:"status"` Score int `json:"score"` Tags interface{} `json:"tags"` IsRereading interface{} `json:"is_rereading"` ReadChapter int `json:"num_read_chapters"` ReadVolume int `json:"num_read_volumes"` MangaTitle interface{} `json:"manga_title"` MangaChapter int `json:"manga_num_chapters"` MangaVolume int `json:"manga_num_volumes"` MangaStatus int `json:"manga_publishing_status"` MangaID int `json:"manga_id"` MangaMagazine []Item `json:"manga_magazines"` MangaURL string `json:"manga_url"` MangaImage string `json:"manga_image_path"` IsAddedToList bool `json:"is_added_to_list"` MangaType string `json:"manga_media_type_string"` MangaStartDate string `json:"manga_start_date_string"` MangaEndDate string `json:"manga_end_date_string"` Retail string `json:"retail_string"` Days int `json:"days_string"` StartDate string `json:"start_date_string"` FinishDate string `json:"finish_date_string"` Priority string `json:"priority_string"` }
UserRawManga represents MyAnimeList raw JSON manga list response.
type UserSearch ¶
type UserSearch struct { Username string `json:"username"` Image string `json:"image"` LastOnline *time.Time `json:"lastOnline"` }
UserSearch represents user search result model.
type UserStats ¶
type UserStats struct { Anime UserAnimeStats `json:"anime"` Manga UserMangaStats `json:"manga"` }
UserStats represents anime & manga user stats model.
type Video ¶
type Video struct { Episodes []VideoEpisode `json:"episodes"` Promotions []VideoPromo `json:"promotions"` }
Video represents anime video model.
type VideoEpisode ¶
type VideoEpisode struct { Episode int `json:"episode"` Title string `json:"title"` Link string `json:"link"` }
VideoEpisode represents anime episode model.
type VideoPromo ¶
VideoPromo represents promotion video model.