实现音频服务api
This commit is contained in:
32
internal/service/song_svc.go
Normal file
32
internal/service/song_svc.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user