Files
MusicServer/pkg/db/songList.go
Sebastian 5ab19e16e5 Added a new sync that uses hash
Added a new sync that uses hash and sqlc for the queries. Added db
migration. Started adding a config file.
2024-12-19 12:11:20 +01:00

48 lines
1.2 KiB
Go

package db
import (
"fmt"
"music-server/pkg/models"
"os"
"time"
)
func InsertSongInList(song models.SongListData) {
_, err := Dbpool.Exec(Ctx,
`INSERT INTO song_list (match_date, match_id, song_no, game_name, song_name) VALUES ($1, $2, $3, $4, $5)`,
song.MatchDate, song.MatchId, song.SongNo, song.GameName, song.SongName)
if err != nil {
_, _ = fmt.Fprintf(os.Stderr, "QueryRow failed: %v\n", err)
}
}
func GetSongList(matchId int) []models.SongListData {
rows, err := Dbpool.Query(Ctx,
"SELECT match_date, match_id, song_no, game_name, song_name "+
"FROM song_list WHERE match_date = $1"+
"ORDER BY song_no DESC", matchId)
if err != nil {
if compareError.Error() != err.Error() {
_, _ = fmt.Fprintf(os.Stderr, "QueryRow failed: %v\n", err)
}
}
var songList []models.SongListData
for rows.Next() {
var matchId, songNo int
var matchDate time.Time
var gameName, songName string
err := rows.Scan(&matchDate, &matchId, &songNo, &gameName, &songName)
if err != nil {
_, _ = fmt.Fprintf(os.Stderr, "Scan failed: %v\n", err)
}
songList = append(songList, models.SongListData{
MatchDate: matchDate,
MatchId: matchId,
SongNo: songNo,
GameName: gameName,
SongName: songName,
})
}
return songList
}