arimelody.me/music/controller/artist.go
2024-08-31 01:52:36 +01:00

66 lines
1.2 KiB
Go

package music
import (
"arimelody.me/arimelody.me/music/model"
"github.com/jmoiron/sqlx"
)
// DATABASE
func PullAllArtists(db *sqlx.DB) ([]model.Artist, error) {
var artists = []model.Artist{}
err := db.Select(&artists, "SELECT * FROM artist")
if err != nil {
return nil, err
}
return artists, nil
}
func CreateArtistDB(db *sqlx.DB, artist *model.Artist) error {
_, err := db.Exec(
"INSERT INTO artist (id, name, website, avatar) "+
"VALUES ($1, $2, $3, $4)",
artist.ID,
artist.Name,
artist.Website,
artist.Avatar,
)
if err != nil {
return err
}
return nil
}
func UpdateArtistDB(db *sqlx.DB, artist *model.Artist) error {
_, err := db.Exec(
"UPDATE artist "+
"SET name=$2, website=$3, avatar=$4 "+
"WHERE id=$1",
artist.ID,
artist.Name,
artist.Website,
artist.Avatar,
)
if err != nil {
return err
}
return nil
}
func DeleteArtistDB(db *sqlx.DB, artistID string) error {
_, err := db.Exec(
"DELETE FROM artist "+
"WHERE id=$1",
artistID,
)
if err != nil {
return err
}
return nil
}