-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmythicplusruns.go
107 lines (95 loc) · 2.77 KB
/
mythicplusruns.go
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
package raideriogo
// ViewMythicPlusRunsResponse defines the schema for mythic+ runs.
type ViewMythicPlusRunsResponse struct {
Rankings []Ranking `json:""`
LeaderboardURL string `json:""`
Params Params `json:""`
}
// Dungeon defines the schema for a dungeon.
type Dungeon struct {
ID int `json:""`
Name string `json:""`
ShortName string `json:""`
Slug string `json:""`
KeystoneTimerMS int `json:""`
}
// WeeklyModifier defines the schema for the weekly mythic+ modifiers.
type WeeklyModifier struct {
ID int `json:""`
Icon string `json:""`
Name string `json:""`
Description string `json:""`
}
// Class defines the schema for a class.
type Class struct {
ID int `json:""`
Name string `json:""`
Slug string `json:""`
}
// Race defines the schema for a race.
type Race struct {
ID int `json:""`
Name string `json:""`
Slug string `json:""`
}
// Spec defines the schema for a spec.
type Spec struct {
Name string `json:""`
Slug string `json:""`
}
// Region defines the schema for a region.
type Region struct {
Name string `json:""`
Slug string `json:""`
ShortName string `json:""`
}
// Character defines the schema for a character.
type Character struct {
ID int `json:""`
PersonaID int `json:""`
Name string `json:""`
Class Class `json:""`
Race Race `json:""`
Faction string `json:""`
Spec Spec `json:""`
Path string `json:""`
Realm Realm `json:""`
Region Region `json:""`
}
// Roster defines the schema for a roster.
type Roster struct {
Character Character `json:""`
OldCharacter Character `json:""`
IsTransfer bool `json:""`
Role string `json:""`
}
// Run defines the schema for a run.
type Run struct {
Season string `json:""`
Dungeon Dungeon `json:""`
KeystoneRunID int `json:""`
KeystoneTeamID int `json:""`
KeystonePlatoonID int `json:""`
MythicLevel int `json:""`
ClearTimeMS int `json:""`
CompletedAt string `json:""`
NumChests int `json:""`
TimeRemainingMS int `json:""`
Faction string `json:""`
WeeklyModifier []WeeklyModifier `json:""`
NumModifiersActive int `json:""`
Roster []Roster `json:""`
Platoon string `json:""`
}
// Ranking defines the schema for a ranking.
type Ranking struct {
Rank int `json:""`
Score float64 `json:""`
Run Run `json:""`
}
// Params defines the schema for this query.
type Params struct {
Season string `json:""`
Region string `json:""`
Dungeon string `json:""`
}