From 3cfc1fe0c75d7d209847e35674aecb67ffcd18b5 Mon Sep 17 00:00:00 2001 From: Ezri Brimhall Date: Tue, 2 Apr 2024 12:35:36 -0600 Subject: [PATCH] Should fix cascading delete issue --- database/users.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/database/users.go b/database/users.go index ab48699..f438281 100644 --- a/database/users.go +++ b/database/users.go @@ -50,7 +50,12 @@ 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 REPLACE INTO users (id, mail, username, display_name) VALUES (?, ?, ?, ?);`, user.ID, user.Mail, user.Username, user.DisplayName) + _, 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) if err != nil { return nil, err }