2024-08-02 21:48:26 +00:00
|
|
|
package music
|
|
|
|
|
|
|
|
import (
|
|
|
|
"arimelody.me/arimelody.me/music/model"
|
|
|
|
"github.com/jmoiron/sqlx"
|
|
|
|
)
|
|
|
|
|
|
|
|
// DATABASE
|
|
|
|
|
2024-08-02 23:27:30 +00:00
|
|
|
func PullAllArtists(db *sqlx.DB) ([]*model.Artist, error) {
|
|
|
|
var artists = []*model.Artist{}
|
2024-08-02 21:48:26 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2024-08-03 14:02:01 +00:00
|
|
|
func DeleteArtistDB(db *sqlx.DB, artist *model.Artist) error {
|
2024-08-02 21:48:26 +00:00
|
|
|
_, err := db.Exec(
|
|
|
|
"DELETE FROM artist "+
|
|
|
|
"WHERE id=$1",
|
2024-08-03 14:02:01 +00:00
|
|
|
artist.ID,
|
2024-08-02 21:48:26 +00:00
|
|
|
)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|