player.go 694 B

12345678910111213141516171819202122232425262728293031323334
  1. package repository
  2. import (
  3. "database/sql"
  4. "github.com/felamaslen/gmus-backend/pkg/read"
  5. "github.com/jmoiron/sqlx"
  6. )
  7. func GetNextSong(db *sqlx.DB, prevSongId int) (nextSong *read.Song, err error) {
  8. nextSong = &read.Song{}
  9. err = db.QueryRowx(
  10. querySelectNextSong,
  11. prevSongId,
  12. ).StructScan(nextSong)
  13. if err != nil && err == sql.ErrNoRows {
  14. err = nil
  15. nextSong = &read.Song{Id: 0}
  16. }
  17. return
  18. }
  19. func GetPrevSong(db *sqlx.DB, nextSongId int) (prevSong *read.Song, err error) {
  20. prevSong = &read.Song{}
  21. err = db.QueryRowx(
  22. querySelectPrevSong,
  23. nextSongId,
  24. ).StructScan(prevSong)
  25. if err != nil && err == sql.ErrNoRows {
  26. err = nil
  27. prevSong = &read.Song{Id: 0}
  28. }
  29. return
  30. }