Finalize functionality

This commit is contained in:
2024-10-27 17:30:06 +01:00
parent 664081ba73
commit af7fc09078
2 changed files with 25 additions and 5 deletions

20
main.go
View File

@@ -106,6 +106,16 @@ func SaveNote(data NoteData) error {
return fmt.Errorf("failed getting stinky for %s: %v", data.Player, err) 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 return nil
} }
@@ -150,7 +160,7 @@ func GetOrCreateStinkyByName(name string, guild Guild) (Stinky, error) {
var stinky Stinky var stinky Stinky
err := db.readConn.QueryRow("select id, name, guild from stinky where name = ?", name).Scan(&stinky.ID, &stinky.Name, &stinky.Guild.ID) err := db.readConn.QueryRow("select id, name, guild from stinky where name = ?", name).Scan(&stinky.ID, &stinky.Name, &stinky.Guild.ID)
if err != nil { if err != nil {
log.Printf("Stinky not found: %v", err) log.Printf("Stinky not found, creating: %v", err)
stinky, err = CreateStinky(name, Guild{}) stinky, err = CreateStinky(name, Guild{})
if err != nil { if err != nil {
return stinky, fmt.Errorf("failed creating stinky: %v", err) return stinky, fmt.Errorf("failed creating stinky: %v", err)
@@ -182,3 +192,11 @@ func GetStinkyById(id int) (Stinky, error) {
} }
return stinky, nil 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
}

View File

@@ -23,8 +23,10 @@ type (
) )
type NoteData struct { type NoteData struct {
Player string Player string
Date time.Time PlayerID int
Guild string Date time.Time
Note string Guild string
GuildID int
Note string
} }