aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
Diffstat (limited to 'backend')
-rw-r--r--backend/docs/docs.go2
-rw-r--r--backend/docs/index.html2
-rw-r--r--backend/docs/swagger.json2
-rw-r--r--backend/docs/swagger.yaml2
-rw-r--r--backend/handlers/record.go2
-rw-r--r--backend/handlers/user.go54
-rw-r--r--backend/main.go4
7 files changed, 34 insertions, 34 deletions
diff --git a/backend/docs/docs.go b/backend/docs/docs.go
index 5327961..71bd68e 100644
--- a/backend/docs/docs.go
+++ b/backend/docs/docs.go
@@ -2218,7 +2218,7 @@ const docTemplate = `{
2218// SwaggerInfo holds exported Swagger Info so clients can modify it 2218// SwaggerInfo holds exported Swagger Info so clients can modify it
2219var SwaggerInfo = &swag.Spec{ 2219var SwaggerInfo = &swag.Spec{
2220 Version: "1.0", 2220 Version: "1.0",
2221 Host: "lp.ardapektezol.com", 2221 Host: "lp.pektezol.dev",
2222 BasePath: "/api/v1", 2222 BasePath: "/api/v1",
2223 Schemes: []string{}, 2223 Schemes: []string{},
2224 Title: "Least Portals Hub", 2224 Title: "Least Portals Hub",
diff --git a/backend/docs/index.html b/backend/docs/index.html
index 8d12274..997b7d6 100644
--- a/backend/docs/index.html
+++ b/backend/docs/index.html
@@ -17,7 +17,7 @@
17 <script> 17 <script>
18 window.onload = () => { 18 window.onload = () => {
19 window.ui = SwaggerUIBundle({ 19 window.ui = SwaggerUIBundle({
20 url: 'https://lp.ardapektezol.com/swagger.json', 20 url: '/swagger.json',
21 dom_id: '#swagger-ui', 21 dom_id: '#swagger-ui',
22 }); 22 });
23 }; 23 };
diff --git a/backend/docs/swagger.json b/backend/docs/swagger.json
index 94a0213..879f35f 100644
--- a/backend/docs/swagger.json
+++ b/backend/docs/swagger.json
@@ -10,7 +10,7 @@
10 }, 10 },
11 "version": "1.0" 11 "version": "1.0"
12 }, 12 },
13 "host": "lp.ardapektezol.com", 13 "host": "lp.pektezol.dev",
14 "basePath": "/api/v1", 14 "basePath": "/api/v1",
15 "paths": { 15 "paths": {
16 "/chapters/{chapterid}": { 16 "/chapters/{chapterid}": {
diff --git a/backend/docs/swagger.yaml b/backend/docs/swagger.yaml
index 26d28b1..2dee421 100644
--- a/backend/docs/swagger.yaml
+++ b/backend/docs/swagger.yaml
@@ -545,7 +545,7 @@ definitions:
545 user_name: 545 user_name:
546 type: string 546 type: string
547 type: object 547 type: object
548host: lp.ardapektezol.com 548host: lp.pektezol.dev
549info: 549info:
550 contact: {} 550 contact: {}
551 description: Backend API endpoints for Least Portals Hub. 551 description: Backend API endpoints for Least Portals Hub.
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 {
diff --git a/backend/main.go b/backend/main.go
index 26aa852..a1a4a20 100644
--- a/backend/main.go
+++ b/backend/main.go
@@ -20,7 +20,7 @@ import (
20// @license.name GNU Affero General Public License, Version 3 20// @license.name GNU Affero General Public License, Version 3
21// @license.url https://www.gnu.org/licenses/agpl-3.0.html 21// @license.url https://www.gnu.org/licenses/agpl-3.0.html
22 22
23// @host lp.ardapektezol.com 23// @host lp.pektezol.dev
24// @BasePath /api/v1 24// @BasePath /api/v1
25func main() { 25func main() {
26 err := godotenv.Load() 26 err := godotenv.Load()
@@ -47,6 +47,6 @@ func main() {
47 // router.NoRoute(func(c *gin.Context) { 47 // router.NoRoute(func(c *gin.Context) {
48 // c.File("../frontend/build/index.html") 48 // c.File("../frontend/build/index.html")
49 // }) 49 // })
50 router.MaxMultipartMemory = 500 << 20 // 500 mb limit for demos 50 router.MaxMultipartMemory = 250 << 20 // 250 mb limit for demos
51 router.Run(fmt.Sprintf(":%s", os.Getenv("PORT"))) 51 router.Run(fmt.Sprintf(":%s", os.Getenv("PORT")))
52} 52}