From 955a08a70486089b3440bc1b1be4300553707c20 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Tue, 26 Sep 2023 21:09:30 +0300 Subject: fix: user titles on non profile users (#98) Former-commit-id: 9a5e37916f40ac80227d1ab52d9a718be8acc5f4 --- backend/handlers/user.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/backend/handlers/user.go b/backend/handlers/user.go index 6b090a0..e05c85b 100644 --- a/backend/handlers/user.go +++ b/backend/handlers/user.go @@ -441,6 +441,18 @@ func FetchUser(c *gin.Context) { c.JSON(http.StatusOK, models.ErrorResponse("User not found.")) return } + // Get titles + titles := []models.Title{} + rows, err := database.DB.Query(`SELECT t.title_name, t.title_color FROM titles t INNER JOIN user_titles ut ON t.id=ut.title_id WHERE ut.user_id = $1`, user.SteamID) + if err != nil { + c.JSON(http.StatusOK, models.ErrorResponse(err.Error())) + return + } + for rows.Next() { + var title models.Title + rows.Scan(&title.Name, &title.Color) + titles = append(titles, title) + } // Get rankings (all maps done in one game) rankings := ProfileRankings{ Overall: ProfileRankingsDetails{}, @@ -469,7 +481,7 @@ func FetchUser(c *gin.Context) { FROM public.map_routes mr WHERE mr.category_id = 1 GROUP BY mr.map_id ) AS subquery_mp ON rm.map_id = subquery_mp.map_id AND rm.score_count = subquery_mp.min_score_count WHERE rm.host_id = $1 OR rm.partner_id = $1;` - rows, err := database.DB.Query(sql, user.SteamID) + rows, err = database.DB.Query(sql, user.SteamID) if err != nil { c.JSON(http.StatusOK, models.ErrorResponse(err.Error())) return @@ -762,7 +774,7 @@ func FetchUser(c *gin.Context) { UserName: user.UserName, AvatarLink: user.AvatarLink, CountryCode: user.CountryCode, - Titles: user.Titles, + Titles: titles, Links: links, Rankings: rankings, Records: records, -- cgit v1.2.3