diff options
Diffstat (limited to 'backend')
| -rw-r--r-- | backend/controllers/homeController.go | 18 | ||||
| -rw-r--r-- | backend/controllers/loginController.go | 2 | ||||
| -rw-r--r-- | backend/controllers/mapController.go | 9 | ||||
| -rw-r--r-- | backend/controllers/recordController.go | 23 |
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] | ||
| 22 | func Rankings(c *gin.Context) { | 30 | func 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] | ||
| 12 | func FetchMap(c *gin.Context) { | 21 | func 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] | ||
| 21 | func CreateRecordWithDemo(c *gin.Context) { | 35 | func 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] | ||
| 179 | func DownloadDemoWithID(c *gin.Context) { | 202 | func DownloadDemoWithID(c *gin.Context) { |
| 180 | uuid := c.Query("uuid") | 203 | uuid := c.Query("uuid") |
| 181 | var locationID string | 204 | var locationID string |