From f1b7589b2936335957a6a1da1eea3d66233ad0ce Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Sat, 26 Aug 2023 08:53:24 +0300 Subject: refactor: reorganizing packages Former-commit-id: 99410223654c2a5ffc15fdab6ec3e921b5410cba --- backend/middleware/auth.go | 65 ---------------------------------------------- 1 file changed, 65 deletions(-) delete mode 100644 backend/middleware/auth.go (limited to 'backend/middleware') diff --git a/backend/middleware/auth.go b/backend/middleware/auth.go deleted file mode 100644 index e2c84fa..0000000 --- a/backend/middleware/auth.go +++ /dev/null @@ -1,65 +0,0 @@ -package middleware - -import ( - "fmt" - "os" - "time" - - "github.com/gin-gonic/gin" - "github.com/golang-jwt/jwt/v4" - "github.com/pektezol/leastportalshub/backend/database" - "github.com/pektezol/leastportalshub/backend/models" -) - -func CheckAuth(c *gin.Context) { - tokenString := c.GetHeader("Authorization") - // Validate token - token, err := jwt.Parse(tokenString, func(token *jwt.Token) (interface{}, error) { - if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok { - return nil, fmt.Errorf("Unexpected signing method: %v", token.Header["alg"]) - } - return []byte(os.Getenv("SECRET_KEY")), nil - }) - if token == nil { - c.Next() - return - } - if err != nil { - c.Next() - return - } - if claims, ok := token.Claims.(jwt.MapClaims); ok && token.Valid { - // Check exp - if float64(time.Now().Unix()) > claims["exp"].(float64) { - c.Next() - return - } - // Get user from DB - var user models.User - database.DB.QueryRow(`SELECT u.steam_id, u.user_name, u.avatar_link, u.country_code, u.created_at, u.updated_at FROM users u WHERE steam_id = $1`, claims["sub"]).Scan( - &user.SteamID, &user.UserName, &user.AvatarLink, - &user.CountryCode, &user.CreatedAt, &user.UpdatedAt) - if user.SteamID == "" { - c.Next() - return - } - // Get user titles from DB - var moderator bool - user.Titles = []models.Title{} - rows, _ := database.DB.Query(`SELECT t.title_name, t.title_color FROM titles t INNER JOIN user_titles ut ON t.id=ut.title_id WHERE ut.user_id = $1`, user.SteamID) - for rows.Next() { - var title models.Title - rows.Scan(&title.Name, &title.Color) - if title.Name == "Moderator" { - moderator = true - } - user.Titles = append(user.Titles, title) - } - c.Set("user", user) - c.Set("mod", moderator) - c.Next() - } else { - c.Next() - return - } -} -- cgit v1.2.3