Files
butterfliu/internal/service/song_svc.go
2026-01-09 23:33:14 +08:00

33 lines
840 B
Go

package service
import "butterfliu/internal/repository"
type SongService struct {
songRepo *repository.SongRepository
mediaRepo *repository.MediaRepository
}
func NewSongService(songRepo *repository.SongRepository, mediaRepo *repository.MediaRepository) *SongService {
return &SongService{songRepo, mediaRepo}
}
func (s *SongService) GetAll() ([]repository.Song, error) {
return s.songRepo.GetAll()
}
func (s *SongService) GetAllWithDetails() ([]repository.SongDetail, error) {
return s.songRepo.GetAllWithDetails()
}
func (service *SongService) GetMediaFile(id int) (repository.MediaFile, error) {
song, err := service.songRepo.Get(id)
if err != nil {
return repository.MediaFile{}, err
}
media, err := service.mediaRepo.Get(song.MediaFileID)
if err != nil {
return repository.MediaFile{}, err
}
return media, nil
}