From 266698e46744063752f7cc893c539f132e3cdc37 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Sat, 2 Sep 2023 22:02:11 +0300 Subject: feat: detailed logs for records (#55) Former-commit-id: af37633ce05f08fc517cb3e8fec3e84a0bd5ba49 --- backend/handlers/record.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'backend/handlers/record.go') diff --git a/backend/handlers/record.go b/backend/handlers/record.go index 00c9b7d..3d29eb8 100644 --- a/backend/handlers/record.go +++ b/backend/handlers/record.go @@ -66,6 +66,7 @@ func CreateRecordWithDemo(c *gin.Context) { return } if isDisabled { + CreateLog(user.(models.User).SteamID, LogTypeRecord, LogDescriptionRecordFailInvalidRequest) c.JSON(http.StatusBadRequest, models.ErrorResponse("Map is not available for competitive boards.")) return } @@ -75,10 +76,12 @@ func CreateRecordWithDemo(c *gin.Context) { // Get record request var record RecordRequest if err := c.ShouldBind(&record); err != nil { + CreateLog(user.(models.User).SteamID, LogTypeRecord, LogDescriptionRecordFailInvalidRequest) c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return } if isCoop && (record.PartnerDemo == nil || record.PartnerID == "") { + CreateLog(user.(models.User).SteamID, LogTypeRecord, LogDescriptionRecordFailInvalidRequest) c.JSON(http.StatusBadRequest, models.ErrorResponse("Invalid entry for coop record submission.")) return } @@ -108,23 +111,27 @@ func CreateRecordWithDemo(c *gin.Context) { // Upload & insert into demos err = c.SaveUploadedFile(header, "backend/parser/"+uuid+".dem") if err != nil { + CreateLog(user.(models.User).SteamID, LogTypeRecord, LogDescriptionRecordFailSaveDemo) c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return } defer os.Remove("backend/parser/" + uuid + ".dem") f, err := os.Open("backend/parser/" + uuid + ".dem") if err != nil { + CreateLog(user.(models.User).SteamID, LogTypeRecord, LogDescriptionRecordFailOpenDemo) c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return } defer f.Close() file, err := createFile(srv, uuid+".dem", "application/octet-stream", f, os.Getenv("GOOGLE_FOLDER_ID")) if err != nil { + CreateLog(user.(models.User).SteamID, LogTypeRecord, LogDescriptionRecordFailCreateDemo) c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return } hostDemoScoreCount, hostDemoScoreTime, err = parser.ProcessDemo("backend/parser/" + uuid + ".dem") if err != nil { + CreateLog(user.(models.User).SteamID, LogTypeRecord, LogDescriptionRecordFailProcessDemo) c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return } @@ -138,6 +145,7 @@ func CreateRecordWithDemo(c *gin.Context) { _, err = tx.Exec(`INSERT INTO demos (id,location_id) VALUES ($1,$2)`, uuid, file.Id) if err != nil { deleteFile(srv, file.Id) + CreateLog(user.(models.User).SteamID, LogTypeRecord, LogDescriptionRecordFailInsertDemo) c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return } @@ -159,6 +167,7 @@ func CreateRecordWithDemo(c *gin.Context) { if err != nil { deleteFile(srv, hostDemoFileID) deleteFile(srv, partnerDemoFileID) + CreateLog(user.(models.User).SteamID, LogTypeRecord, LogDescriptionRecordFailInsertRecord) c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return } @@ -176,6 +185,7 @@ func CreateRecordWithDemo(c *gin.Context) { _, err := tx.Exec(sql, mapId, hostDemoScoreCount, hostDemoScoreTime, user.(models.User).SteamID, hostDemoUUID) if err != nil { deleteFile(srv, hostDemoFileID) + CreateLog(user.(models.User).SteamID, LogTypeRecord, LogDescriptionRecordFailInsertRecord) c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return } @@ -192,6 +202,7 @@ func CreateRecordWithDemo(c *gin.Context) { c.JSON(http.StatusInternalServerError, models.ErrorResponse(err.Error())) return } + CreateLog(user.(models.User).SteamID, LogTypeRecord, LogDescriptionRecordSuccess) c.JSON(http.StatusOK, models.Response{ Success: true, Message: "Successfully created record.", -- cgit v1.2.3