Big Refactor:

- Create model.DataStore, with provision for transactions
- Change all layers dependencies on repositories to use DataStore
- Implemented persistence.SQLStore
- Removed iTunes Bridge/Importer support
This commit is contained in:
Deluan
2020-01-19 15:37:41 -05:00
parent 40186f7e10
commit 67eeb218c4
47 changed files with 389 additions and 1621 deletions
+5 -6
View File
@@ -20,25 +20,24 @@ type Cover interface {
}
type cover struct {
mfileRepo model.MediaFileRepository
albumRepo model.AlbumRepository
ds model.DataStore
}
func NewCover(mr model.MediaFileRepository, alr model.AlbumRepository) Cover {
return &cover{mr, alr}
func NewCover(ds model.DataStore) Cover {
return &cover{ds}
}
func (c *cover) getCoverPath(id string) (string, error) {
switch {
case strings.HasPrefix(id, "al-"):
id = id[3:]
al, err := c.albumRepo.Get(id)
al, err := c.ds.Album().Get(id)
if err != nil {
return "", err
}
return al.CoverArtPath, nil
default:
mf, err := c.mfileRepo.Get(id)
mf, err := c.ds.MediaFile().Get(id)
if err != nil {
return "", err
}