GoScrobble/internal/goscrobble/genre.go

48 lines
975 B
Go
Raw Normal View History

package goscrobble
import (
"database/sql"
"log"
)
type Genre struct {
UUID string `json:"uuid"`
Name string `json:"name"`
}
func getGenreByUUID(uuid string) Genre {
var genre Genre
err := db.QueryRow(
"SELECT BIN_TO_UUID(`uuid`, true), `name` FROM `artists` WHERE `uuid` = UUID_TO_BIN(?,true)",
uuid).Scan(&genre.UUID, &genre.Name)
if err != nil {
if err != sql.ErrNoRows {
log.Printf("Error fetching artists: %+v", err)
}
}
return genre
}
func getGenreByName(name string) Genre {
var genre Genre
err := db.QueryRow(
"SELECT BIN_TO_UUID(`uuid`, true), `name` FROM `artists` WHERE `name` = ?",
name).Scan(&genre.UUID, &genre.Name)
if err != nil {
if err != sql.ErrNoRows {
log.Printf("Error fetching artists: %+v", err)
}
}
return genre
}
func (genre *Genre) updateGenreName(name string, value string) error {
_, err := db.Exec("UPDATE `genres` SET `name` = ? WHERE uuid = UUID_TO_BIN(?, true)", name, genre.UUID)
return err
}