aboutsummaryrefslogtreecommitdiff
path: root/backend/handlers
diff options
context:
space:
mode:
Diffstat (limited to 'backend/handlers')
-rw-r--r--backend/handlers/record.go2
-rw-r--r--backend/handlers/user.go54
2 files changed, 28 insertions, 28 deletions
diff --git a/backend/handlers/record.go b/backend/handlers/record.go
index c720823..e43cc61 100644
--- a/backend/handlers/record.go
+++ b/backend/handlers/record.go
@@ -204,7 +204,7 @@ func CreateRecordWithDemo(c *gin.Context) {
204 // c.JSON(http.StatusOK, models.ErrorResponse(fmt.Sprintf("Partner SteamID from demo and request does not match! Check your submission and try again.\nDemo Partner SteamID: %s\nRequest Partner SteamID: %s", convertedPartnerSteamID, record.PartnerID))) 204 // c.JSON(http.StatusOK, models.ErrorResponse(fmt.Sprintf("Partner SteamID from demo and request does not match! Check your submission and try again.\nDemo Partner SteamID: %s\nRequest Partner SteamID: %s", convertedPartnerSteamID, record.PartnerID)))
205 // return 205 // return
206 // } 206 // }
207 if convertedHostSteamID != user.(models.User).SteamID || convertedPartnerSteamID != user.(models.User).SteamID { 207 if convertedHostSteamID != user.(models.User).SteamID && convertedPartnerSteamID != user.(models.User).SteamID {
208 deleteFile(srv, hostDemoFileID) 208 deleteFile(srv, hostDemoFileID)
209 deleteFile(srv, partnerDemoFileID) 209 deleteFile(srv, partnerDemoFileID)
210 c.JSON(http.StatusOK, models.ErrorResponse("You are permitted to only upload your own runs!")) 210 c.JSON(http.StatusOK, models.ErrorResponse("You are permitted to only upload your own runs!"))
diff --git a/backend/handlers/user.go b/backend/handlers/user.go
index 17a7819..dc058c8 100644
--- a/backend/handlers/user.go
+++ b/backend/handlers/user.go
@@ -98,19 +98,19 @@ func Profile(c *gin.Context) {
98 } 98 }
99 rankings.Overall.CompletionTotal = rankings.Singleplayer.CompletionTotal + rankings.Cooperative.CompletionTotal 99 rankings.Overall.CompletionTotal = rankings.Singleplayer.CompletionTotal + rankings.Cooperative.CompletionTotal
100 // Get user completion count 100 // Get user completion count
101 sql = `SELECT 'records_sp' AS table_name, COUNT(sp.id) 101 sql = `SELECT 'records_sp' AS table_name, COUNT(*) FROM (
102 FROM records_sp sp JOIN ( 102 SELECT sp.map_id FROM records_sp sp JOIN (
103 SELECT mh.map_id, MIN(mh.score_count) AS min_score_count 103 SELECT mh.map_id, MIN(mh.score_count) AS min_score_count FROM map_history mh WHERE mh.category_id = 1 GROUP BY mh.map_id
104 FROM public.map_history mh WHERE mh.category_id = 1 GROUP BY mh.map_id 104 ) AS subquery_sp ON sp.map_id = subquery_sp.map_id AND sp.score_count = subquery_sp.min_score_count
105 ) AS subquery_sp ON sp.map_id = subquery_sp.map_id AND sp.score_count = subquery_sp.min_score_count 105 WHERE sp.user_id = $1 AND sp.is_deleted = false GROUP BY sp.map_id
106 WHERE sp.user_id = $1 AND sp.is_deleted = false 106 ) AS unique_maps
107 UNION ALL 107 UNION ALL
108 SELECT 'records_mp' AS table_name, COUNT(mp.id) 108 SELECT 'records_mp' AS table_name, COUNT(*) FROM (
109 FROM public.records_mp mp JOIN ( 109 SELECT mp.map_id FROM records_mp mp JOIN (
110 SELECT mh.map_id, MIN(mh.score_count) AS min_score_count 110 SELECT mh.map_id, MIN(mh.score_count) AS min_score_count FROM map_history mh WHERE mh.category_id = 1 GROUP BY mh.map_id
111 FROM public.map_history mh WHERE mh.category_id = 1 GROUP BY mh.map_id 111 ) AS subquery_mp ON mp.map_id = subquery_mp.map_id AND mp.score_count = subquery_mp.min_score_count
112 ) AS subquery_mp ON mp.map_id = subquery_mp.map_id AND mp.score_count = subquery_mp.min_score_count 112 WHERE (mp.host_id = $1 OR mp.partner_id = $1) AND mp.is_deleted = false GROUP BY mp.map_id
113 WHERE (mp.host_id = $1 OR mp.partner_id = $1) AND mp.is_deleted = false` 113 ) AS unique_maps`
114 rows, err := database.DB.Query(sql, user.(models.User).SteamID) 114 rows, err := database.DB.Query(sql, user.(models.User).SteamID)
115 if err != nil { 115 if err != nil {
116 c.JSON(http.StatusOK, models.ErrorResponse(err.Error())) 116 c.JSON(http.StatusOK, models.ErrorResponse(err.Error()))
@@ -350,7 +350,7 @@ func Profile(c *gin.Context) {
350 records[len(records)-1].Scores = append(records[len(records)-1].Scores, score) 350 records[len(records)-1].Scores = append(records[len(records)-1].Scores, score)
351 } 351 }
352 // Get multiplayer records 352 // Get multiplayer records
353 sql = `SELECT mp.id, m.game_id, m.chapter_id, mp.map_id, m."name", (SELECT mh.score_count FROM map_history mh WHERE mh.map_id = mp.map_id ORDER BY mh.score_count ASC LIMIT 1) AS wr_count, mp.score_count, mp.score_time, CASE WHEN host_id = $1 THEN mp.host_demo_id WHEN partner_id = $1 THEN mp.partner_demo_id END demo_id, mp.record_date 353 sql = `SELECT mp.id, m.game_id, m.chapter_id, mp.map_id, m."name", (SELECT mh.score_count FROM map_history mh WHERE mh.map_id = mp.map_id AND mh.category_id = 1 ORDER BY mh.score_count ASC LIMIT 1) AS wr_count, mp.score_count, mp.score_time, CASE WHEN host_id = $1 THEN mp.host_demo_id WHEN partner_id = $1 THEN mp.partner_demo_id END demo_id, mp.record_date
354 FROM records_mp mp INNER JOIN maps m ON mp.map_id = m.id WHERE (mp.host_id = $1 OR mp.partner_id = $1) AND mp.is_deleted = false ORDER BY mp.map_id, mp.score_count, mp.score_time` 354 FROM records_mp mp INNER JOIN maps m ON mp.map_id = m.id WHERE (mp.host_id = $1 OR mp.partner_id = $1) AND mp.is_deleted = false ORDER BY mp.map_id, mp.score_count, mp.score_time`
355 rows, err = database.DB.Query(sql, user.(models.User).SteamID) 355 rows, err = database.DB.Query(sql, user.(models.User).SteamID)
356 if err != nil { 356 if err != nil {
@@ -476,19 +476,19 @@ func FetchUser(c *gin.Context) {
476 } 476 }
477 rankings.Overall.CompletionTotal = rankings.Singleplayer.CompletionTotal + rankings.Cooperative.CompletionTotal 477 rankings.Overall.CompletionTotal = rankings.Singleplayer.CompletionTotal + rankings.Cooperative.CompletionTotal
478 // Get user completion count 478 // Get user completion count
479 sql = `SELECT 'records_sp' AS table_name, COUNT(sp.id) 479 sql = `SELECT 'records_sp' AS table_name, COUNT(*) FROM (
480 FROM records_sp sp JOIN ( 480 SELECT sp.map_id FROM records_sp sp JOIN (
481 SELECT mh.map_id, MIN(mh.score_count) AS min_score_count 481 SELECT mh.map_id, MIN(mh.score_count) AS min_score_count FROM map_history mh WHERE mh.category_id = 1 GROUP BY mh.map_id
482 FROM public.map_history mh WHERE mh.category_id = 1 GROUP BY mh.map_id 482 ) AS subquery_sp ON sp.map_id = subquery_sp.map_id AND sp.score_count = subquery_sp.min_score_count
483 ) AS subquery_sp ON sp.map_id = subquery_sp.map_id AND sp.score_count = subquery_sp.min_score_count 483 WHERE sp.user_id = $1 AND sp.is_deleted = false GROUP BY sp.map_id
484 WHERE sp.user_id = $1 AND sp.is_deleted = false 484 ) AS unique_maps
485 UNION ALL 485 UNION ALL
486 SELECT 'records_mp' AS table_name, COUNT(mp.id) 486 SELECT 'records_mp' AS table_name, COUNT(*) FROM (
487 FROM public.records_mp mp JOIN ( 487 SELECT mp.map_id FROM records_mp mp JOIN (
488 SELECT mh.map_id, MIN(mh.score_count) AS min_score_count 488 SELECT mh.map_id, MIN(mh.score_count) AS min_score_count FROM map_history mh WHERE mh.category_id = 1 GROUP BY mh.map_id
489 FROM public.map_history mh WHERE mh.category_id = 1 GROUP BY mh.map_id 489 ) AS subquery_mp ON mp.map_id = subquery_mp.map_id AND mp.score_count = subquery_mp.min_score_count
490 ) AS subquery_mp ON mp.map_id = subquery_mp.map_id AND mp.score_count = subquery_mp.min_score_count 490 WHERE (mp.host_id = $1 OR mp.partner_id = $1) AND mp.is_deleted = false GROUP BY mp.map_id
491 WHERE (mp.host_id = $1 OR mp.partner_id = $1) AND mp.is_deleted = false` 491 ) AS unique_maps`
492 rows, err = database.DB.Query(sql, user.SteamID) 492 rows, err = database.DB.Query(sql, user.SteamID)
493 if err != nil { 493 if err != nil {
494 c.JSON(http.StatusOK, models.ErrorResponse(err.Error())) 494 c.JSON(http.StatusOK, models.ErrorResponse(err.Error()))
@@ -672,7 +672,7 @@ func FetchUser(c *gin.Context) {
672 } 672 }
673 records := []ProfileRecords{} 673 records := []ProfileRecords{}
674 // Get singleplayer records 674 // Get singleplayer records
675 sql = `SELECT sp.id, m.game_id, m.chapter_id, sp.map_id, m."name", (SELECT mh.score_count FROM map_history mh WHERE mh.map_id = sp.map_id ORDER BY mh.score_count ASC LIMIT 1) AS wr_count, sp.score_count, sp.score_time, sp.demo_id, sp.record_date 675 sql = `SELECT sp.id, m.game_id, m.chapter_id, sp.map_id, m."name", (SELECT mh.score_count FROM map_history mh WHERE mh.map_id = sp.map_id AND mh.category_id = 1 ORDER BY mh.score_count ASC LIMIT 1) AS wr_count, sp.score_count, sp.score_time, sp.demo_id, sp.record_date
676 FROM records_sp sp INNER JOIN maps m ON sp.map_id = m.id WHERE sp.user_id = $1 AND sp.is_deleted = false ORDER BY sp.map_id, sp.score_count, sp.score_time` 676 FROM records_sp sp INNER JOIN maps m ON sp.map_id = m.id WHERE sp.user_id = $1 AND sp.is_deleted = false ORDER BY sp.map_id, sp.score_count, sp.score_time`
677 rows, err = database.DB.Query(sql, user.SteamID) 677 rows, err = database.DB.Query(sql, user.SteamID)
678 if err != nil { 678 if err != nil {
@@ -728,7 +728,7 @@ func FetchUser(c *gin.Context) {
728 records[len(records)-1].Scores = append(records[len(records)-1].Scores, score) 728 records[len(records)-1].Scores = append(records[len(records)-1].Scores, score)
729 } 729 }
730 // Get multiplayer records 730 // Get multiplayer records
731 sql = `SELECT mp.id, m.game_id, m.chapter_id, mp.map_id, m."name", (SELECT mh.score_count FROM map_history mh WHERE mh.map_id = mp.map_id ORDER BY mh.score_count ASC LIMIT 1) AS wr_count, mp.score_count, mp.score_time, CASE WHEN host_id = $1 THEN mp.host_demo_id WHEN partner_id = $1 THEN mp.partner_demo_id END demo_id, mp.record_date 731 sql = `SELECT mp.id, m.game_id, m.chapter_id, mp.map_id, m."name", (SELECT mh.score_count FROM map_history mh WHERE mh.map_id = mp.map_id AND mh.category_id = 1 ORDER BY mh.score_count ASC LIMIT 1) AS wr_count, mp.score_count, mp.score_time, CASE WHEN host_id = $1 THEN mp.host_demo_id WHEN partner_id = $1 THEN mp.partner_demo_id END demo_id, mp.record_date
732 FROM records_mp mp INNER JOIN maps m ON mp.map_id = m.id WHERE (mp.host_id = $1 OR mp.partner_id = $1) AND mp.is_deleted = false ORDER BY mp.map_id, mp.score_count, mp.score_time` 732 FROM records_mp mp INNER JOIN maps m ON mp.map_id = m.id WHERE (mp.host_id = $1 OR mp.partner_id = $1) AND mp.is_deleted = false ORDER BY mp.map_id, mp.score_count, mp.score_time`
733 rows, err = database.DB.Query(sql, user.SteamID) 733 rows, err = database.DB.Query(sql, user.SteamID)
734 if err != nil { 734 if err != nil {