实现音频服务api

This commit is contained in:
2026-01-09 23:33:14 +08:00
parent aae6a08850
commit 0e72dc7b6a
10 changed files with 240 additions and 150 deletions

View File

@@ -0,0 +1,32 @@
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
}