Compare commits

...

3 Commits

Author SHA1 Message Date
simponic 09215bc616 Merge pull request 'Make user login atomic' (#4) from user-login-upsert into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #4
2024-04-02 16:41:21 -04:00
Ezri Brimhall 161dcbad20
removed commented code
continuous-integration/drone/pr Build is failing Details
2024-04-02 14:37:13 -06:00
Ezri Brimhall 76fb42a61e
User login should now be atomic 2024-04-02 14:36:49 -06:00
1 changed files with 1 additions and 6 deletions

View File

@ -50,12 +50,7 @@ func GetUser(dbConn *sql.DB, id string) (*User, error) {
func FindOrSaveUser(dbConn *sql.DB, user *User) (*User, error) {
log.Println("finding or saving user", user.ID)
_, err := dbConn.Exec(`INSERT OR IGNORE INTO users (id, mail, username, display_name) VALUES (?, ?, ?, ?);`, user.ID, user.Mail, user.Username, user.DisplayName)
if err != nil {
return nil, err
}
_, err = dbConn.Exec(`UPDATE users SET mail = ?, username = ?, display_name = ? WHERE id = ?;`, user.Mail, user.Username, user.DisplayName, user.ID)
_, err := dbConn.Exec(`INSERT INTO users (id, mail, username, display_name) VALUES (?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET mail = excluded.mail, username = excluded.username, display_name = excluded.display_name;`, user.ID, user.Mail, user.Username, user.DisplayName)
if err != nil {
return nil, err
}