Introduced interfaces for all repositories, completely isolating the persistence layer from the repositories usage and specification

This commit is contained in:
Deluan
2016-03-02 09:33:49 -05:00
parent 272a499c7e
commit 300ed0d9a4
15 changed files with 83 additions and 48 deletions
+8 -6
View File
@@ -5,16 +5,18 @@ import (
"github.com/astaxie/beego"
)
type MediaFolder struct {}
type mediaFolderRepository struct {
domain.MediaFolderRepository
}
func NewMediaFolderRepository() *MediaFolder {
return &MediaFolder{}
func NewMediaFolderRepository() domain.MediaFolderRepository {
return &mediaFolderRepository{}
}
func (*MediaFolder) GetAll() ([]*domain.MediaFolder, error) {
func (*mediaFolderRepository) GetAll() ([]domain.MediaFolder, error) {
mediaFolder := domain.MediaFolder{Id: "0", Name: "iTunes Library", Path: beego.AppConfig.String("musicFolder")}
result := make([]*domain.MediaFolder, 1)
result[0] = &mediaFolder
result := make([]domain.MediaFolder, 1)
result[0] = mediaFolder
return result, nil
}