aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authorArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2022-10-26 01:03:24 +0300
committerArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2022-10-26 01:03:24 +0300
commit53b328743218630e007e7d20fdfd68fb88ece0f3 (patch)
treee44c45828d1b637598633a178a4658fe44461ca8 /backend
parentinit sql for users (diff)
downloadlphub-53b328743218630e007e7d20fdfd68fb88ece0f3.tar.gz
lphub-53b328743218630e007e7d20fdfd68fb88ece0f3.tar.bz2
lphub-53b328743218630e007e7d20fdfd68fb88ece0f3.zip
creating new user db exec
Diffstat (limited to 'backend')
-rw-r--r--backend/controllers/controllers.go16
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
3import ( 3import (
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()