From 53b328743218630e007e7d20fdfd68fb88ece0f3 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Wed, 26 Oct 2022 01:03:24 +0300 Subject: creating new user db exec --- backend/controllers/controllers.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'backend/controllers/controllers.go') diff --git a/backend/controllers/controllers.go b/backend/controllers/controllers.go index a24fc3c..8ce4860 100644 --- a/backend/controllers/controllers.go +++ b/backend/controllers/controllers.go @@ -3,9 +3,12 @@ package controllers import ( "log" "net/http" + "os" + "time" "github.com/gin-contrib/sessions" "github.com/gin-gonic/gin" + "github.com/pektezol/leastportals/backend/database" "github.com/solovev/steam_go" ) @@ -15,7 +18,7 @@ func Home(c *gin.Context) { c.JSON(200, "no id, not auth") } else { var user *steam_go.PlayerSummaries - user, err := steam_go.GetPlayerSummaries(session.Get("id").(string), GetEnvKey("API_KEY")) + user, err := steam_go.GetPlayerSummaries(session.Get("id").(string), os.Getenv("API_KEY")) if err != nil { c.JSON(200, "authenticated, but err") log.Panic(err) @@ -39,6 +42,17 @@ func Login(c *gin.Context) { if err != nil { http.Error(c.Writer, err.Error(), http.StatusInternalServerError) } + // Create user if new + var checkSteamID int64 + database.DB.QueryRow("SELECT steam_id FROM users WHERE steamid = $1", steamId).Scan(&checkSteamID) + if checkSteamID == 0 { // User does not exist + user, err := steam_go.GetPlayerSummaries(steamId, os.Getenv("API_KEY")) + if err != nil { + log.Panic(err) + } + database.DB.Exec(`INSERT INTO users (steam_id, username, avatar_link, country_code, created_at, updated_at, user_type) + VALUES ($1, $2, $3, $4, $5, $6, $7)`, steamId, user.PersonaName, user.Avatar, user.LocCountryCode, time.Now().UTC(), time.Now().UTC(), 0) + } session := sessions.Default(c) session.Set("id", steamId) session.Save() -- cgit v1.2.3