aboutsummaryrefslogtreecommitdiff
path: root/backend/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'backend/controllers')
-rw-r--r--backend/controllers/homeController.go10
-rw-r--r--backend/controllers/mapController.go126
-rw-r--r--backend/controllers/recordController.go12
-rw-r--r--backend/controllers/userController.go14
4 files changed, 137 insertions, 25 deletions
diff --git a/backend/controllers/homeController.go b/backend/controllers/homeController.go
index 206e3ae..edb770f 100644
--- a/backend/controllers/homeController.go
+++ b/backend/controllers/homeController.go
@@ -29,7 +29,7 @@ func Home(c *gin.Context) {
29// @Failure 400 {object} models.Response 29// @Failure 400 {object} models.Response
30// @Router /demo [get] 30// @Router /demo [get]
31func Rankings(c *gin.Context) { 31func Rankings(c *gin.Context) {
32 rows, err := database.DB.Query(`SELECT steam_id, user_name FROM users;`) 32 rows, err := database.DB.Query(`SELECT steam_id, user_name FROM users`)
33 if err != nil { 33 if err != nil {
34 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 34 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
35 return 35 return
@@ -46,7 +46,7 @@ func Rankings(c *gin.Context) {
46 // Getting all sp records for each user 46 // Getting all sp records for each user
47 var uniqueSingleUserRecords, totalSingleMaps int 47 var uniqueSingleUserRecords, totalSingleMaps int
48 sql := `SELECT COUNT(DISTINCT map_id), (SELECT COUNT(map_name) FROM maps 48 sql := `SELECT COUNT(DISTINCT map_id), (SELECT COUNT(map_name) FROM maps
49 WHERE is_coop = FALSE AND is_disabled = false) FROM records_sp WHERE user_id = $1;` 49 WHERE is_coop = FALSE AND is_disabled = false) FROM records_sp WHERE user_id = $1`
50 err = database.DB.QueryRow(sql, userID).Scan(&uniqueSingleUserRecords, &totalSingleMaps) 50 err = database.DB.QueryRow(sql, userID).Scan(&uniqueSingleUserRecords, &totalSingleMaps)
51 if err != nil { 51 if err != nil {
52 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 52 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
@@ -57,7 +57,7 @@ func Rankings(c *gin.Context) {
57 var ranking models.UserRanking 57 var ranking models.UserRanking
58 ranking.UserID = userID 58 ranking.UserID = userID
59 ranking.UserName = username 59 ranking.UserName = username
60 sql := `SELECT DISTINCT map_id, score_count FROM records_sp WHERE user_id = $1 ORDER BY map_id, score_count;` 60 sql := `SELECT DISTINCT map_id, score_count FROM records_sp WHERE user_id = $1 ORDER BY map_id, score_count`
61 rows, err := database.DB.Query(sql, userID) 61 rows, err := database.DB.Query(sql, userID)
62 if err != nil { 62 if err != nil {
63 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 63 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
@@ -80,7 +80,7 @@ func Rankings(c *gin.Context) {
80 // Getting all mp records for each user 80 // Getting all mp records for each user
81 var uniqueMultiUserRecords, totalMultiMaps int 81 var uniqueMultiUserRecords, totalMultiMaps int
82 sql = `SELECT COUNT(DISTINCT map_id), (SELECT COUNT(map_name) FROM maps 82 sql = `SELECT COUNT(DISTINCT map_id), (SELECT COUNT(map_name) FROM maps
83 WHERE is_coop = TRUE AND is_disabled = false) FROM records_mp WHERE host_id = $1 OR partner_id = $2;` 83 WHERE is_coop = TRUE AND is_disabled = false) FROM records_mp WHERE host_id = $1 OR partner_id = $2`
84 err = database.DB.QueryRow(sql, userID, userID).Scan(&uniqueMultiUserRecords, &totalMultiMaps) 84 err = database.DB.QueryRow(sql, userID, userID).Scan(&uniqueMultiUserRecords, &totalMultiMaps)
85 if err != nil { 85 if err != nil {
86 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 86 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
@@ -91,7 +91,7 @@ func Rankings(c *gin.Context) {
91 var ranking models.UserRanking 91 var ranking models.UserRanking
92 ranking.UserID = userID 92 ranking.UserID = userID
93 ranking.UserName = username 93 ranking.UserName = username
94 sql := `SELECT DISTINCT map_id, score_count FROM records_mp WHERE host_id = $1 OR partner_id = $2 ORDER BY map_id, score_count;` 94 sql := `SELECT DISTINCT map_id, score_count FROM records_mp WHERE host_id = $1 OR partner_id = $2 ORDER BY map_id, score_count`
95 rows, err := database.DB.Query(sql, userID, userID) 95 rows, err := database.DB.Query(sql, userID, userID)
96 if err != nil { 96 if err != nil {
97 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 97 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
diff --git a/backend/controllers/mapController.go b/backend/controllers/mapController.go
index bd85a97..d8783b7 100644
--- a/backend/controllers/mapController.go
+++ b/backend/controllers/mapController.go
@@ -15,7 +15,6 @@ import (
15// 15//
16// @Summary Get map summary with specified id. 16// @Summary Get map summary with specified id.
17// @Tags maps 17// @Tags maps
18// @Accept json
19// @Produce json 18// @Produce json
20// @Param id path int true "Map ID" 19// @Param id path int true "Map ID"
21// @Success 200 {object} models.Response{data=models.Map{data=models.MapSummary}} 20// @Success 200 {object} models.Response{data=models.Map{data=models.MapSummary}}
@@ -57,7 +56,7 @@ func FetchMapSummary(c *gin.Context) {
57 FROM maps m 56 FROM maps m
58 INNER JOIN games g ON m.game_id = g.id 57 INNER JOIN games g ON m.game_id = g.id
59 INNER JOIN chapters c ON m.chapter_id = c.id 58 INNER JOIN chapters c ON m.chapter_id = c.id
60 WHERE m.id = $1;` 59 WHERE m.id = $1`
61 // TODO: CategoryScores 60 // TODO: CategoryScores
62 err = database.DB.QueryRow(sql, id).Scan(&mapData.GameName, &mapData.ChapterName, &mapData.MapName, &mapSummaryData.Description, &mapSummaryData.Showcase, &routers, &mapSummaryData.Rating) 61 err = database.DB.QueryRow(sql, id).Scan(&mapData.GameName, &mapData.ChapterName, &mapData.MapName, &mapSummaryData.Description, &mapSummaryData.Showcase, &routers, &mapSummaryData.Rating)
63 if err != nil { 62 if err != nil {
@@ -69,7 +68,7 @@ func FetchMapSummary(c *gin.Context) {
69 var historyDates pq.StringArray 68 var historyDates pq.StringArray
70 sql = `SELECT array_agg(user_name), array_agg(score_count), array_agg(record_date) 69 sql = `SELECT array_agg(user_name), array_agg(score_count), array_agg(record_date)
71 FROM map_history 70 FROM map_history
72 WHERE map_id = $1;` 71 WHERE map_id = $1`
73 err = database.DB.QueryRow(sql, id).Scan(&historyNames, &historyScores, &historyDates) 72 err = database.DB.QueryRow(sql, id).Scan(&historyNames, &historyScores, &historyDates)
74 if err != nil { 73 if err != nil {
75 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 74 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
@@ -103,7 +102,6 @@ func FetchMapSummary(c *gin.Context) {
103// 102//
104// @Summary Get map leaderboards with specified id. 103// @Summary Get map leaderboards with specified id.
105// @Tags maps 104// @Tags maps
106// @Accept json
107// @Produce json 105// @Produce json
108// @Param id path int true "Map ID" 106// @Param id path int true "Map ID"
109// @Success 200 {object} models.Response{data=models.Map{data=models.MapRecords}} 107// @Success 200 {object} models.Response{data=models.Map{data=models.MapRecords}}
@@ -125,7 +123,7 @@ func FetchMapLeaderboards(c *gin.Context) {
125 FROM maps m 123 FROM maps m
126 INNER JOIN games g ON m.game_id = g.id 124 INNER JOIN games g ON m.game_id = g.id
127 INNER JOIN chapters c ON m.chapter_id = c.id 125 INNER JOIN chapters c ON m.chapter_id = c.id
128 WHERE m.id = $1;` 126 WHERE m.id = $1`
129 err = database.DB.QueryRow(sql, id).Scan(&mapData.GameName, &mapData.ChapterName, &mapData.MapName, &isDisabled) 127 err = database.DB.QueryRow(sql, id).Scan(&mapData.GameName, &mapData.ChapterName, &mapData.MapName, &isDisabled)
130 if err != nil { 128 if err != nil {
131 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 129 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
@@ -146,7 +144,7 @@ func FetchMapLeaderboards(c *gin.Context) {
146 FROM records_mp 144 FROM records_mp
147 WHERE map_id = $1 145 WHERE map_id = $1
148 ) sub 146 ) sub
149 WHERE rn = 1;` 147 WHERE rn = 1`
150 rows, err := database.DB.Query(sql, id) 148 rows, err := database.DB.Query(sql, id)
151 if err != nil { 149 if err != nil {
152 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 150 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
@@ -181,7 +179,7 @@ func FetchMapLeaderboards(c *gin.Context) {
181 WHERE map_id = $1 179 WHERE map_id = $1
182 ) sub 180 ) sub
183 INNER JOIN users ON user_id = users.steam_id 181 INNER JOIN users ON user_id = users.steam_id
184 WHERE rn = 1;` 182 WHERE rn = 1`
185 rows, err := database.DB.Query(sql, id) 183 rows, err := database.DB.Query(sql, id)
186 if err != nil { 184 if err != nil {
187 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 185 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
@@ -215,3 +213,117 @@ func FetchMapLeaderboards(c *gin.Context) {
215 Data: mapData, 213 Data: mapData,
216 }) 214 })
217} 215}
216
217// GET Games
218//
219// @Summary Get games from the leaderboards.
220// @Tags games & chapters
221// @Produce json
222// @Success 200 {object} models.Response{data=[]models.Game}
223// @Failure 400 {object} models.Response
224// @Router /games [get]
225func FetchGames(c *gin.Context) {
226 rows, err := database.DB.Query(`SELECT id, name FROM games`)
227 if err != nil {
228 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
229 return
230 }
231 var games []models.Game
232 for rows.Next() {
233 var game models.Game
234 if err := rows.Scan(&game.ID, &game.Name); err != nil {
235 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
236 return
237 }
238 games = append(games, game)
239 }
240 c.JSON(http.StatusOK, models.Response{
241 Success: true,
242 Message: "Successfully retrieved games.",
243 Data: games,
244 })
245}
246
247// GET Chapters of a Game
248//
249// @Summary Get chapters from the specified game id.
250// @Tags games & chapters
251// @Produce json
252// @Param id path int true "Game ID"
253// @Success 200 {object} models.Response{data=models.ChaptersResponse}
254// @Failure 400 {object} models.Response
255// @Router /games/{id} [get]
256func FetchChapters(c *gin.Context) {
257 gameID := c.Param("id")
258 intID, err := strconv.Atoi(gameID)
259 if err != nil {
260 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
261 return
262 }
263 var response models.ChaptersResponse
264 rows, err := database.DB.Query(`SELECT c.id, c.name, g.name FROM chapters c INNER JOIN games g ON c.game_id = g.id WHERE game_id = $1`, gameID)
265 if err != nil {
266 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
267 return
268 }
269 var chapters []models.Chapter
270 var gameName string
271 for rows.Next() {
272 var chapter models.Chapter
273 if err := rows.Scan(&chapter.ID, &chapter.Name, &gameName); err != nil {
274 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
275 return
276 }
277 chapters = append(chapters, chapter)
278 }
279 response.Game.ID = intID
280 response.Game.Name = gameName
281 response.Chapters = chapters
282 c.JSON(http.StatusOK, models.Response{
283 Success: true,
284 Message: "Successfully retrieved chapters.",
285 Data: response,
286 })
287}
288
289// GET Maps of a Chapter
290//
291// @Summary Get maps from the specified chapter id.
292// @Tags games & chapters
293// @Produce json
294// @Param id path int true "Chapter ID"
295// @Success 200 {object} models.Response{data=models.ChapterMapsResponse}
296// @Failure 400 {object} models.Response
297// @Router /chapters/{id} [get]
298func FetchChapterMaps(c *gin.Context) {
299 chapterID := c.Param("id")
300 intID, err := strconv.Atoi(chapterID)
301 if err != nil {
302 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
303 return
304 }
305 var response models.ChapterMapsResponse
306 rows, err := database.DB.Query(`SELECT m.id, m.name, c.name FROM maps m INNER JOIN chapters c ON m.chapter_id = c.id WHERE chapter_id = $1`, chapterID)
307 if err != nil {
308 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
309 return
310 }
311 var maps []models.MapShort
312 var chapterName string
313 for rows.Next() {
314 var mapShort models.MapShort
315 if err := rows.Scan(&mapShort.ID, &mapShort.Name, &chapterName); err != nil {
316 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
317 return
318 }
319 maps = append(maps, mapShort)
320 }
321 response.Chapter.ID = intID
322 response.Chapter.Name = chapterName
323 response.Maps = maps
324 c.JSON(http.StatusOK, models.Response{
325 Success: true,
326 Message: "Successfully retrieved maps.",
327 Data: response,
328 })
329}
diff --git a/backend/controllers/recordController.go b/backend/controllers/recordController.go
index bafa844..627be57 100644
--- a/backend/controllers/recordController.go
+++ b/backend/controllers/recordController.go
@@ -46,7 +46,7 @@ func CreateRecordWithDemo(c *gin.Context) {
46 var gameID int 46 var gameID int
47 var isCoop bool 47 var isCoop bool
48 var isDisabled bool 48 var isDisabled bool
49 sql := `SELECT game_id, is_disabled FROM maps WHERE id = $1;` 49 sql := `SELECT game_id, is_disabled FROM maps WHERE id = $1`
50 err := database.DB.QueryRow(sql, mapId).Scan(&gameID, &isDisabled) 50 err := database.DB.QueryRow(sql, mapId).Scan(&gameID, &isDisabled)
51 if err != nil { 51 if err != nil {
52 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 52 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
@@ -153,7 +153,7 @@ func CreateRecordWithDemo(c *gin.Context) {
153 // Insert into records 153 // Insert into records
154 if isCoop { 154 if isCoop {
155 sql := `INSERT INTO records_mp(map_id,score_count,score_time,host_id,partner_id,host_demo_id,partner_demo_id) 155 sql := `INSERT INTO records_mp(map_id,score_count,score_time,host_id,partner_id,host_demo_id,partner_demo_id)
156 VALUES($1, $2, $3, $4, $5, $6, $7);` 156 VALUES($1, $2, $3, $4, $5, $6, $7)`
157 var hostID string 157 var hostID string
158 var partnerID string 158 var partnerID string
159 if record.IsPartnerOrange { 159 if record.IsPartnerOrange {
@@ -171,7 +171,7 @@ func CreateRecordWithDemo(c *gin.Context) {
171 } 171 }
172 // If a new world record based on portal count 172 // If a new world record based on portal count
173 // if record.ScoreCount < wrScore { 173 // if record.ScoreCount < wrScore {
174 // _, err := tx.Exec(`UPDATE maps SET wr_score = $1, wr_time = $2 WHERE id = $3;`, record.ScoreCount, record.ScoreTime, mapId) 174 // _, err := tx.Exec(`UPDATE maps SET wr_score = $1, wr_time = $2 WHERE id = $3`, record.ScoreCount, record.ScoreTime, mapId)
175 // if err != nil { 175 // if err != nil {
176 // c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 176 // c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
177 // return 177 // return
@@ -179,7 +179,7 @@ func CreateRecordWithDemo(c *gin.Context) {
179 // } 179 // }
180 } else { 180 } else {
181 sql := `INSERT INTO records_sp(map_id,score_count,score_time,user_id,demo_id) 181 sql := `INSERT INTO records_sp(map_id,score_count,score_time,user_id,demo_id)
182 VALUES($1, $2, $3, $4, $5);` 182 VALUES($1, $2, $3, $4, $5)`
183 _, err := tx.Exec(sql, mapId, record.ScoreCount, record.ScoreTime, user.(models.User).SteamID, hostDemoUUID) 183 _, err := tx.Exec(sql, mapId, record.ScoreCount, record.ScoreTime, user.(models.User).SteamID, hostDemoUUID)
184 if err != nil { 184 if err != nil {
185 deleteFile(srv, fileID) 185 deleteFile(srv, fileID)
@@ -188,7 +188,7 @@ func CreateRecordWithDemo(c *gin.Context) {
188 } 188 }
189 // If a new world record based on portal count 189 // If a new world record based on portal count
190 // if record.ScoreCount < wrScore { 190 // if record.ScoreCount < wrScore {
191 // _, err := tx.Exec(`UPDATE maps SET wr_score = $1, wr_time = $2 WHERE id = $3;`, record.ScoreCount, record.ScoreTime, mapId) 191 // _, err := tx.Exec(`UPDATE maps SET wr_score = $1, wr_time = $2 WHERE id = $3`, record.ScoreCount, record.ScoreTime, mapId)
192 // if err != nil { 192 // if err != nil {
193 // c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 193 // c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
194 // return 194 // return
@@ -224,7 +224,7 @@ func DownloadDemoWithID(c *gin.Context) {
224 c.JSON(http.StatusBadRequest, models.ErrorResponse("Invalid id given.")) 224 c.JSON(http.StatusBadRequest, models.ErrorResponse("Invalid id given."))
225 return 225 return
226 } 226 }
227 err := database.DB.QueryRow(`SELECT location_id FROM demos WHERE id = $1;`, uuid).Scan(&locationID) 227 err := database.DB.QueryRow(`SELECT location_id FROM demos WHERE id = $1`, uuid).Scan(&locationID)
228 if err != nil { 228 if err != nil {
229 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 229 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
230 return 230 return
diff --git a/backend/controllers/userController.go b/backend/controllers/userController.go
index 5ad800d..adf936b 100644
--- a/backend/controllers/userController.go
+++ b/backend/controllers/userController.go
@@ -31,7 +31,7 @@ func Profile(c *gin.Context) {
31 } 31 }
32 // Retrieve singleplayer records 32 // Retrieve singleplayer records
33 var scoresSP []models.ScoreResponse 33 var scoresSP []models.ScoreResponse
34 sql := `SELECT id, map_id, score_count, score_time, demo_id, record_date FROM records_sp WHERE user_id = $1 ORDER BY map_id;` 34 sql := `SELECT id, map_id, score_count, score_time, demo_id, record_date FROM records_sp WHERE user_id = $1 ORDER BY map_id`
35 rows, err := database.DB.Query(sql, user.(models.User).SteamID) 35 rows, err := database.DB.Query(sql, user.(models.User).SteamID)
36 if err != nil { 36 if err != nil {
37 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 37 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
@@ -58,7 +58,7 @@ func Profile(c *gin.Context) {
58 // Retrieve multiplayer records 58 // Retrieve multiplayer records
59 var scoresMP []models.ScoreResponse 59 var scoresMP []models.ScoreResponse
60 sql = `SELECT id, map_id, host_id, partner_id, score_count, score_time, host_demo_id, partner_demo_id, record_date FROM records_mp 60 sql = `SELECT id, map_id, host_id, partner_id, score_count, score_time, host_demo_id, partner_demo_id, record_date FROM records_mp
61 WHERE host_id = $1 OR partner_id = $2 ORDER BY map_id;` 61 WHERE host_id = $1 OR partner_id = $2 ORDER BY map_id`
62 rows, err = database.DB.Query(sql, user.(models.User).SteamID, user.(models.User).SteamID) 62 rows, err = database.DB.Query(sql, user.(models.User).SteamID, user.(models.User).SteamID)
63 if err != nil { 63 if err != nil {
64 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 64 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
@@ -119,7 +119,7 @@ func FetchUser(c *gin.Context) {
119 } 119 }
120 // Check if user exists 120 // Check if user exists
121 var user models.User 121 var user models.User
122 err := database.DB.QueryRow(`SELECT * FROM users WHERE steam_id = $1;`, id).Scan( 122 err := database.DB.QueryRow(`SELECT * FROM users WHERE steam_id = $1`, id).Scan(
123 &user.SteamID, &user.UserName, &user.AvatarLink, &user.CountryCode, 123 &user.SteamID, &user.UserName, &user.AvatarLink, &user.CountryCode,
124 &user.CreatedAt, &user.UpdatedAt) 124 &user.CreatedAt, &user.UpdatedAt)
125 if user.SteamID == "" { 125 if user.SteamID == "" {
@@ -133,7 +133,7 @@ func FetchUser(c *gin.Context) {
133 } 133 }
134 // Retrieve singleplayer records 134 // Retrieve singleplayer records
135 var scoresSP []models.ScoreResponse 135 var scoresSP []models.ScoreResponse
136 sql := `SELECT id, map_id, score_count, score_time, demo_id, record_date FROM records_sp WHERE user_id = $1 ORDER BY map_id;` 136 sql := `SELECT id, map_id, score_count, score_time, demo_id, record_date FROM records_sp WHERE user_id = $1 ORDER BY map_id`
137 rows, err := database.DB.Query(sql, user.SteamID) 137 rows, err := database.DB.Query(sql, user.SteamID)
138 if err != nil { 138 if err != nil {
139 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 139 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
@@ -160,7 +160,7 @@ func FetchUser(c *gin.Context) {
160 // Retrieve multiplayer records 160 // Retrieve multiplayer records
161 var scoresMP []models.ScoreResponse 161 var scoresMP []models.ScoreResponse
162 sql = `SELECT id, map_id, host_id, partner_id, score_count, score_time, host_demo_id, partner_demo_id, record_date FROM records_mp 162 sql = `SELECT id, map_id, host_id, partner_id, score_count, score_time, host_demo_id, partner_demo_id, record_date FROM records_mp
163 WHERE host_id = $1 OR partner_id = $2 ORDER BY map_id;` 163 WHERE host_id = $1 OR partner_id = $2 ORDER BY map_id`
164 rows, err = database.DB.Query(sql, user.SteamID, user.SteamID) 164 rows, err = database.DB.Query(sql, user.SteamID, user.SteamID)
165 if err != nil { 165 if err != nil {
166 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 166 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
@@ -225,7 +225,7 @@ func UpdateUser(c *gin.Context) {
225 } 225 }
226 // Update profile 226 // Update profile
227 _, err = database.DB.Exec(`UPDATE users SET username = $1, avatar_link = $2, country_code = $3, updated_at = $4 227 _, err = database.DB.Exec(`UPDATE users SET username = $1, avatar_link = $2, country_code = $3, updated_at = $4
228 WHERE steam_id = $5;`, profile.PersonaName, profile.AvatarFull, profile.LocCountryCode, time.Now().UTC(), user.(models.User).SteamID) 228 WHERE steam_id = $5`, profile.PersonaName, profile.AvatarFull, profile.LocCountryCode, time.Now().UTC(), user.(models.User).SteamID)
229 if err != nil { 229 if err != nil {
230 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 230 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
231 return 231 return
@@ -268,7 +268,7 @@ func UpdateCountryCode(c *gin.Context) {
268 return 268 return
269 } 269 }
270 var validCode string 270 var validCode string
271 err := database.DB.QueryRow(`SELECT country_code FROM countries WHERE country_code = $1;`, code).Scan(&validCode) 271 err := database.DB.QueryRow(`SELECT country_code FROM countries WHERE country_code = $1`, code).Scan(&validCode)
272 if err != nil { 272 if err != nil {
273 c.JSON(http.StatusNotFound, models.ErrorResponse(err.Error())) 273 c.JSON(http.StatusNotFound, models.ErrorResponse(err.Error()))
274 return 274 return