Fix presence unmarshal with game names as numbers (#381)

* Game name is also not validated on the server

* Use json.Number instead
This commit is contained in:
AAAAAAAAAAA 2017-05-08 17:32:00 +02:00 committed by Chris Rhodes
parent aa3973f956
commit eed1d20f1a

View file

@ -304,7 +304,7 @@ type Game struct {
// UnmarshalJSON unmarshals json to Game struct // UnmarshalJSON unmarshals json to Game struct
func (g *Game) UnmarshalJSON(bytes []byte) error { func (g *Game) UnmarshalJSON(bytes []byte) error {
temp := &struct { temp := &struct {
Name string `json:"name"` Name json.Number `json:"name"`
Type json.RawMessage `json:"type"` Type json.RawMessage `json:"type"`
URL string `json:"url"` URL string `json:"url"`
}{} }{}
@ -312,8 +312,8 @@ func (g *Game) UnmarshalJSON(bytes []byte) error {
if err != nil { if err != nil {
return err return err
} }
g.Name = temp.Name
g.URL = temp.URL g.URL = temp.URL
g.Name = temp.Name.String()
if temp.Type != nil { if temp.Type != nil {
err = json.Unmarshal(temp.Type, &g.Type) err = json.Unmarshal(temp.Type, &g.Type)