From a93139fcf247e34360a7f1a9d0a02d1c1876b957 Mon Sep 17 00:00:00 2001 From: Dustin Pianalto Date: Fri, 9 Oct 2020 23:21:35 -0800 Subject: [PATCH] Attempt to insert user into db before creating tag --- internal/exts/tags/tags.go | 6 ++++++ internal/postgres/user.go | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/internal/exts/tags/tags.go b/internal/exts/tags/tags.go index 98b0458..242909b 100644 --- a/internal/exts/tags/tags.go +++ b/internal/exts/tags/tags.go @@ -7,7 +7,9 @@ import ( "strings" "github.com/dustinpianalto/disgoman" + "github.com/dustinpianalto/goff" "github.com/dustinpianalto/goff/internal/postgres" + "github.com/dustinpianalto/goff/internal/services" ) var AddTagCommand = &disgoman.Command{ @@ -55,6 +57,10 @@ func addTagCommandFunc(ctx disgoman.Context, input []string) { } return } + err = services.UserService.CreateUser(&goff.User{ID: ctx.User.ID}) + if err != nil { + log.Printf("Error creating user %s: %s", ctx.User.ID, err.Error()) + } queryString = `INSERT INTO tags (tag, content, creator, guild_id) VALUES ($1, $2, $3, $4);` _, err := postgres.DB.Exec(queryString, tag, value, ctx.Message.Author.ID, ctx.Guild.ID) if err != nil { diff --git a/internal/postgres/user.go b/internal/postgres/user.go index 40ae64c..d020b0c 100644 --- a/internal/postgres/user.go +++ b/internal/postgres/user.go @@ -38,7 +38,7 @@ func (s *UserService) User(id string) (*goff.User, error) { func (s *UserService) CreateUser(u *goff.User) error { queryString := `INSERT INTO users (id, banned, logging, steam_id, is_active, is_staff, is_admin) - VALUES ($1, $2, $3, $4, $5, $6, $7)` + VALUES ($1, $2, $3, $4, $5, $6, $7) ON CONFLICT (id) DO NOTHING` _, err := s.DB.Exec(queryString, u.ID, u.Banned, u.Logging, u.SteamID, u.IsActive, u.IsStaff, u.IsAdmin) return err }