diff --git a/main.go b/main.go index 186d189..4eb4451 100644 --- a/main.go +++ b/main.go @@ -106,6 +106,16 @@ func SaveNote(data NoteData) error { return fmt.Errorf("failed getting stinky for %s: %v", data.Player, err) } + stinky.Guild = guild + note := Note{ + Content: data.Note, + Timestamp: data.Date, + Stinky: stinky, + } + err = InsertNote(note) + if err != nil { + return fmt.Errorf("failed inserting note: %v", err) + } return nil } @@ -150,7 +160,7 @@ func GetOrCreateStinkyByName(name string, guild Guild) (Stinky, error) { var stinky Stinky err := db.readConn.QueryRow("select id, name, guild from stinky where name = ?", name).Scan(&stinky.ID, &stinky.Name, &stinky.Guild.ID) if err != nil { - log.Printf("Stinky not found: %v", err) + log.Printf("Stinky not found, creating: %v", err) stinky, err = CreateStinky(name, Guild{}) if err != nil { return stinky, fmt.Errorf("failed creating stinky: %v", err) @@ -182,3 +192,11 @@ func GetStinkyById(id int) (Stinky, error) { } return stinky, nil } + +func InsertNote(note Note) error { + _, err := db.writeConn.Exec("insert into note (content, timestamp, stinky) values (?, ?, ?)", note.Content, note.Timestamp, note.Stinky.ID) + if err != nil { + return fmt.Errorf("failed to insert note: %v", err) + } + return nil +} \ No newline at end of file diff --git a/types.go b/types.go index ed7b4b9..d6d642e 100644 --- a/types.go +++ b/types.go @@ -23,8 +23,10 @@ type ( ) type NoteData struct { - Player string - Date time.Time - Guild string - Note string + Player string + PlayerID int + Date time.Time + Guild string + GuildID int + Note string }