diff options
| author | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2023-05-03 16:05:30 +0300 |
|---|---|---|
| committer | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2023-05-03 16:05:30 +0300 |
| commit | 937160bfda2c8edc5ff5dd73899b517bb0ceb515 (patch) | |
| tree | 76d9d5d679c4de0032877ea244c08a3a2c4a658f /backend | |
| parent | feat: add path request to the response with names (diff) | |
| download | lphub-937160bfda2c8edc5ff5dd73899b517bb0ceb515.tar.gz lphub-937160bfda2c8edc5ff5dd73899b517bb0ceb515.tar.bz2 lphub-937160bfda2c8edc5ff5dd73899b517bb0ceb515.zip | |
fix: sql typos, routing change
Diffstat (limited to 'backend')
| -rw-r--r-- | backend/controllers/homeController.go | 10 | ||||
| -rw-r--r-- | backend/controllers/mapController.go | 22 | ||||
| -rw-r--r-- | backend/controllers/recordController.go | 12 | ||||
| -rw-r--r-- | backend/controllers/userController.go | 14 | ||||
| -rw-r--r-- | backend/middleware/auth.go | 2 | ||||
| -rw-r--r-- | backend/routes/routes.go | 4 |
6 files changed, 32 insertions, 32 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] |
| 31 | func Rankings(c *gin.Context) { | 31 | func 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 506daa2..d8783b7 100644 --- a/backend/controllers/mapController.go +++ b/backend/controllers/mapController.go | |||
| @@ -56,7 +56,7 @@ func FetchMapSummary(c *gin.Context) { | |||
| 56 | FROM maps m | 56 | FROM maps m |
| 57 | INNER JOIN games g ON m.game_id = g.id | 57 | INNER JOIN games g ON m.game_id = g.id |
| 58 | INNER JOIN chapters c ON m.chapter_id = c.id | 58 | INNER JOIN chapters c ON m.chapter_id = c.id |
| 59 | WHERE m.id = $1;` | 59 | WHERE m.id = $1` |
| 60 | // TODO: CategoryScores | 60 | // TODO: CategoryScores |
| 61 | 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) |
| 62 | if err != nil { | 62 | if err != nil { |
| @@ -68,7 +68,7 @@ func FetchMapSummary(c *gin.Context) { | |||
| 68 | var historyDates pq.StringArray | 68 | var historyDates pq.StringArray |
| 69 | 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) |
| 70 | FROM map_history | 70 | FROM map_history |
| 71 | WHERE map_id = $1;` | 71 | WHERE map_id = $1` |
| 72 | err = database.DB.QueryRow(sql, id).Scan(&historyNames, &historyScores, &historyDates) | 72 | err = database.DB.QueryRow(sql, id).Scan(&historyNames, &historyScores, &historyDates) |
| 73 | if err != nil { | 73 | if err != nil { |
| 74 | c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) | 74 | c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) |
| @@ -123,7 +123,7 @@ func FetchMapLeaderboards(c *gin.Context) { | |||
| 123 | FROM maps m | 123 | FROM maps m |
| 124 | INNER JOIN games g ON m.game_id = g.id | 124 | INNER JOIN games g ON m.game_id = g.id |
| 125 | INNER JOIN chapters c ON m.chapter_id = c.id | 125 | INNER JOIN chapters c ON m.chapter_id = c.id |
| 126 | WHERE m.id = $1;` | 126 | WHERE m.id = $1` |
| 127 | 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) |
| 128 | if err != nil { | 128 | if err != nil { |
| 129 | c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) | 129 | c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) |
| @@ -144,7 +144,7 @@ func FetchMapLeaderboards(c *gin.Context) { | |||
| 144 | FROM records_mp | 144 | FROM records_mp |
| 145 | WHERE map_id = $1 | 145 | WHERE map_id = $1 |
| 146 | ) sub | 146 | ) sub |
| 147 | WHERE rn = 1;` | 147 | WHERE rn = 1` |
| 148 | rows, err := database.DB.Query(sql, id) | 148 | rows, err := database.DB.Query(sql, id) |
| 149 | if err != nil { | 149 | if err != nil { |
| 150 | c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) | 150 | c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) |
| @@ -179,7 +179,7 @@ func FetchMapLeaderboards(c *gin.Context) { | |||
| 179 | WHERE map_id = $1 | 179 | WHERE map_id = $1 |
| 180 | ) sub | 180 | ) sub |
| 181 | INNER JOIN users ON user_id = users.steam_id | 181 | INNER JOIN users ON user_id = users.steam_id |
| 182 | WHERE rn = 1;` | 182 | WHERE rn = 1` |
| 183 | rows, err := database.DB.Query(sql, id) | 183 | rows, err := database.DB.Query(sql, id) |
| 184 | if err != nil { | 184 | if err != nil { |
| 185 | c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) | 185 | c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) |
| @@ -217,7 +217,7 @@ func FetchMapLeaderboards(c *gin.Context) { | |||
| 217 | // GET Games | 217 | // GET Games |
| 218 | // | 218 | // |
| 219 | // @Summary Get games from the leaderboards. | 219 | // @Summary Get games from the leaderboards. |
| 220 | // @Tags games | 220 | // @Tags games & chapters |
| 221 | // @Produce json | 221 | // @Produce json |
| 222 | // @Success 200 {object} models.Response{data=[]models.Game} | 222 | // @Success 200 {object} models.Response{data=[]models.Game} |
| 223 | // @Failure 400 {object} models.Response | 223 | // @Failure 400 {object} models.Response |
| @@ -247,12 +247,12 @@ func FetchGames(c *gin.Context) { | |||
| 247 | // GET Chapters of a Game | 247 | // GET Chapters of a Game |
| 248 | // | 248 | // |
| 249 | // @Summary Get chapters from the specified game id. | 249 | // @Summary Get chapters from the specified game id. |
| 250 | // @Tags chapters | 250 | // @Tags games & chapters |
| 251 | // @Produce json | 251 | // @Produce json |
| 252 | // @Param id path int true "Game ID" | 252 | // @Param id path int true "Game ID" |
| 253 | // @Success 200 {object} models.Response{data=models.ChaptersResponse} | 253 | // @Success 200 {object} models.Response{data=models.ChaptersResponse} |
| 254 | // @Failure 400 {object} models.Response | 254 | // @Failure 400 {object} models.Response |
| 255 | // @Router /chapters/{id} [get] | 255 | // @Router /games/{id} [get] |
| 256 | func FetchChapters(c *gin.Context) { | 256 | func FetchChapters(c *gin.Context) { |
| 257 | gameID := c.Param("id") | 257 | gameID := c.Param("id") |
| 258 | intID, err := strconv.Atoi(gameID) | 258 | intID, err := strconv.Atoi(gameID) |
| @@ -289,12 +289,12 @@ func FetchChapters(c *gin.Context) { | |||
| 289 | // GET Maps of a Chapter | 289 | // GET Maps of a Chapter |
| 290 | // | 290 | // |
| 291 | // @Summary Get maps from the specified chapter id. | 291 | // @Summary Get maps from the specified chapter id. |
| 292 | // @Tags maps | 292 | // @Tags games & chapters |
| 293 | // @Produce json | 293 | // @Produce json |
| 294 | // @Param id path int true "Chapter ID" | 294 | // @Param id path int true "Chapter ID" |
| 295 | // @Success 200 {object} models.Response{data=[]models.MapShort} | 295 | // @Success 200 {object} models.Response{data=models.ChapterMapsResponse} |
| 296 | // @Failure 400 {object} models.Response | 296 | // @Failure 400 {object} models.Response |
| 297 | // @Router /maps/{id} [get] | 297 | // @Router /chapters/{id} [get] |
| 298 | func FetchChapterMaps(c *gin.Context) { | 298 | func FetchChapterMaps(c *gin.Context) { |
| 299 | chapterID := c.Param("id") | 299 | chapterID := c.Param("id") |
| 300 | intID, err := strconv.Atoi(chapterID) | 300 | intID, err := strconv.Atoi(chapterID) |
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 |
diff --git a/backend/middleware/auth.go b/backend/middleware/auth.go index cd00a30..14a0b78 100644 --- a/backend/middleware/auth.go +++ b/backend/middleware/auth.go | |||
| @@ -36,7 +36,7 @@ func CheckAuth(c *gin.Context) { | |||
| 36 | } | 36 | } |
| 37 | // Get user from DB | 37 | // Get user from DB |
| 38 | var user models.User | 38 | var user models.User |
| 39 | database.DB.QueryRow(`SELECT * FROM users WHERE steam_id = $1;`, claims["sub"]).Scan( | 39 | database.DB.QueryRow(`SELECT * FROM users WHERE steam_id = $1`, claims["sub"]).Scan( |
| 40 | &user.SteamID, &user.UserName, &user.AvatarLink, | 40 | &user.SteamID, &user.UserName, &user.AvatarLink, |
| 41 | &user.CountryCode, &user.CreatedAt, &user.UpdatedAt) | 41 | &user.CountryCode, &user.CreatedAt, &user.UpdatedAt) |
| 42 | if user.SteamID == "" { | 42 | if user.SteamID == "" { |
diff --git a/backend/routes/routes.go b/backend/routes/routes.go index 2741208..2554fa4 100644 --- a/backend/routes/routes.go +++ b/backend/routes/routes.go | |||
| @@ -26,10 +26,10 @@ func InitRoutes(router *gin.Engine) { | |||
| 26 | v1.GET("/maps/:id/summary", middleware.CheckAuth, controllers.FetchMapSummary) | 26 | v1.GET("/maps/:id/summary", middleware.CheckAuth, controllers.FetchMapSummary) |
| 27 | v1.GET("/maps/:id/leaderboards", middleware.CheckAuth, controllers.FetchMapLeaderboards) | 27 | v1.GET("/maps/:id/leaderboards", middleware.CheckAuth, controllers.FetchMapLeaderboards) |
| 28 | v1.POST("/maps/:id/record", middleware.CheckAuth, controllers.CreateRecordWithDemo) | 28 | v1.POST("/maps/:id/record", middleware.CheckAuth, controllers.CreateRecordWithDemo) |
| 29 | v1.GET("/maps/:id", controllers.FetchChapterMaps) | ||
| 30 | v1.GET("/rankings", middleware.CheckAuth, controllers.Rankings) | 29 | v1.GET("/rankings", middleware.CheckAuth, controllers.Rankings) |
| 31 | v1.GET("/search", controllers.Search) | 30 | v1.GET("/search", controllers.Search) |
| 32 | v1.GET("/games", controllers.FetchGames) | 31 | v1.GET("/games", controllers.FetchGames) |
| 33 | v1.GET("/chapters/:id", controllers.FetchChapters) | 32 | v1.GET("/games/:id", controllers.FetchChapters) |
| 33 | v1.GET("/chapters/:id", controllers.FetchChapterMaps) | ||
| 34 | } | 34 | } |
| 35 | } | 35 | } |