优化Service
All checks were successful
Go CI / test-and-build (push) Successful in 11s

This commit is contained in:
2026-04-06 16:37:27 +08:00
parent 3aa8057648
commit a067e8d17c
3 changed files with 95 additions and 51 deletions

View File

@@ -1,6 +1,8 @@
package service
import "butterfliu/internal/repository"
import (
"butterfliu/internal/repository"
)
type SongService struct {
songRepo *repository.SongRepository
@@ -8,25 +10,21 @@ type SongService struct {
}
func NewSongService(songRepo *repository.SongRepository, mediaRepo *repository.MediaRepository) *SongService {
return &SongService{songRepo, mediaRepo}
}
func (s *SongService) GetAll() ([]repository.Song, error) {
return s.songRepo.GetAll()
return &SongService{
songRepo: songRepo,
mediaRepo: mediaRepo,
}
}
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)
// GetMediaFilePath returns the file path of a song by its song ID.
func (s *SongService) GetMediaFile(id int) (repository.MediaFile, error) {
song, err := s.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
return s.mediaRepo.Get(song.MediaFileID)
}