-
Notifications
You must be signed in to change notification settings - Fork 1
/
data.go
129 lines (115 loc) · 4.37 KB
/
data.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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
// LoL Cruncher - A Historical League of Legends Statistics Tracker
// Copyright (C) 2015 Jason Chu (1lann) 1lanncontact@gmail.com
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
package dataFormat
import (
"strings"
"time"
)
type DetailedNumberOf struct {
InternalPlayerId string `gorethink:"ip" json:"-"`
TimePeriod string `gorethink:"p" json:"p"`
Queue string `gorethink:"q" json:"q"`
Wins int `gorethink:"w" json:"w"`
Losses int `gorethink:"l" json:"l"`
TimePlayed int `gorethink:"t" json:"t"`
Kills int `gorethink:"k" json:"k"`
Assists int `gorethink:"a" json:"a"`
Deaths int `gorethink:"d" json:"d"`
DoubleKills int `gorethink:"dk" json:"dk"`
TripleKills int `gorethink:"tk" json:"tk"`
QuadraKills int `gorethink:"qk" json:"qk"`
PentaKills int `gorethink:"pk" json:"pk"`
GoldEarned int `gorethink:"g" json:"g"`
MinionsKilled int `gorethink:"m" json:"m"`
MonstersKilled int `gorethink:"n" json:"n"`
WardsPlaced int `gorethink:"wp" json:"wp"`
WardsKilled int `gorethink:"wk" json:"wk"`
Blue struct {
Wins int `gorethink:"w" json:"w"`
Losses int `gorethink:"l" json:"l"`
} `gorethink:"b" json:"b"`
Red struct {
Wins int `gorethink:"w" json:"w"`
Losses int `gorethink:"l" json:"l"`
} `gorethink:"r" json:"r"`
}
type BasicNumberOf struct {
InternalPlayerId string `gorethink:"ip" json:"-"`
Champion string `gorethink:"c" json:"c"`
TimePeriod string `gorethink:"p" json:"p"`
Queue string `gorethink:"q" json:"q"`
Wins int `gorethink:"w" json:"w"`
Losses int `gorethink:"l" json:"l"`
TimePlayed int `gorethink:"t" json:"t"`
Kills int `gorethink:"k" json:"k"`
Assists int `gorethink:"a" json:"a"`
Deaths int `gorethink:"d" json:"d"`
GoldEarned int `gorethink:"g" json:"g"`
MinionsKilled int `gorethink:"m" json:"m"`
MonstersKilled int `gorethink:"n" json:"n"`
WardsPlaced int `gorethink:"wp" json:"wp"`
}
type Player struct {
Region string `gorethink:"r" json:"region"`
Tier string `gorethink:"t" json:"-"`
SummonerId string `gorethink:"pi" json:"-"`
InternalId string `gorethink:"id,omitempty" json:"-"`
SummonerName string `gorethink:"sn" json:"summonerName"`
NormalizedName string `gorethink:"nn" json:"-"`
RecordStart time.Time `gorethink:"rs" json:"-"` // Date of first ever game recorded
NextUpdate time.Time `gorethink:"nu" json:"-"`
NextLongUpdate time.Time `gorethink:"nl" json:"-"`
ProcessedGames []string `gorethink:"p" json:"-"`
}
type PlayerData struct {
Detailed []DetailedNumberOf `gorethink:"detailed" json:"detailed"`
Basic []BasicNumberOf `gorethink:"basic" json:"basic"`
SummonerName string `gorethink:"sn" json:"summonerName"`
Region string `gorethink:"r" json:"r"`
RecordStart time.Time `gorethink:"rs" json:"-"`
RecordStartString string `gorethink:"-" json:"rs"`
ProcessedGames []string `gorethink:"p" json:"-"`
}
type Champion struct {
Name string
Title string
SquareURL string
SplashURL string
PortraitURL string
}
type Game struct {
DidWin bool
IsOnBlue bool
IsNormals bool // AKA Not Custom
ChampionId string
Duration int
Id string
Type string
Kills int
Assists int
Deaths int
DoubleKills int
TripleKills int
QuadraKills int
PentaKills int
GoldEarned int
MinionsKilled int
MonstersKilled int
WardsPlaced int
WardsKilled int
YearMonth string
Date time.Time
}
func NormalizeName(name string) string {
return strings.ToLower(strings.Replace(name, " ", "", -1))
}