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 PullReleaseLinks(db *sqlx.DB, releaseID string) ([]*model.Link, error) {
|
|
|
|
var links = []*model.Link{}
|
2024-08-02 21:48:26 +00:00
|
|
|
|
|
|
|
err := db.Select(
|
|
|
|
&links,
|
|
|
|
"SELECT * FROM musiclink WHERE release=$1",
|
|
|
|
releaseID,
|
|
|
|
)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
return links, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func CreateLinkDB(db *sqlx.DB, releaseID string, link *model.Link) (error) {
|
|
|
|
_, err := db.Exec(
|
|
|
|
"INSERT INTO musiclink (release, name, url) "+
|
|
|
|
"VALUES ($1, $2, $3)",
|
|
|
|
releaseID,
|
|
|
|
link.Name,
|
|
|
|
link.URL,
|
|
|
|
)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func UpdateLinkDB(db *sqlx.DB, releaseID string, link *model.Link) (error) {
|
|
|
|
_, err := db.Exec(
|
|
|
|
"UPDATE musiclink SET "+
|
|
|
|
"name=$2, url=$3 "+
|
|
|
|
"WHERE release=$1",
|
|
|
|
releaseID,
|
|
|
|
link.Name,
|
|
|
|
link.URL,
|
|
|
|
)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func DeleteLinkDB(db *sqlx.DB, releaseID string, link *model.Link) (error) {
|
|
|
|
_, err := db.Exec(
|
|
|
|
"DELETE FROM musiclink "+
|
|
|
|
"WHERE release=$1, name=$2",
|
|
|
|
releaseID,
|
|
|
|
link.Name,
|
|
|
|
)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|