refactored search
This commit is contained in:
		| @@ -4,6 +4,7 @@ import ( | ||||
| 	"errors" | ||||
| 	"regexp" | ||||
|  | ||||
| 	"gitea.elara.ws/Hazel/music-kraken/internal/common" | ||||
| 	"gitea.elara.ws/Hazel/music-kraken/internal/data" | ||||
| ) | ||||
|  | ||||
| @@ -14,7 +15,7 @@ type Plugin interface { | ||||
| 	RegexAlbum() *regexp.Regexp | ||||
| 	RegexSong() *regexp.Regexp | ||||
|  | ||||
| 	Search(query string) ([]data.MusicObject, error) | ||||
| 	Search(query common.Query) ([]data.MusicObject, error) | ||||
|  | ||||
| 	FetchArtist(source data.Source) (data.Artist, error) | ||||
| 	FetchAlbum(source data.Source) (data.Album, error) | ||||
| @@ -141,6 +142,22 @@ func Fetch(source data.Source) (data.MusicObject, error) { | ||||
| 	return nil, nil | ||||
| } | ||||
|  | ||||
| func Search(q string) { | ||||
| func Search(search string) ([]data.MusicObject, error) { | ||||
| 	query, err := common.NewQuery(search) | ||||
|  | ||||
| 	res := []data.MusicObject{} | ||||
| 	if err != nil { | ||||
| 		return res, err | ||||
| 	} | ||||
|  | ||||
| 	for _, plugin := range namePlugins { | ||||
| 		s, err := plugin.Search(query) | ||||
| 		res = append(res, s) | ||||
|  | ||||
| 		if err != nil { | ||||
| 			return res, err | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return res | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user