From dd9a047dc6512b3b6419ac4bd05a77bc22be95b0 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Sat, 2 Sep 2023 16:26:48 +0300 Subject: fix: imrpoved user models on responses Former-commit-id: 3aeb7e76928081664f33a4012bd1d84c81eef77c --- backend/handlers/home.go | 9 ++++----- backend/handlers/map.go | 42 ++++++++++++++++++------------------------ 2 files changed, 22 insertions(+), 29 deletions(-) (limited to 'backend/handlers') diff --git a/backend/handlers/home.go b/backend/handlers/home.go index 53be1de..eb3912c 100644 --- a/backend/handlers/home.go +++ b/backend/handlers/home.go @@ -68,7 +68,7 @@ func Rankings(c *gin.Context) { ranking := models.UserRanking{} var currentCount int var totalCount int - err = rows.Scan(&ranking.UserID, &ranking.UserName, ¤tCount, &totalCount, &ranking.TotalScore) + err = rows.Scan(&ranking.User.SteamID, &ranking.User.UserName, ¤tCount, &totalCount, &ranking.TotalScore) if err != nil { c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return @@ -100,7 +100,7 @@ func Rankings(c *gin.Context) { ranking := models.UserRanking{} var currentCount int var totalCount int - err = rows.Scan(&ranking.UserID, &ranking.UserName, ¤tCount, &totalCount, &ranking.TotalScore) + err = rows.Scan(&ranking.User.SteamID, &ranking.User.UserName, ¤tCount, &totalCount, &ranking.TotalScore) if err != nil { c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return @@ -113,11 +113,10 @@ func Rankings(c *gin.Context) { // Has both so they are qualified for overall ranking for _, spRanking := range response.Singleplayer { for _, mpRanking := range response.Multiplayer { - if spRanking.UserID == mpRanking.UserID { + if spRanking.User.SteamID == mpRanking.User.SteamID { totalScore := spRanking.TotalScore + mpRanking.TotalScore overallRanking := models.UserRanking{ - UserID: spRanking.UserID, - UserName: spRanking.UserName, + User: spRanking.User, TotalScore: totalScore, } response.Overall = append(response.Overall, overallRanking) diff --git a/backend/handlers/map.go b/backend/handlers/map.go index 0a0206e..1d9cee8 100644 --- a/backend/handlers/map.go +++ b/backend/handlers/map.go @@ -31,31 +31,25 @@ type ChapterMapsResponse struct { } type RecordSingleplayer struct { - Placement int `json:"placement"` - RecordID int `json:"record_id"` - ScoreCount int `json:"score_count"` - ScoreTime int `json:"score_time"` - UserID string `json:"user_id"` - UserName string `json:"user_name"` - UserAvatar string `json:"user_avatar"` - DemoID string `json:"demo_id"` - RecordDate time.Time `json:"record_date"` + Placement int `json:"placement"` + RecordID int `json:"record_id"` + ScoreCount int `json:"score_count"` + ScoreTime int `json:"score_time"` + User models.UserShortWithAvatar `json:"user"` + DemoID string `json:"demo_id"` + RecordDate time.Time `json:"record_date"` } type RecordMultiplayer struct { - Placement int `json:"placement"` - RecordID int `json:"record_id"` - ScoreCount int `json:"score_count"` - ScoreTime int `json:"score_time"` - HostID string `json:"host_id"` - HostName string `json:"host_name"` - HostAvatar string `json:"host_avatar"` - PartnerID string `json:"partner_id"` - PartnerName string `json:"partner_name"` - PartnerAvatar string `json:"partner_avatar"` - HostDemoID string `json:"host_demo_id"` - PartnerDemoID string `json:"partner_demo_id"` - RecordDate time.Time `json:"record_date"` + Placement int `json:"placement"` + RecordID int `json:"record_id"` + ScoreCount int `json:"score_count"` + ScoreTime int `json:"score_time"` + Host models.UserShortWithAvatar `json:"host"` + Partner models.UserShortWithAvatar `json:"partner"` + HostDemoID string `json:"host_demo_id"` + PartnerDemoID string `json:"partner_demo_id"` + RecordDate time.Time `json:"record_date"` } // GET Map Summary @@ -195,7 +189,7 @@ func FetchMapLeaderboards(c *gin.Context) { ties := 0 for rows.Next() { var record RecordMultiplayer - err := rows.Scan(&record.RecordID, &record.HostID, &record.HostName, &record.HostAvatar, &record.PartnerID, &record.PartnerName, &record.PartnerAvatar, &record.ScoreCount, &record.ScoreTime, &record.HostDemoID, &record.PartnerDemoID, &record.RecordDate) + err := rows.Scan(&record.RecordID, &record.Host.SteamID, &record.Host.UserName, &record.Host.AvatarLink, &record.Partner.SteamID, &record.Partner.UserName, &record.Partner.AvatarLink, &record.ScoreCount, &record.ScoreTime, &record.HostDemoID, &record.PartnerDemoID, &record.RecordDate) if err != nil { c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return @@ -230,7 +224,7 @@ func FetchMapLeaderboards(c *gin.Context) { ties := 0 for rows.Next() { var record RecordSingleplayer - err := rows.Scan(&record.RecordID, &record.UserID, &record.UserName, &record.UserAvatar, &record.ScoreCount, &record.ScoreTime, &record.DemoID, &record.RecordDate) + err := rows.Scan(&record.RecordID, &record.User.SteamID, &record.User.UserName, &record.User.AvatarLink, &record.ScoreCount, &record.ScoreTime, &record.DemoID, &record.RecordDate) if err != nil { c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return -- cgit v1.2.3