From 3eb88ce01d1e723dc93971dc25da728437912e8f Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Sun, 3 Sep 2023 13:32:25 +0300 Subject: feat: update user logs (#55) Former-commit-id: 9041bf919cbd96eb135abc14318910b81340f95d --- backend/handlers/login.go | 8 ++++---- backend/handlers/logs.go | 21 ++++++++++++--------- 2 files changed, 16 insertions(+), 13 deletions(-) (limited to 'backend') diff --git a/backend/handlers/login.go b/backend/handlers/login.go index 80f697e..5949fdd 100644 --- a/backend/handlers/login.go +++ b/backend/handlers/login.go @@ -38,7 +38,7 @@ func Login(c *gin.Context) { default: steamID, err := openID.ValidateAndGetId() if err != nil { - CreateLog(steamID, LogTypeLogin, LogDescriptionLoginFailValidate) + CreateLog(steamID, LogTypeLogin, LogDescriptionUserLoginFailValidate) c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return } @@ -49,7 +49,7 @@ func Login(c *gin.Context) { if checkSteamID == 0 { user, err := GetPlayerSummaries(steamID, os.Getenv("API_KEY")) if err != nil { - CreateLog(steamID, LogTypeLogin, LogDescriptionLoginFailSummary) + CreateLog(steamID, LogTypeLogin, LogDescriptionUserLoginFailSummary) c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return } @@ -79,12 +79,12 @@ func Login(c *gin.Context) { // Sign and get the complete encoded token as a string using the secret tokenString, err := token.SignedString([]byte(os.Getenv("SECRET_KEY"))) if err != nil { - CreateLog(steamID, LogTypeLogin, LogDescriptionLoginFailToken) + CreateLog(steamID, LogTypeLogin, LogDescriptionUserLoginFailToken) c.JSON(http.StatusBadRequest, models.ErrorResponse("Failed to generate token.")) return } c.SetCookie("token", tokenString, 3600*24*30, "/", "", true, true) - CreateLog(steamID, LogTypeLogin, LogDescriptionLoginSuccess) + CreateLog(steamID, LogTypeLogin, LogDescriptionUserLoginSuccess) c.Redirect(http.StatusTemporaryRedirect, "/") // c.JSON(http.StatusOK, models.Response{ // Success: true, diff --git a/backend/handlers/logs.go b/backend/handlers/logs.go index c971f79..b5704d6 100644 --- a/backend/handlers/logs.go +++ b/backend/handlers/logs.go @@ -12,13 +12,13 @@ import ( const ( LogTypeMod string = "Mod" - LogTypeLogin string = "Login" + LogTypeLogin string = "User" LogTypeRecord string = "Record" - LogDescriptionLoginSuccess string = "Success" - LogDescriptionLoginFailToken string = "TokenFail" - LogDescriptionLoginFailValidate string = "ValidateFail" - LogDescriptionLoginFailSummary string = "SummaryFail" + LogDescriptionUserLoginSuccess string = "LoginSuccess" + LogDescriptionUserLoginFailToken string = "LoginTokenFail" + LogDescriptionUserLoginFailValidate string = "LoginValidateFail" + LogDescriptionUserLoginFailSummary string = "LoginSummaryFail" LogDescriptionMapSummaryCreate string = "MapSummaryCreate" LogDescriptionMapSummaryEdit string = "MapSummaryEdit" @@ -39,6 +39,7 @@ type Log struct { User models.UserShort `json:"user"` Type string `json:"type"` Description string `json:"description"` + Date time.Time `json:"date"` } type LogsResponse struct { @@ -48,6 +49,7 @@ type LogsResponse struct { type LogsResponseDetails struct { User models.UserShort `json:"user"` Log string `json:"detail"` + Date time.Time `json:"date"` } type ScoreLogsResponse struct { @@ -70,7 +72,7 @@ type ScoreLogsResponseDetails struct { // @Tags logs // @Produce json // @Param Authorization header string true "JWT Token" -// @Success 200 {object} models.Response{data=ScoreLogsResponse} +// @Success 200 {object} models.Response{data=LogsResponse} // @Failure 400 {object} models.Response // @Router /logs/mod [get] func ModLogs(c *gin.Context) { @@ -80,7 +82,7 @@ func ModLogs(c *gin.Context) { return } response := LogsResponse{Logs: []LogsResponseDetails{}} - sql := `SELECT u.user_name, l.user_id, l.type, l.description + sql := `SELECT u.user_name, l.user_id, l.type, l.description, l.date FROM logs l INNER JOIN users u ON l.user_id = u.steam_id WHERE type != 'Score'` rows, err := database.DB.Query(sql) if err != nil { @@ -89,7 +91,7 @@ func ModLogs(c *gin.Context) { } for rows.Next() { log := Log{} - err = rows.Scan(&log.User.UserName, &log.User.SteamID, &log.Type, &log.Description) + err = rows.Scan(&log.User.UserName, &log.User.SteamID, &log.Type, &log.Description, &log.Date) if err != nil { c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return @@ -100,7 +102,8 @@ func ModLogs(c *gin.Context) { SteamID: log.User.SteamID, UserName: log.User.UserName, }, - Log: detail, + Log: detail, + Date: log.Date, }) } c.JSON(http.StatusOK, models.Response{ -- cgit v1.2.3