aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authorArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2023-04-19 14:14:11 +0300
committerArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2023-04-19 14:14:11 +0300
commit9fade13368c732401030d392ef2332279716243e (patch)
tree17427c8ec058ee8c32d0244230031fb4f6f50767 /backend
parentdoc: swagger init for login and user routes (#34) (diff)
downloadlphub-9fade13368c732401030d392ef2332279716243e.tar.gz
lphub-9fade13368c732401030d392ef2332279716243e.tar.bz2
lphub-9fade13368c732401030d392ef2332279716243e.zip
doc: complete rest of swagger implementation, change rankings response (#34)
Diffstat (limited to 'backend')
-rw-r--r--backend/controllers/homeController.go18
-rw-r--r--backend/controllers/loginController.go2
-rw-r--r--backend/controllers/mapController.go9
-rw-r--r--backend/controllers/recordController.go23
4 files changed, 47 insertions, 5 deletions
diff --git a/backend/controllers/homeController.go b/backend/controllers/homeController.go
index 8b52ff3..12949a4 100644
--- a/backend/controllers/homeController.go
+++ b/backend/controllers/homeController.go
@@ -19,6 +19,14 @@ func Home(c *gin.Context) {
19 } 19 }
20} 20}
21 21
22// GET Rankings
23//
24// @Summary Get rankings of every player.
25// @Accept json
26// @Produce json
27// @Success 200 {object} models.Response{data=models.RankingsResponse}
28// @Failure 400 {object} models.Response
29// @Router /demo [get]
22func Rankings(c *gin.Context) { 30func Rankings(c *gin.Context) {
23 rows, err := database.DB.Query(`SELECT steam_id, username FROM users;`) 31 rows, err := database.DB.Query(`SELECT steam_id, username FROM users;`)
24 if err != nil { 32 if err != nil {
@@ -103,8 +111,12 @@ func Rankings(c *gin.Context) {
103 mpRankings = append(mpRankings, ranking) 111 mpRankings = append(mpRankings, ranking)
104 } 112 }
105 } 113 }
106 c.JSON(http.StatusOK, models.RankingsResponse{ 114 c.JSON(http.StatusOK, models.Response{
107 RankingsSP: spRankings, 115 Success: true,
108 RankingsMP: mpRankings, 116 Message: "Successfully retrieved rankings.",
117 Data: models.RankingsResponse{
118 RankingsSP: spRankings,
119 RankingsMP: mpRankings,
120 },
109 }) 121 })
110} 122}
diff --git a/backend/controllers/loginController.go b/backend/controllers/loginController.go
index 6feda8a..84ef22f 100644
--- a/backend/controllers/loginController.go
+++ b/backend/controllers/loginController.go
@@ -40,7 +40,6 @@ func Login(c *gin.Context) {
40 var checkSteamID int64 40 var checkSteamID int64
41 err = database.DB.QueryRow("SELECT steam_id FROM users WHERE steam_id = $1", steamID).Scan(&checkSteamID) 41 err = database.DB.QueryRow("SELECT steam_id FROM users WHERE steam_id = $1", steamID).Scan(&checkSteamID)
42 // if err != nil { 42 // if err != nil {
43 // fmt.Println("y1")
44 // c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 43 // c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
45 // return 44 // return
46 // } 45 // }
@@ -48,7 +47,6 @@ func Login(c *gin.Context) {
48 if checkSteamID == 0 { 47 if checkSteamID == 0 {
49 user, err := GetPlayerSummaries(steamID, os.Getenv("API_KEY")) 48 user, err := GetPlayerSummaries(steamID, os.Getenv("API_KEY"))
50 if err != nil { 49 if err != nil {
51 fmt.Println("y2")
52 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) 50 c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error()))
53 return 51 return
54 } 52 }
diff --git a/backend/controllers/mapController.go b/backend/controllers/mapController.go
index 4c57971..1560441 100644
--- a/backend/controllers/mapController.go
+++ b/backend/controllers/mapController.go
@@ -9,6 +9,15 @@ import (
9 "github.com/pektezol/leastportals/backend/models" 9 "github.com/pektezol/leastportals/backend/models"
10) 10)
11 11
12// GET Map
13//
14// @Summary Get map page with specified id.
15// @Accept json
16// @Produce json
17// @Param id path int true "Map ID"
18// @Success 200 {object} models.Response{data=models.Map}
19// @Failure 400 {object} models.Response
20// @Router /maps/{id} [get]
12func FetchMap(c *gin.Context) { 21func FetchMap(c *gin.Context) {
13 id := c.Param("id") 22 id := c.Param("id")
14 // Get map data 23 // Get map data
diff --git a/backend/controllers/recordController.go b/backend/controllers/recordController.go
index 1cfaa56..27f39fc 100644
--- a/backend/controllers/recordController.go
+++ b/backend/controllers/recordController.go
@@ -18,6 +18,20 @@ import (
18 "google.golang.org/api/drive/v3" 18 "google.golang.org/api/drive/v3"
19) 19)
20 20
21// POST Record
22//
23// @Summary Post record with demo of a specific map.
24// @Accept mpfd
25// @Produce json
26// @Param demos formData []file true "Demos"
27// @Param score_count formData int true "Score Count"
28// @Param score_time formData int true "Score Time"
29// @Param is_partner_orange formData boolean true "Is Partner Orange"
30// @Param partner_id formData string true "Partner ID"
31// @Success 200 {object} models.Response{data=models.RecordRequest}
32// @Failure 400 {object} models.Response
33// @Failure 401 {object} models.Response
34// @Router /maps/{id}/record [post]
21func CreateRecordWithDemo(c *gin.Context) { 35func CreateRecordWithDemo(c *gin.Context) {
22 mapId := c.Param("id") 36 mapId := c.Param("id")
23 // Check if user exists 37 // Check if user exists
@@ -176,6 +190,15 @@ func CreateRecordWithDemo(c *gin.Context) {
176 return 190 return
177} 191}
178 192
193// GET Demo
194//
195// @Summary Get demo with specified demo uuid.
196// @Accept json
197// @Produce octet-stream
198// @Param uuid path int true "Demo UUID"
199// @Success 200 {file} binary "Demo File"
200// @Failure 400 {object} models.Response
201// @Router /demo [get]
179func DownloadDemoWithID(c *gin.Context) { 202func DownloadDemoWithID(c *gin.Context) {
180 uuid := c.Query("uuid") 203 uuid := c.Query("uuid")
181 var locationID string 204 var locationID string