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 }