aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2023-02-02 23:06:19 +0300
committerArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2023-02-02 23:06:19 +0300
commit45750b099f41df59b22932992620a70c4e09412e (patch)
treefdfad5ac2b4735b2740b6638049295b43f2575e9
parentfeat: refresh/update user via steam (#30) (diff)
downloadlphub-45750b099f41df59b22932992620a70c4e09412e.tar.gz
lphub-45750b099f41df59b22932992620a70c4e09412e.tar.bz2
lphub-45750b099f41df59b22932992620a70c4e09412e.zip
fix: only show top record of a person in the map rankings (obviously) shoutout chatgpt
-rw-r--r--backend/controllers/mapController.go20
1 files changed, 18 insertions, 2 deletions
diff --git a/backend/controllers/mapController.go b/backend/controllers/mapController.go
index 53fb18c..4c57971 100644
--- a/backend/controllers/mapController.go
+++ b/backend/controllers/mapController.go
@@ -34,7 +34,13 @@ func FetchMap(c *gin.Context) {
34 if mapData.IsCoop { 34 if mapData.IsCoop {
35 var records []models.RecordMP 35 var records []models.RecordMP
36 sql = `SELECT id, host_id, partner_id, score_count, score_time, host_demo_id, partner_demo_id, record_date 36 sql = `SELECT id, host_id, partner_id, score_count, score_time, host_demo_id, partner_demo_id, record_date
37 FROM records_mp WHERE map_id = $1 ORDER BY score_count, score_time;` 37 FROM (
38 SELECT id, host_id, partner_id, score_count, score_time, host_demo_id, partner_demo_id, record_date,
39 ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY score_count, score_time) AS rn
40 FROM records_mp
41 WHERE map_id = $1
42 ) sub
43 WHERE rn = 1;`
38 rows, err := database.DB.Query(sql, id) 44 rows, err := database.DB.Query(sql, id)
39 if err != nil { 45 if err != nil {
40 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 46 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
@@ -62,7 +68,13 @@ func FetchMap(c *gin.Context) {
62 } else { 68 } else {
63 var records []models.RecordSP 69 var records []models.RecordSP
64 sql = `SELECT id, user_id, score_count, score_time, demo_id, record_date 70 sql = `SELECT id, user_id, score_count, score_time, demo_id, record_date
65 FROM records_sp WHERE map_id = $1 ORDER BY score_count, score_time;` 71 FROM (
72 SELECT id, user_id, score_count, score_time, demo_id, record_date,
73 ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY score_count, score_time) AS rn
74 FROM records_sp
75 WHERE map_id = $1
76 ) sub
77 WHERE rn = 1;`
66 rows, err := database.DB.Query(sql, id) 78 rows, err := database.DB.Query(sql, id)
67 if err != nil { 79 if err != nil {
68 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 80 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
@@ -95,3 +107,7 @@ func FetchMap(c *gin.Context) {
95 Data: mapData, 107 Data: mapData,
96 }) 108 })
97} 109}
110
111func CreateMapCommunity(c *gin.Context) {
112
113}