diff options
| author | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2022-10-26 01:03:24 +0300 |
|---|---|---|
| committer | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2022-10-26 01:03:24 +0300 |
| commit | 53b328743218630e007e7d20fdfd68fb88ece0f3 (patch) | |
| tree | e44c45828d1b637598633a178a4658fe44461ca8 /backend/controllers | |
| parent | init sql for users (diff) | |
| download | lphub-53b328743218630e007e7d20fdfd68fb88ece0f3.tar.gz lphub-53b328743218630e007e7d20fdfd68fb88ece0f3.tar.bz2 lphub-53b328743218630e007e7d20fdfd68fb88ece0f3.zip | |
creating new user db exec
Diffstat (limited to 'backend/controllers')
| -rw-r--r-- | backend/controllers/controllers.go | 16 |
1 files changed, 15 insertions, 1 deletions
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 | |||
| 3 | import ( | 3 | import ( |
| 4 | "log" | 4 | "log" |
| 5 | "net/http" | 5 | "net/http" |
| 6 | "os" | ||
| 7 | "time" | ||
| 6 | 8 | ||
| 7 | "github.com/gin-contrib/sessions" | 9 | "github.com/gin-contrib/sessions" |
| 8 | "github.com/gin-gonic/gin" | 10 | "github.com/gin-gonic/gin" |
| 11 | "github.com/pektezol/leastportals/backend/database" | ||
| 9 | "github.com/solovev/steam_go" | 12 | "github.com/solovev/steam_go" |
| 10 | ) | 13 | ) |
| 11 | 14 | ||
| @@ -15,7 +18,7 @@ func Home(c *gin.Context) { | |||
| 15 | c.JSON(200, "no id, not auth") | 18 | c.JSON(200, "no id, not auth") |
| 16 | } else { | 19 | } else { |
| 17 | var user *steam_go.PlayerSummaries | 20 | var user *steam_go.PlayerSummaries |
| 18 | user, err := steam_go.GetPlayerSummaries(session.Get("id").(string), GetEnvKey("API_KEY")) | 21 | user, err := steam_go.GetPlayerSummaries(session.Get("id").(string), os.Getenv("API_KEY")) |
| 19 | if err != nil { | 22 | if err != nil { |
| 20 | c.JSON(200, "authenticated, but err") | 23 | c.JSON(200, "authenticated, but err") |
| 21 | log.Panic(err) | 24 | log.Panic(err) |
| @@ -39,6 +42,17 @@ func Login(c *gin.Context) { | |||
| 39 | if err != nil { | 42 | if err != nil { |
| 40 | http.Error(c.Writer, err.Error(), http.StatusInternalServerError) | 43 | http.Error(c.Writer, err.Error(), http.StatusInternalServerError) |
| 41 | } | 44 | } |
| 45 | // Create user if new | ||
| 46 | var checkSteamID int64 | ||
| 47 | database.DB.QueryRow("SELECT steam_id FROM users WHERE steamid = $1", steamId).Scan(&checkSteamID) | ||
| 48 | if checkSteamID == 0 { // User does not exist | ||
| 49 | user, err := steam_go.GetPlayerSummaries(steamId, os.Getenv("API_KEY")) | ||
| 50 | if err != nil { | ||
| 51 | log.Panic(err) | ||
| 52 | } | ||
| 53 | database.DB.Exec(`INSERT INTO users (steam_id, username, avatar_link, country_code, created_at, updated_at, user_type) | ||
| 54 | VALUES ($1, $2, $3, $4, $5, $6, $7)`, steamId, user.PersonaName, user.Avatar, user.LocCountryCode, time.Now().UTC(), time.Now().UTC(), 0) | ||
| 55 | } | ||
| 42 | session := sessions.Default(c) | 56 | session := sessions.Default(c) |
| 43 | session.Set("id", steamId) | 57 | session.Set("id", steamId) |
| 44 | session.Save() | 58 | session.Save() |