From 16f6ce9228da8d71c1dc1c111fce01943b2c3a0e Mon Sep 17 00:00:00 2001 From: Yege1893 <yannick.ege@web.de> Date: Mon, 10 Jul 2023 14:33:07 +0200 Subject: [PATCH] fixed match api --- src/highlanderticketing/api/match.go | 22 +++++++++++++--------- src/highlanderticketing/main.go | 2 +- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/highlanderticketing/api/match.go b/src/highlanderticketing/api/match.go index a39674a..2119d5a 100644 --- a/src/highlanderticketing/api/match.go +++ b/src/highlanderticketing/api/match.go @@ -10,14 +10,14 @@ import ( "gitlab.reutlingen-university.de/ege/highlander-ticketing-go-ss2023/src/highlanderticketing/model" ) -func GetMatchesOfApi(apiUrl string) (error, []*model.Match) { +func GetMatchesOfApi(apiUrl string) ([]*model.Match, error) { data := getData(apiUrl) - err, matches := formatJsonCreateMatch(data) + matches, err := formatJsonCreateMatch(data) if err != nil { - return err, make([]*model.Match, 0) + return []*model.Match{}, err } fmt.Println(matches) - return nil, matches + return matches, nil } func getData(apiUrl string) []byte { @@ -43,19 +43,22 @@ func getData(apiUrl string) []byte { return responseBody } -func formatJsonCreateMatch(jsonArray []byte) (error, []*model.Match) { - var match model.Match +func formatJsonCreateMatch(jsonArray []byte) ([]*model.Match, error) { var matches []*model.Match var results []map[string]interface{} - json.Unmarshal([]byte(jsonArray), &results) + if err := json.Unmarshal(jsonArray, &results); err != nil { + return nil, err + } for _, result := range results { + var match model.Match match.ExternalID = int64(result["matchID"].(float64)) match.LeagueName = result["leagueName"].(string) + matchDate, err := time.Parse("2006-01-02T15:04:05", result["matchDateTime"].(string)) if err != nil { - return err, matches + return nil, err } match.Date = matchDate @@ -72,6 +75,7 @@ func formatJsonCreateMatch(jsonArray []byte) (error, []*model.Match) { } } } + if team2, ok := result["team2"].(map[string]interface{}); ok { if name, ok := team2["teamName"].(string); ok { if name == "VfB Stuttgart" { @@ -84,5 +88,5 @@ func formatJsonCreateMatch(jsonArray []byte) (error, []*model.Match) { } matches = append(matches, &match) } - return nil, matches + return matches, nil } diff --git a/src/highlanderticketing/main.go b/src/highlanderticketing/main.go index 022540d..fb080e8 100644 --- a/src/highlanderticketing/main.go +++ b/src/highlanderticketing/main.go @@ -21,7 +21,7 @@ func main() { fmt.Println(userArray) */ service.DeleteAllMatches() - errMatches, matches := api.GetMatchesOfApi("https://api.openligadb.de/getmatchesbyteamid/16/10/0") + matches, errMatches := api.GetMatchesOfApi("https://api.openligadb.de/getmatchesbyteamid/16/10/0") if errMatches != nil { return } -- GitLab