aboutsummaryrefslogtreecommitdiff
path: root/utils/mal/types.go
blob: 241bc4e358dbc2b40915d39371401ee5addfef1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
package mal

type Image struct {
	Small    string
	Medium   string
	Large    string
	Original string
}

type Title struct {
	English  string
	Japanese string
	Romaji   string
	Synonyms []string
}

type AiredDate struct {
	Day    int
	Month  int
	Year   int
	String string
}

type Premiered struct {
	Season Season
	Year   int
}

type Aired struct {
	From   AiredDate
	To     AiredDate
	String string
}

type Broadcast struct {
	Day      string
	Time     string
	Timezone string
	String   string
}

type Statistics struct {
	Score      float64
	ScoredBy   int
	Rank       int
	Popularity int
	Members    int
	Favorites  int
}

type Preview struct {
	URL       string
	Thumbnail Image
}

type Trailer struct {
	YoutubeID string
	EmbedURL  string
	Preview
}

type EpisodeRange struct {
	Start int
	End   int
}

type ExternalLink struct {
	Name string
	URL  string
}

type ThemeSong struct {
	Title    Title
	Artist   string
	Episodes EpisodeRange
	Links    []ExternalLink
}

type PromotionalVideo struct {
	Title Title
	Preview
}

type MusicVideo struct {
	Title  Title
	Artist string
	Preview
}

type Episode struct {
	Number   int
	URL      string
	Title    Title
	Aired    AiredDate
	Score    float64
	Filler   bool
	Recap    bool
	ForumURL string
	Synopsis string
	Preview  Preview
}

type Anime struct {
	MALID        int
	URL          string
	Image        Image
	Title        Title
	Type         Type
	Source       Source
	Status       Status
	Airing       bool
	Rating       Rating
	Synopsis     string
	Background   string
	Duration     string
	EpisodeCount int
	Premiered    Premiered
	Aired        Aired
	Broadcast    Broadcast
	Statistics   Statistics
	Trailer      Trailer

	Openings    []ThemeSong
	Endings     []ThemeSong
	Videos      []PromotionalVideo
	MusicVideos []MusicVideo
	Episodes    []Episode

	Genres         []int
	ExplicitGenres []int
	Themes         []int
	Demographics   []int
	Producers      []int
	Studios        []int
	Licensors      []int

	External  []ExternalLink
	Streaming []ExternalLink
}