refactor: update scanner, scanner tests, mockfs
closes #165 closes #163
This commit is contained in:
@@ -29,6 +29,7 @@ type Controller struct {
|
||||
*ctrlbase.Controller
|
||||
CachePath string
|
||||
CoverCachePath string
|
||||
PodcastsPath string
|
||||
Jukebox *jukebox.Jukebox
|
||||
Scrobblers []scrobble.Scrobbler
|
||||
Podcasts *podcasts.Podcasts
|
||||
|
||||
@@ -2,6 +2,7 @@ package ctrlsubsonic
|
||||
|
||||
import (
|
||||
"context"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
@@ -16,14 +17,12 @@ import (
|
||||
|
||||
"go.senan.xyz/gonic/server/ctrlbase"
|
||||
"go.senan.xyz/gonic/server/ctrlsubsonic/params"
|
||||
"go.senan.xyz/gonic/server/db"
|
||||
"go.senan.xyz/gonic/server/mockfs"
|
||||
)
|
||||
|
||||
var (
|
||||
testDataDir = "testdata"
|
||||
testCamelExpr = regexp.MustCompile("([a-z0-9])([A-Z])")
|
||||
testDBPath = path.Join(testDataDir, "db")
|
||||
testController *Controller
|
||||
testDataDir = "testdata"
|
||||
testCamelExpr = regexp.MustCompile("([a-z0-9])([A-Z])")
|
||||
)
|
||||
|
||||
type queryCase struct {
|
||||
@@ -53,18 +52,26 @@ func makeHTTPMock(query url.Values) (*httptest.ResponseRecorder, *http.Request)
|
||||
return rr, req
|
||||
}
|
||||
|
||||
func runQueryCases(t *testing.T, h handlerSubsonic, cases []*queryCase) {
|
||||
func runQueryCases(t *testing.T, contr *Controller, h handlerSubsonic, cases []*queryCase) {
|
||||
t.Helper()
|
||||
for _, qc := range cases {
|
||||
qc := qc // pin
|
||||
t.Run(qc.expectPath, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
rr, req := makeHTTPMock(qc.params)
|
||||
testController.H(h).ServeHTTP(rr, req)
|
||||
contr.H(h).ServeHTTP(rr, req)
|
||||
body := rr.Body.String()
|
||||
if status := rr.Code; status != http.StatusOK {
|
||||
t.Fatalf("didn't give a 200\n%s", body)
|
||||
}
|
||||
goldenPath := makeGoldenPath(t.Name())
|
||||
goldenRegen := os.Getenv("GONIC_REGEN")
|
||||
if goldenRegen == "*" || (goldenRegen != "" && strings.HasPrefix(t.Name(), goldenRegen)) {
|
||||
_ = os.WriteFile(goldenPath, []byte(body), 0600)
|
||||
t.Logf("golden file %q regenerated for %s", goldenPath, t.Name())
|
||||
t.SkipNow()
|
||||
}
|
||||
|
||||
// read case to differ with handler result
|
||||
expected, err := jd.ReadJsonFile(goldenPath)
|
||||
if err != nil {
|
||||
@@ -88,13 +95,26 @@ func runQueryCases(t *testing.T, h handlerSubsonic, cases []*queryCase) {
|
||||
}
|
||||
}
|
||||
|
||||
func makeController(t *testing.T) (*Controller, *mockfs.MockFS) { return makec(t, []string{""}) }
|
||||
func makeControllerRoots(t *testing.T, r []string) (*Controller, *mockfs.MockFS) { return makec(t, r) }
|
||||
|
||||
func makec(t *testing.T, roots []string) (*Controller, *mockfs.MockFS) {
|
||||
t.Helper()
|
||||
|
||||
m := mockfs.NewWithDirs(t, roots)
|
||||
for _, root := range roots {
|
||||
m.AddItemsPrefixWithCovers(root)
|
||||
}
|
||||
|
||||
m.ScanAndClean()
|
||||
m.ResetDates()
|
||||
m.LogAlbums()
|
||||
|
||||
base := &ctrlbase.Controller{DB: m.DB()}
|
||||
return &Controller{Controller: base}, m
|
||||
}
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
db, err := db.New(testDBPath)
|
||||
if err != nil {
|
||||
log.Fatalf("error opening database: %v\n", err)
|
||||
}
|
||||
testController = &Controller{
|
||||
Controller: &ctrlbase.Controller{DB: db},
|
||||
}
|
||||
log.SetOutput(ioutil.Discard)
|
||||
os.Exit(m.Run())
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ctrlsubsonic
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"net/http"
|
||||
|
||||
"github.com/jinzhu/gorm"
|
||||
@@ -18,7 +19,7 @@ func (c *Controller) ServeGetBookmarks(r *http.Request) *spec.Response {
|
||||
Where("user_id=?", user.ID).
|
||||
Find(&bookmarks).
|
||||
Error
|
||||
if gorm.IsRecordNotFoundError(err) {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return spec.NewResponse()
|
||||
}
|
||||
sub := spec.NewResponse()
|
||||
|
||||
@@ -61,7 +61,7 @@ func (c *Controller) ServeGetMusicDirectory(r *http.Request) *spec.Response {
|
||||
childrenObj := []*spec.TrackChild{}
|
||||
folder := &db.Album{}
|
||||
c.DB.First(folder, id.Value)
|
||||
// ** begin start looking for child childFolders in the current dir
|
||||
// start looking for child childFolders in the current dir
|
||||
var childFolders []*db.Album
|
||||
c.DB.
|
||||
Where("parent_id=?", id.Value).
|
||||
@@ -70,7 +70,7 @@ func (c *Controller) ServeGetMusicDirectory(r *http.Request) *spec.Response {
|
||||
for _, c := range childFolders {
|
||||
childrenObj = append(childrenObj, spec.NewTCAlbumByFolder(c))
|
||||
}
|
||||
// ** begin start looking for child childTracks in the current dir
|
||||
// start looking for child childTracks in the current dir
|
||||
var childTracks []*db.Track
|
||||
c.DB.
|
||||
Where("album_id=?", id.Value).
|
||||
@@ -86,7 +86,7 @@ func (c *Controller) ServeGetMusicDirectory(r *http.Request) *spec.Response {
|
||||
}
|
||||
childrenObj = append(childrenObj, toAppend)
|
||||
}
|
||||
// ** begin respond section
|
||||
// respond section
|
||||
sub := spec.NewResponse()
|
||||
sub.Directory = spec.NewDirectoryByFolder(folder, childrenObj)
|
||||
return sub
|
||||
@@ -167,7 +167,7 @@ func (c *Controller) ServeSearchTwo(r *http.Request) *spec.Response {
|
||||
}
|
||||
query = fmt.Sprintf("%%%s%%", strings.TrimSuffix(query, "*"))
|
||||
results := &spec.SearchResultTwo{}
|
||||
// ** begin search "artists"
|
||||
// search "artists"
|
||||
var artists []*db.Album
|
||||
c.DB.
|
||||
Where(`
|
||||
@@ -182,7 +182,7 @@ func (c *Controller) ServeSearchTwo(r *http.Request) *spec.Response {
|
||||
results.Artists = append(results.Artists,
|
||||
spec.NewDirectoryByFolder(a, nil))
|
||||
}
|
||||
// ** begin search "albums"
|
||||
// search "albums"
|
||||
var albums []*db.Album
|
||||
c.DB.
|
||||
Where(`
|
||||
@@ -196,7 +196,7 @@ func (c *Controller) ServeSearchTwo(r *http.Request) *spec.Response {
|
||||
for _, a := range albums {
|
||||
results.Albums = append(results.Albums, spec.NewTCAlbumByFolder(a))
|
||||
}
|
||||
// ** begin search tracks
|
||||
// search tracks
|
||||
var tracks []*db.Track
|
||||
c.DB.
|
||||
Preload("Album").
|
||||
|
||||
@@ -8,20 +8,30 @@ import (
|
||||
)
|
||||
|
||||
func TestGetIndexes(t *testing.T) {
|
||||
runQueryCases(t, testController.ServeGetIndexes, []*queryCase{
|
||||
contr, m := makeControllerRoots(t, []string{"m-0", "m-1"})
|
||||
defer m.CleanUp()
|
||||
|
||||
runQueryCases(t, contr, contr.ServeGetIndexes, []*queryCase{
|
||||
{url.Values{}, "no_args", false},
|
||||
})
|
||||
}
|
||||
|
||||
func TestGetMusicDirectory(t *testing.T) {
|
||||
runQueryCases(t, testController.ServeGetMusicDirectory, []*queryCase{
|
||||
contr, m := makeController(t)
|
||||
defer m.CleanUp()
|
||||
|
||||
runQueryCases(t, contr, contr.ServeGetMusicDirectory, []*queryCase{
|
||||
{url.Values{"id": {"al-2"}}, "without_tracks", false},
|
||||
{url.Values{"id": {"al-3"}}, "with_tracks", false},
|
||||
})
|
||||
}
|
||||
|
||||
func TestGetAlbumList(t *testing.T) {
|
||||
runQueryCases(t, testController.ServeGetAlbumList, []*queryCase{
|
||||
t.Parallel()
|
||||
contr, m := makeController(t)
|
||||
defer m.CleanUp()
|
||||
|
||||
runQueryCases(t, contr, contr.ServeGetAlbumList, []*queryCase{
|
||||
{url.Values{"type": {"alphabeticalByArtist"}}, "alpha_artist", false},
|
||||
{url.Values{"type": {"alphabeticalByName"}}, "alpha_name", false},
|
||||
{url.Values{"type": {"newest"}}, "newest", false},
|
||||
@@ -30,9 +40,13 @@ func TestGetAlbumList(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSearchTwo(t *testing.T) {
|
||||
runQueryCases(t, testController.ServeSearchTwo, []*queryCase{
|
||||
{url.Values{"query": {"13"}}, "q_13", false},
|
||||
{url.Values{"query": {"ani"}}, "q_ani", false},
|
||||
{url.Values{"query": {"cert"}}, "q_cert", false},
|
||||
t.Parallel()
|
||||
contr, m := makeController(t)
|
||||
defer m.CleanUp()
|
||||
|
||||
runQueryCases(t, contr, contr.ServeSearchTwo, []*queryCase{
|
||||
{url.Values{"query": {"art"}}, "q_art", false},
|
||||
{url.Values{"query": {"alb"}}, "q_alb", false},
|
||||
{url.Values{"query": {"tra"}}, "q_tra", false},
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ctrlsubsonic
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"strings"
|
||||
@@ -88,7 +89,7 @@ func (c *Controller) ServeGetAlbum(r *http.Request) *spec.Response {
|
||||
}).
|
||||
First(album, id.Value).
|
||||
Error
|
||||
if gorm.IsRecordNotFoundError(err) {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return spec.NewError(10, "couldn't find an album with that id")
|
||||
}
|
||||
sub := spec.NewResponse()
|
||||
@@ -174,7 +175,7 @@ func (c *Controller) ServeSearchThree(r *http.Request) *spec.Response {
|
||||
query = fmt.Sprintf("%%%s%%",
|
||||
strings.TrimSuffix(query, "*"))
|
||||
results := &spec.SearchResultThree{}
|
||||
// ** begin search "artists"
|
||||
// search "artists"
|
||||
var artists []*db.Artist
|
||||
c.DB.
|
||||
Where("name LIKE ? OR name_u_dec LIKE ?",
|
||||
@@ -186,7 +187,7 @@ func (c *Controller) ServeSearchThree(r *http.Request) *spec.Response {
|
||||
results.Artists = append(results.Artists,
|
||||
spec.NewArtistByTags(a))
|
||||
}
|
||||
// ** begin search "albums"
|
||||
// search "albums"
|
||||
var albums []*db.Album
|
||||
c.DB.
|
||||
Preload("TagArtist").
|
||||
@@ -199,7 +200,7 @@ func (c *Controller) ServeSearchThree(r *http.Request) *spec.Response {
|
||||
results.Albums = append(results.Albums,
|
||||
spec.NewAlbumByTags(a, a.TagArtist))
|
||||
}
|
||||
// ** begin search tracks
|
||||
// search tracks
|
||||
var tracks []*db.Track
|
||||
c.DB.
|
||||
Preload("Album").
|
||||
@@ -223,7 +224,7 @@ func (c *Controller) ServeGetArtistInfoTwo(r *http.Request) *spec.Response {
|
||||
if err != nil {
|
||||
return spec.NewError(10, "please provide an `id` parameter")
|
||||
}
|
||||
apiKey := c.DB.GetSetting("lastfm_api_key")
|
||||
apiKey, _ := c.DB.GetSetting("lastfm_api_key")
|
||||
if apiKey == "" {
|
||||
sub := spec.NewResponse()
|
||||
sub.ArtistInfoTwo = &spec.ArtistInfo{}
|
||||
@@ -234,7 +235,7 @@ func (c *Controller) ServeGetArtistInfoTwo(r *http.Request) *spec.Response {
|
||||
Where("id=?", id.Value).
|
||||
Find(artist).
|
||||
Error
|
||||
if gorm.IsRecordNotFoundError(err) {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return spec.NewError(70, "artist with id `%s` not found", id)
|
||||
}
|
||||
info, err := lastfm.ArtistGetInfo(apiKey, artist)
|
||||
@@ -271,7 +272,7 @@ func (c *Controller) ServeGetArtistInfoTwo(r *http.Request) *spec.Response {
|
||||
Group("artists.id").
|
||||
Find(artist).
|
||||
Error
|
||||
if gorm.IsRecordNotFoundError(err) && !inclNotPresent {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) && !inclNotPresent {
|
||||
continue
|
||||
}
|
||||
similar := &spec.SimilarArtist{
|
||||
|
||||
@@ -6,13 +6,21 @@ import (
|
||||
)
|
||||
|
||||
func TestGetArtists(t *testing.T) {
|
||||
runQueryCases(t, testController.ServeGetArtists, []*queryCase{
|
||||
t.Parallel()
|
||||
contr, m := makeController(t)
|
||||
defer m.CleanUp()
|
||||
|
||||
runQueryCases(t, contr, contr.ServeGetArtists, []*queryCase{
|
||||
{url.Values{}, "no_args", false},
|
||||
})
|
||||
}
|
||||
|
||||
func TestGetArtist(t *testing.T) {
|
||||
runQueryCases(t, testController.ServeGetArtist, []*queryCase{
|
||||
t.Parallel()
|
||||
contr, m := makeController(t)
|
||||
defer m.CleanUp()
|
||||
|
||||
runQueryCases(t, contr, contr.ServeGetArtist, []*queryCase{
|
||||
{url.Values{"id": {"ar-1"}}, "id_one", false},
|
||||
{url.Values{"id": {"ar-2"}}, "id_two", false},
|
||||
{url.Values{"id": {"ar-3"}}, "id_three", false},
|
||||
@@ -20,14 +28,22 @@ func TestGetArtist(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGetAlbum(t *testing.T) {
|
||||
runQueryCases(t, testController.ServeGetAlbum, []*queryCase{
|
||||
t.Parallel()
|
||||
contr, m := makeController(t)
|
||||
defer m.CleanUp()
|
||||
|
||||
runQueryCases(t, contr, contr.ServeGetAlbum, []*queryCase{
|
||||
{url.Values{"id": {"al-2"}}, "without_cover", false},
|
||||
{url.Values{"id": {"al-3"}}, "with_cover", false},
|
||||
})
|
||||
}
|
||||
|
||||
func TestGetAlbumListTwo(t *testing.T) {
|
||||
runQueryCases(t, testController.ServeGetAlbumListTwo, []*queryCase{
|
||||
t.Parallel()
|
||||
contr, m := makeController(t)
|
||||
defer m.CleanUp()
|
||||
|
||||
runQueryCases(t, contr, contr.ServeGetAlbumListTwo, []*queryCase{
|
||||
{url.Values{"type": {"alphabeticalByArtist"}}, "alpha_artist", false},
|
||||
{url.Values{"type": {"alphabeticalByName"}}, "alpha_name", false},
|
||||
{url.Values{"type": {"newest"}}, "newest", false},
|
||||
@@ -36,9 +52,13 @@ func TestGetAlbumListTwo(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSearchThree(t *testing.T) {
|
||||
runQueryCases(t, testController.ServeSearchThree, []*queryCase{
|
||||
{url.Values{"query": {"13"}}, "q_13", false},
|
||||
{url.Values{"query": {"ani"}}, "q_ani", false},
|
||||
{url.Values{"query": {"cert"}}, "q_cert", false},
|
||||
t.Parallel()
|
||||
contr, m := makeController(t)
|
||||
defer m.CleanUp()
|
||||
|
||||
runQueryCases(t, contr, contr.ServeSearchThree, []*queryCase{
|
||||
{url.Values{"query": {"art"}}, "q_art", false},
|
||||
{url.Values{"query": {"alb"}}, "q_alb", false},
|
||||
{url.Values{"query": {"tit"}}, "q_tra", false},
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ctrlsubsonic
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"log"
|
||||
"net/http"
|
||||
"time"
|
||||
@@ -80,7 +81,7 @@ func (c *Controller) ServeGetMusicFolders(r *http.Request) *spec.Response {
|
||||
|
||||
func (c *Controller) ServeStartScan(r *http.Request) *spec.Response {
|
||||
go func() {
|
||||
if err := c.Scanner.Start(scanner.ScanOptions{}); err != nil {
|
||||
if err := c.Scanner.ScanAndClean(scanner.ScanOptions{}); err != nil {
|
||||
log.Printf("error while scanning: %v\n", err)
|
||||
}
|
||||
}()
|
||||
@@ -95,7 +96,7 @@ func (c *Controller) ServeGetScanStatus(r *http.Request) *spec.Response {
|
||||
|
||||
sub := spec.NewResponse()
|
||||
sub.ScanStatus = &spec.ScanStatus{
|
||||
Scanning: scanner.IsScanning(),
|
||||
Scanning: c.Scanner.IsScanning(),
|
||||
Count: trackCount,
|
||||
}
|
||||
return sub
|
||||
@@ -129,7 +130,7 @@ func (c *Controller) ServeGetPlayQueue(r *http.Request) *spec.Response {
|
||||
Where("user_id=?", user.ID).
|
||||
Find(&queue).
|
||||
Error
|
||||
if gorm.IsRecordNotFoundError(err) {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return spec.NewResponse()
|
||||
}
|
||||
sub := spec.NewResponse()
|
||||
@@ -188,7 +189,7 @@ func (c *Controller) ServeGetSong(r *http.Request) *spec.Response {
|
||||
Preload("Album").
|
||||
First(track).
|
||||
Error
|
||||
if gorm.IsRecordNotFoundError(err) {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return spec.NewError(10, "couldn't find a track with that id")
|
||||
}
|
||||
sub := spec.NewResponse()
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ctrlsubsonic
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"log"
|
||||
"net/http"
|
||||
"sort"
|
||||
@@ -33,7 +34,7 @@ func playlistRender(c *Controller, playlist *db.Playlist) *spec.Playlist {
|
||||
Preload("Album").
|
||||
Find(&track).
|
||||
Error
|
||||
if gorm.IsRecordNotFoundError(err) {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
log.Printf("wasn't able to find track with id %d", id)
|
||||
continue
|
||||
}
|
||||
@@ -68,7 +69,7 @@ func (c *Controller) ServeGetPlaylist(r *http.Request) *spec.Response {
|
||||
Where("id=?", playlistID).
|
||||
Find(&playlist).
|
||||
Error
|
||||
if gorm.IsRecordNotFoundError(err) {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return spec.NewError(70, "playlist with id `%d` not found", playlistID)
|
||||
}
|
||||
sub := spec.NewResponse()
|
||||
|
||||
@@ -173,7 +173,7 @@ func (c *Controller) ServeGetCoverArt(w http.ResponseWriter, r *http.Request) *s
|
||||
_, err = os.Stat(cachePath)
|
||||
switch {
|
||||
case os.IsNotExist(err):
|
||||
coverPath, err := coverGetPath(c.DB, c.MusicPath, c.Podcasts.PodcastBasePath, id)
|
||||
coverPath, err := coverGetPath(c.DB, c.PodcastsPath, id)
|
||||
if err != nil {
|
||||
return spec.NewError(10, "couldn't find cover `%s`: %v", id, err)
|
||||
}
|
||||
@@ -208,7 +208,7 @@ func (c *Controller) ServeStream(w http.ResponseWriter, r *http.Request) *spec.R
|
||||
case specid.PodcastEpisode:
|
||||
podcast, err := streamGetPodcast(c.DB, id.Value)
|
||||
audioFile = podcast
|
||||
audioPath = path.Join(c.Podcasts.PodcastBasePath, podcast.Path)
|
||||
audioPath = path.Join(c.PodcastsPath, podcast.Path)
|
||||
if err != nil {
|
||||
return spec.NewError(70, "podcast with id `%s` was not found", id)
|
||||
}
|
||||
@@ -285,7 +285,7 @@ func (c *Controller) ServeDownload(w http.ResponseWriter, r *http.Request) *spec
|
||||
case specid.PodcastEpisode:
|
||||
podcast, err := streamGetPodcast(c.DB, id.Value)
|
||||
audioFile = podcast
|
||||
filePath = path.Join(c.Podcasts.PodcastBasePath, podcast.Path)
|
||||
filePath = path.Join(c.PodcastsPath, podcast.Path)
|
||||
if err != nil {
|
||||
return spec.NewError(70, "podcast with id `%s` was not found", id)
|
||||
}
|
||||
|
||||
BIN
server/ctrlsubsonic/testdata/db
vendored
BIN
server/ctrlsubsonic/testdata/db
vendored
Binary file not shown.
@@ -6,133 +6,121 @@
|
||||
"albumList": {
|
||||
"album": [
|
||||
{
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artist": "13th Floor Lowervators",
|
||||
"title": "(1967) Easter Nowhere",
|
||||
"id": "al-2",
|
||||
"coverArt": "al-2",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-0",
|
||||
"album": "",
|
||||
"parent": "al-7",
|
||||
"parent": "al-1",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 10,
|
||||
"duration": 2609,
|
||||
"created": "2019-06-13T12:57:28.850090338+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artist": "13th Floor Lowervators",
|
||||
"title": "(1966) The Psychedelic Sounds of the 13th Floor Elevators",
|
||||
"album": "",
|
||||
"parent": "al-7",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 21,
|
||||
"duration": 4222,
|
||||
"created": "2019-06-13T12:57:24.306717554+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-5",
|
||||
"coverArt": "al-5",
|
||||
"artist": "A Certain Ratio",
|
||||
"title": "(1994) The Graveyard and the Ballroom",
|
||||
"album": "",
|
||||
"parent": "al-4",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 14,
|
||||
"duration": 2738,
|
||||
"created": "2019-06-05T17:46:37.675917974+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-6",
|
||||
"artist": "A Certain Ratio",
|
||||
"title": "(1981) To EachOTHER.",
|
||||
"album": "",
|
||||
"parent": "al-4",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 9,
|
||||
"duration": 2801,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-21",
|
||||
"coverArt": "al-21",
|
||||
"artist": "Captain Beefheart",
|
||||
"title": "(1970) Lick My Decals Off, Bitch",
|
||||
"album": "",
|
||||
"parent": "al-20",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 15,
|
||||
"duration": 2324,
|
||||
"created": "2019-06-10T19:26:30.944742894+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-3",
|
||||
"coverArt": "al-3",
|
||||
"artist": "Jah Wobble, The Edge, Holger Czukay",
|
||||
"title": "(1983) Snake Charmer",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-1",
|
||||
"album": "",
|
||||
"parent": "al-2",
|
||||
"parent": "al-1",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 5,
|
||||
"duration": 1871,
|
||||
"created": "2019-05-16T22:10:52+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-16",
|
||||
"coverArt": "al-16",
|
||||
"artist": "Swell Maps",
|
||||
"title": "(1980) Jane From Occupied Europe",
|
||||
"id": "al-4",
|
||||
"coverArt": "al-4",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-2",
|
||||
"album": "",
|
||||
"parent": "al-15",
|
||||
"parent": "al-1",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 16,
|
||||
"duration": 3040,
|
||||
"created": "2019-04-30T16:48:48+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-17",
|
||||
"coverArt": "al-17",
|
||||
"artist": "Swell Maps",
|
||||
"title": "(1979) A Trip to Marineville",
|
||||
"id": "al-7",
|
||||
"coverArt": "al-7",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-0",
|
||||
"album": "",
|
||||
"parent": "al-15",
|
||||
"parent": "al-6",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 18,
|
||||
"duration": 3266,
|
||||
"created": "2019-04-30T16:48:48+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-19",
|
||||
"coverArt": "al-19",
|
||||
"artist": "Ten Years After",
|
||||
"title": "(1967) Ten Years After",
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-1",
|
||||
"album": "",
|
||||
"parent": "al-18",
|
||||
"parent": "al-6",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 15,
|
||||
"duration": 3812,
|
||||
"created": "2019-04-30T16:48:30+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-2",
|
||||
"album": "",
|
||||
"parent": "al-6",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-11",
|
||||
"coverArt": "al-11",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-0",
|
||||
"album": "",
|
||||
"parent": "al-10",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-12",
|
||||
"coverArt": "al-12",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-1",
|
||||
"album": "",
|
||||
"parent": "al-10",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"artist": "There",
|
||||
"title": "(2010) Anika",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-2",
|
||||
"album": "",
|
||||
"parent": "al-12",
|
||||
"parent": "al-10",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 9,
|
||||
"duration": 2169,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -6,133 +6,121 @@
|
||||
"albumList": {
|
||||
"album": [
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artist": "13th Floor Lowervators",
|
||||
"title": "(1966) The Psychedelic Sounds of the 13th Floor Elevators",
|
||||
"id": "al-2",
|
||||
"coverArt": "al-2",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-0",
|
||||
"album": "",
|
||||
"parent": "al-7",
|
||||
"parent": "al-1",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 21,
|
||||
"duration": 4222,
|
||||
"created": "2019-06-13T12:57:24.306717554+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artist": "13th Floor Lowervators",
|
||||
"title": "(1967) Easter Nowhere",
|
||||
"id": "al-7",
|
||||
"coverArt": "al-7",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-0",
|
||||
"album": "",
|
||||
"parent": "al-7",
|
||||
"parent": "al-6",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 10,
|
||||
"duration": 2609,
|
||||
"created": "2019-06-13T12:57:28.850090338+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-19",
|
||||
"coverArt": "al-19",
|
||||
"artist": "Ten Years After",
|
||||
"title": "(1967) Ten Years After",
|
||||
"id": "al-11",
|
||||
"coverArt": "al-11",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-0",
|
||||
"album": "",
|
||||
"parent": "al-18",
|
||||
"parent": "al-10",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 15,
|
||||
"duration": 3812,
|
||||
"created": "2019-04-30T16:48:30+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-21",
|
||||
"coverArt": "al-21",
|
||||
"artist": "Captain Beefheart",
|
||||
"title": "(1970) Lick My Decals Off, Bitch",
|
||||
"album": "",
|
||||
"parent": "al-20",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 15,
|
||||
"duration": 2324,
|
||||
"created": "2019-06-10T19:26:30.944742894+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-17",
|
||||
"coverArt": "al-17",
|
||||
"artist": "Swell Maps",
|
||||
"title": "(1979) A Trip to Marineville",
|
||||
"album": "",
|
||||
"parent": "al-15",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 18,
|
||||
"duration": 3266,
|
||||
"created": "2019-04-30T16:48:48+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-16",
|
||||
"coverArt": "al-16",
|
||||
"artist": "Swell Maps",
|
||||
"title": "(1980) Jane From Occupied Europe",
|
||||
"album": "",
|
||||
"parent": "al-15",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 16,
|
||||
"duration": 3040,
|
||||
"created": "2019-04-30T16:48:48+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-6",
|
||||
"artist": "A Certain Ratio",
|
||||
"title": "(1981) To EachOTHER.",
|
||||
"album": "",
|
||||
"parent": "al-4",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 9,
|
||||
"duration": 2801,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-3",
|
||||
"coverArt": "al-3",
|
||||
"artist": "Jah Wobble, The Edge, Holger Czukay",
|
||||
"title": "(1983) Snake Charmer",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-1",
|
||||
"album": "",
|
||||
"parent": "al-2",
|
||||
"parent": "al-1",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 5,
|
||||
"duration": 1871,
|
||||
"created": "2019-05-16T22:10:52+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-5",
|
||||
"coverArt": "al-5",
|
||||
"artist": "A Certain Ratio",
|
||||
"title": "(1994) The Graveyard and the Ballroom",
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-1",
|
||||
"album": "",
|
||||
"parent": "al-4",
|
||||
"parent": "al-6",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 14,
|
||||
"duration": 2738,
|
||||
"created": "2019-06-05T17:46:37.675917974+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-12",
|
||||
"coverArt": "al-12",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-1",
|
||||
"album": "",
|
||||
"parent": "al-10",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-4",
|
||||
"coverArt": "al-4",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-2",
|
||||
"album": "",
|
||||
"parent": "al-1",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-2",
|
||||
"album": "",
|
||||
"parent": "al-6",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"artist": "There",
|
||||
"title": "(2010) Anika",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-2",
|
||||
"album": "",
|
||||
"parent": "al-12",
|
||||
"parent": "al-10",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 9,
|
||||
"duration": 2169,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -6,133 +6,121 @@
|
||||
"albumList": {
|
||||
"album": [
|
||||
{
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artist": "13th Floor Lowervators",
|
||||
"title": "(1967) Easter Nowhere",
|
||||
"id": "al-2",
|
||||
"coverArt": "al-2",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-0",
|
||||
"album": "",
|
||||
"parent": "al-7",
|
||||
"parent": "al-1",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 10,
|
||||
"duration": 2609,
|
||||
"created": "2019-06-13T12:57:28.850090338+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artist": "13th Floor Lowervators",
|
||||
"title": "(1966) The Psychedelic Sounds of the 13th Floor Elevators",
|
||||
"album": "",
|
||||
"parent": "al-7",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 21,
|
||||
"duration": 4222,
|
||||
"created": "2019-06-13T12:57:24.306717554+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-21",
|
||||
"coverArt": "al-21",
|
||||
"artist": "Captain Beefheart",
|
||||
"title": "(1970) Lick My Decals Off, Bitch",
|
||||
"album": "",
|
||||
"parent": "al-20",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 15,
|
||||
"duration": 2324,
|
||||
"created": "2019-06-10T19:26:30.944742894+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-5",
|
||||
"coverArt": "al-5",
|
||||
"artist": "A Certain Ratio",
|
||||
"title": "(1994) The Graveyard and the Ballroom",
|
||||
"album": "",
|
||||
"parent": "al-4",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 14,
|
||||
"duration": 2738,
|
||||
"created": "2019-06-05T17:46:37.675917974+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-6",
|
||||
"artist": "A Certain Ratio",
|
||||
"title": "(1981) To EachOTHER.",
|
||||
"album": "",
|
||||
"parent": "al-4",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 9,
|
||||
"duration": 2801,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"artist": "There",
|
||||
"title": "(2010) Anika",
|
||||
"album": "",
|
||||
"parent": "al-12",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 9,
|
||||
"duration": 2169,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-3",
|
||||
"coverArt": "al-3",
|
||||
"artist": "Jah Wobble, The Edge, Holger Czukay",
|
||||
"title": "(1983) Snake Charmer",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-1",
|
||||
"album": "",
|
||||
"parent": "al-2",
|
||||
"parent": "al-1",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 5,
|
||||
"duration": 1871,
|
||||
"created": "2019-05-16T22:10:52+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-16",
|
||||
"coverArt": "al-16",
|
||||
"artist": "Swell Maps",
|
||||
"title": "(1980) Jane From Occupied Europe",
|
||||
"id": "al-4",
|
||||
"coverArt": "al-4",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-2",
|
||||
"album": "",
|
||||
"parent": "al-15",
|
||||
"parent": "al-1",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 16,
|
||||
"duration": 3040,
|
||||
"created": "2019-04-30T16:48:48+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-17",
|
||||
"coverArt": "al-17",
|
||||
"artist": "Swell Maps",
|
||||
"title": "(1979) A Trip to Marineville",
|
||||
"id": "al-7",
|
||||
"coverArt": "al-7",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-0",
|
||||
"album": "",
|
||||
"parent": "al-15",
|
||||
"parent": "al-6",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 18,
|
||||
"duration": 3266,
|
||||
"created": "2019-04-30T16:48:48+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-19",
|
||||
"coverArt": "al-19",
|
||||
"artist": "Ten Years After",
|
||||
"title": "(1967) Ten Years After",
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-1",
|
||||
"album": "",
|
||||
"parent": "al-18",
|
||||
"parent": "al-6",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 15,
|
||||
"duration": 3812,
|
||||
"created": "2019-04-30T16:48:30+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-2",
|
||||
"album": "",
|
||||
"parent": "al-6",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-11",
|
||||
"coverArt": "al-11",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-0",
|
||||
"album": "",
|
||||
"parent": "al-10",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-12",
|
||||
"coverArt": "al-12",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-1",
|
||||
"album": "",
|
||||
"parent": "al-10",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-2",
|
||||
"album": "",
|
||||
"parent": "al-10",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -6,133 +6,121 @@
|
||||
"albumList": {
|
||||
"album": [
|
||||
{
|
||||
"id": "al-19",
|
||||
"coverArt": "al-19",
|
||||
"artist": "Ten Years After",
|
||||
"title": "(1967) Ten Years After",
|
||||
"id": "al-2",
|
||||
"coverArt": "al-2",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-0",
|
||||
"album": "",
|
||||
"parent": "al-18",
|
||||
"parent": "al-1",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 15,
|
||||
"duration": 3812,
|
||||
"created": "2019-04-30T16:48:30+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-21",
|
||||
"coverArt": "al-21",
|
||||
"artist": "Captain Beefheart",
|
||||
"title": "(1970) Lick My Decals Off, Bitch",
|
||||
"id": "al-7",
|
||||
"coverArt": "al-7",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-0",
|
||||
"album": "",
|
||||
"parent": "al-20",
|
||||
"parent": "al-6",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 15,
|
||||
"duration": 2324,
|
||||
"created": "2019-06-10T19:26:30.944742894+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-17",
|
||||
"coverArt": "al-17",
|
||||
"artist": "Swell Maps",
|
||||
"title": "(1979) A Trip to Marineville",
|
||||
"album": "",
|
||||
"parent": "al-15",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 18,
|
||||
"duration": 3266,
|
||||
"created": "2019-04-30T16:48:48+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-6",
|
||||
"artist": "A Certain Ratio",
|
||||
"title": "(1981) To EachOTHER.",
|
||||
"album": "",
|
||||
"parent": "al-4",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 9,
|
||||
"duration": 2801,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"artist": "There",
|
||||
"title": "(2010) Anika",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-2",
|
||||
"album": "",
|
||||
"parent": "al-12",
|
||||
"parent": "al-10",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 9,
|
||||
"duration": 2169,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artist": "13th Floor Lowervators",
|
||||
"title": "(1967) Easter Nowhere",
|
||||
"id": "al-11",
|
||||
"coverArt": "al-11",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-0",
|
||||
"album": "",
|
||||
"parent": "al-7",
|
||||
"parent": "al-10",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 10,
|
||||
"duration": 2609,
|
||||
"created": "2019-06-13T12:57:28.850090338+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artist": "13th Floor Lowervators",
|
||||
"title": "(1966) The Psychedelic Sounds of the 13th Floor Elevators",
|
||||
"album": "",
|
||||
"parent": "al-7",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 21,
|
||||
"duration": 4222,
|
||||
"created": "2019-06-13T12:57:24.306717554+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-5",
|
||||
"coverArt": "al-5",
|
||||
"artist": "A Certain Ratio",
|
||||
"title": "(1994) The Graveyard and the Ballroom",
|
||||
"album": "",
|
||||
"parent": "al-4",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 14,
|
||||
"duration": 2738,
|
||||
"created": "2019-06-05T17:46:37.675917974+01:00"
|
||||
},
|
||||
{
|
||||
"id": "al-16",
|
||||
"coverArt": "al-16",
|
||||
"artist": "Swell Maps",
|
||||
"title": "(1980) Jane From Occupied Europe",
|
||||
"album": "",
|
||||
"parent": "al-15",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 16,
|
||||
"duration": 3040,
|
||||
"created": "2019-04-30T16:48:48+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-3",
|
||||
"coverArt": "al-3",
|
||||
"artist": "Jah Wobble, The Edge, Holger Czukay",
|
||||
"title": "(1983) Snake Charmer",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-1",
|
||||
"album": "",
|
||||
"parent": "al-2",
|
||||
"parent": "al-1",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 5,
|
||||
"duration": 1871,
|
||||
"created": "2019-05-16T22:10:52+01:00"
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-12",
|
||||
"coverArt": "al-12",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-1",
|
||||
"album": "",
|
||||
"parent": "al-10",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-1",
|
||||
"album": "",
|
||||
"parent": "al-6",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-4",
|
||||
"coverArt": "al-4",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-2",
|
||||
"album": "",
|
||||
"parent": "al-1",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "album-2",
|
||||
"album": "",
|
||||
"parent": "al-6",
|
||||
"isDir": true,
|
||||
"name": "",
|
||||
"songCount": 3,
|
||||
"duration": 300
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -6,133 +6,121 @@
|
||||
"albumList2": {
|
||||
"album": [
|
||||
{
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artistId": "ar-3",
|
||||
"artist": "13th Floor Elevators",
|
||||
"id": "al-2",
|
||||
"coverArt": "al-2",
|
||||
"artistId": "ar-1",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Easter Everywhere",
|
||||
"songCount": 10,
|
||||
"duration": 2609,
|
||||
"created": "2019-06-13T12:57:28.850090338+01:00",
|
||||
"year": 1967
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artistId": "ar-3",
|
||||
"artist": "13th Floor Elevators",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "The Psychedelic Sounds of the 13th Floor Elevators",
|
||||
"songCount": 21,
|
||||
"duration": 4222,
|
||||
"created": "2019-06-13T12:57:24.306717554+01:00",
|
||||
"year": 1966
|
||||
},
|
||||
{
|
||||
"id": "al-5",
|
||||
"coverArt": "al-5",
|
||||
"artistId": "ar-2",
|
||||
"artist": "A Certain Ratio",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "The Graveyard and the Ballroom",
|
||||
"songCount": 14,
|
||||
"duration": 2738,
|
||||
"created": "2019-06-05T17:46:37.675917974+01:00",
|
||||
"year": 1994
|
||||
},
|
||||
{
|
||||
"id": "al-6",
|
||||
"artistId": "ar-2",
|
||||
"artist": "A Certain Ratio",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "To Each...",
|
||||
"songCount": 9,
|
||||
"duration": 2801,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00",
|
||||
"year": 1981
|
||||
},
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"artistId": "ar-4",
|
||||
"artist": "Anikas",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Anika",
|
||||
"songCount": 9,
|
||||
"duration": 2169,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00",
|
||||
"year": 2010
|
||||
},
|
||||
{
|
||||
"id": "al-21",
|
||||
"coverArt": "al-21",
|
||||
"artistId": "ar-7",
|
||||
"artist": "Captain Beefheart & His Magic Band",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Lick My Decals Off, Baby",
|
||||
"songCount": 15,
|
||||
"duration": 2324,
|
||||
"created": "2019-06-10T19:26:30.944742894+01:00",
|
||||
"year": 1970
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-3",
|
||||
"coverArt": "al-3",
|
||||
"artistId": "ar-1",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Snake Charmer",
|
||||
"songCount": 5,
|
||||
"duration": 1871,
|
||||
"created": "2019-05-16T22:10:52+01:00",
|
||||
"year": 1983
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-16",
|
||||
"coverArt": "al-16",
|
||||
"artistId": "ar-5",
|
||||
"artist": "Swell Maps",
|
||||
"id": "al-4",
|
||||
"coverArt": "al-4",
|
||||
"artistId": "ar-1",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Jane From Occupied Europe",
|
||||
"songCount": 16,
|
||||
"duration": 3040,
|
||||
"created": "2019-04-30T16:48:48+01:00",
|
||||
"year": 1980
|
||||
"name": "album-2",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-17",
|
||||
"coverArt": "al-17",
|
||||
"artistId": "ar-5",
|
||||
"artist": "Swell Maps",
|
||||
"id": "al-7",
|
||||
"coverArt": "al-7",
|
||||
"artistId": "ar-2",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "A Trip to Marineville",
|
||||
"songCount": 18,
|
||||
"duration": 3266,
|
||||
"created": "2019-04-30T16:48:48+01:00",
|
||||
"year": 1979
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-19",
|
||||
"coverArt": "al-19",
|
||||
"artistId": "ar-6",
|
||||
"artist": "Ten Years After",
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artistId": "ar-2",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Ten Years After",
|
||||
"songCount": 15,
|
||||
"duration": 3812,
|
||||
"created": "2019-04-30T16:48:30+01:00",
|
||||
"year": 1967
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artistId": "ar-2",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-2",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-11",
|
||||
"coverArt": "al-11",
|
||||
"artistId": "ar-3",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-12",
|
||||
"coverArt": "al-12",
|
||||
"artistId": "ar-3",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"artistId": "ar-3",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-2",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -6,133 +6,121 @@
|
||||
"albumList2": {
|
||||
"album": [
|
||||
{
|
||||
"id": "al-17",
|
||||
"coverArt": "al-17",
|
||||
"artistId": "ar-5",
|
||||
"artist": "Swell Maps",
|
||||
"id": "al-2",
|
||||
"coverArt": "al-2",
|
||||
"artistId": "ar-1",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "A Trip to Marineville",
|
||||
"songCount": 18,
|
||||
"duration": 3266,
|
||||
"created": "2019-04-30T16:48:48+01:00",
|
||||
"year": 1979
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"artistId": "ar-4",
|
||||
"artist": "Anikas",
|
||||
"id": "al-7",
|
||||
"coverArt": "al-7",
|
||||
"artistId": "ar-2",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Anika",
|
||||
"songCount": 9,
|
||||
"duration": 2169,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00",
|
||||
"year": 2010
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"id": "al-11",
|
||||
"coverArt": "al-11",
|
||||
"artistId": "ar-3",
|
||||
"artist": "13th Floor Elevators",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Easter Everywhere",
|
||||
"songCount": 10,
|
||||
"duration": 2609,
|
||||
"created": "2019-06-13T12:57:28.850090338+01:00",
|
||||
"year": 1967
|
||||
},
|
||||
{
|
||||
"id": "al-16",
|
||||
"coverArt": "al-16",
|
||||
"artistId": "ar-5",
|
||||
"artist": "Swell Maps",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Jane From Occupied Europe",
|
||||
"songCount": 16,
|
||||
"duration": 3040,
|
||||
"created": "2019-04-30T16:48:48+01:00",
|
||||
"year": 1980
|
||||
},
|
||||
{
|
||||
"id": "al-21",
|
||||
"coverArt": "al-21",
|
||||
"artistId": "ar-7",
|
||||
"artist": "Captain Beefheart & His Magic Band",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Lick My Decals Off, Baby",
|
||||
"songCount": 15,
|
||||
"duration": 2324,
|
||||
"created": "2019-06-10T19:26:30.944742894+01:00",
|
||||
"year": 1970
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-3",
|
||||
"coverArt": "al-3",
|
||||
"artistId": "ar-1",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Snake Charmer",
|
||||
"songCount": 5,
|
||||
"duration": 1871,
|
||||
"created": "2019-05-16T22:10:52+01:00",
|
||||
"year": 1983
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-19",
|
||||
"coverArt": "al-19",
|
||||
"artistId": "ar-6",
|
||||
"artist": "Ten Years After",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Ten Years After",
|
||||
"songCount": 15,
|
||||
"duration": 3812,
|
||||
"created": "2019-04-30T16:48:30+01:00",
|
||||
"year": 1967
|
||||
},
|
||||
{
|
||||
"id": "al-5",
|
||||
"coverArt": "al-5",
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artistId": "ar-2",
|
||||
"artist": "A Certain Ratio",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "The Graveyard and the Ballroom",
|
||||
"songCount": 14,
|
||||
"duration": 2738,
|
||||
"created": "2019-06-05T17:46:37.675917974+01:00",
|
||||
"year": 1994
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-12",
|
||||
"coverArt": "al-12",
|
||||
"artistId": "ar-3",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-4",
|
||||
"coverArt": "al-4",
|
||||
"artistId": "ar-1",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-2",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artistId": "ar-3",
|
||||
"artist": "13th Floor Elevators",
|
||||
"artistId": "ar-2",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "The Psychedelic Sounds of the 13th Floor Elevators",
|
||||
"songCount": 21,
|
||||
"duration": 4222,
|
||||
"created": "2019-06-13T12:57:24.306717554+01:00",
|
||||
"year": 1966
|
||||
"name": "album-2",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-6",
|
||||
"artistId": "ar-2",
|
||||
"artist": "A Certain Ratio",
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"artistId": "ar-3",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "To Each...",
|
||||
"songCount": 9,
|
||||
"duration": 2801,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00",
|
||||
"year": 1981
|
||||
"name": "album-2",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -6,133 +6,121 @@
|
||||
"albumList2": {
|
||||
"album": [
|
||||
{
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artistId": "ar-3",
|
||||
"artist": "13th Floor Elevators",
|
||||
"id": "al-2",
|
||||
"coverArt": "al-2",
|
||||
"artistId": "ar-1",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Easter Everywhere",
|
||||
"songCount": 10,
|
||||
"duration": 2609,
|
||||
"created": "2019-06-13T12:57:28.850090338+01:00",
|
||||
"year": 1967
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artistId": "ar-3",
|
||||
"artist": "13th Floor Elevators",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "The Psychedelic Sounds of the 13th Floor Elevators",
|
||||
"songCount": 21,
|
||||
"duration": 4222,
|
||||
"created": "2019-06-13T12:57:24.306717554+01:00",
|
||||
"year": 1966
|
||||
},
|
||||
{
|
||||
"id": "al-21",
|
||||
"coverArt": "al-21",
|
||||
"artistId": "ar-7",
|
||||
"artist": "Captain Beefheart & His Magic Band",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Lick My Decals Off, Baby",
|
||||
"songCount": 15,
|
||||
"duration": 2324,
|
||||
"created": "2019-06-10T19:26:30.944742894+01:00",
|
||||
"year": 1970
|
||||
},
|
||||
{
|
||||
"id": "al-5",
|
||||
"coverArt": "al-5",
|
||||
"artistId": "ar-2",
|
||||
"artist": "A Certain Ratio",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "The Graveyard and the Ballroom",
|
||||
"songCount": 14,
|
||||
"duration": 2738,
|
||||
"created": "2019-06-05T17:46:37.675917974+01:00",
|
||||
"year": 1994
|
||||
},
|
||||
{
|
||||
"id": "al-6",
|
||||
"artistId": "ar-2",
|
||||
"artist": "A Certain Ratio",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "To Each...",
|
||||
"songCount": 9,
|
||||
"duration": 2801,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00",
|
||||
"year": 1981
|
||||
},
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"artistId": "ar-4",
|
||||
"artist": "Anikas",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Anika",
|
||||
"songCount": 9,
|
||||
"duration": 2169,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00",
|
||||
"year": 2010
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-3",
|
||||
"coverArt": "al-3",
|
||||
"artistId": "ar-1",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Snake Charmer",
|
||||
"songCount": 5,
|
||||
"duration": 1871,
|
||||
"created": "2019-05-16T22:10:52+01:00",
|
||||
"year": 1983
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-16",
|
||||
"coverArt": "al-16",
|
||||
"artistId": "ar-5",
|
||||
"artist": "Swell Maps",
|
||||
"id": "al-4",
|
||||
"coverArt": "al-4",
|
||||
"artistId": "ar-1",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Jane From Occupied Europe",
|
||||
"songCount": 16,
|
||||
"duration": 3040,
|
||||
"created": "2019-04-30T16:48:48+01:00",
|
||||
"year": 1980
|
||||
"name": "album-2",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-17",
|
||||
"coverArt": "al-17",
|
||||
"artistId": "ar-5",
|
||||
"artist": "Swell Maps",
|
||||
"id": "al-7",
|
||||
"coverArt": "al-7",
|
||||
"artistId": "ar-2",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "A Trip to Marineville",
|
||||
"songCount": 18,
|
||||
"duration": 3266,
|
||||
"created": "2019-04-30T16:48:48+01:00",
|
||||
"year": 1979
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-19",
|
||||
"coverArt": "al-19",
|
||||
"artistId": "ar-6",
|
||||
"artist": "Ten Years After",
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artistId": "ar-2",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Ten Years After",
|
||||
"songCount": 15,
|
||||
"duration": 3812,
|
||||
"created": "2019-04-30T16:48:30+01:00",
|
||||
"year": 1967
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artistId": "ar-2",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-2",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-11",
|
||||
"coverArt": "al-11",
|
||||
"artistId": "ar-3",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-12",
|
||||
"coverArt": "al-12",
|
||||
"artistId": "ar-3",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"artistId": "ar-3",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-2",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -6,133 +6,121 @@
|
||||
"albumList2": {
|
||||
"album": [
|
||||
{
|
||||
"id": "al-17",
|
||||
"coverArt": "al-17",
|
||||
"artistId": "ar-5",
|
||||
"artist": "Swell Maps",
|
||||
"id": "al-3",
|
||||
"coverArt": "al-3",
|
||||
"artistId": "ar-1",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "A Trip to Marineville",
|
||||
"songCount": 18,
|
||||
"duration": 3266,
|
||||
"created": "2019-04-30T16:48:48+01:00",
|
||||
"year": 1979
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-11",
|
||||
"coverArt": "al-11",
|
||||
"artistId": "ar-3",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-4",
|
||||
"coverArt": "al-4",
|
||||
"artistId": "ar-1",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-2",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artistId": "ar-3",
|
||||
"artist": "13th Floor Elevators",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "The Psychedelic Sounds of the 13th Floor Elevators",
|
||||
"songCount": 21,
|
||||
"duration": 4222,
|
||||
"created": "2019-06-13T12:57:24.306717554+01:00",
|
||||
"year": 1966
|
||||
},
|
||||
{
|
||||
"id": "al-16",
|
||||
"coverArt": "al-16",
|
||||
"artistId": "ar-5",
|
||||
"artist": "Swell Maps",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Jane From Occupied Europe",
|
||||
"songCount": 16,
|
||||
"duration": 3040,
|
||||
"created": "2019-04-30T16:48:48+01:00",
|
||||
"year": 1980
|
||||
},
|
||||
{
|
||||
"id": "al-19",
|
||||
"coverArt": "al-19",
|
||||
"artistId": "ar-6",
|
||||
"artist": "Ten Years After",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Ten Years After",
|
||||
"songCount": 15,
|
||||
"duration": 3812,
|
||||
"created": "2019-04-30T16:48:30+01:00",
|
||||
"year": 1967
|
||||
},
|
||||
{
|
||||
"id": "al-6",
|
||||
"artistId": "ar-2",
|
||||
"artist": "A Certain Ratio",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "To Each...",
|
||||
"songCount": 9,
|
||||
"duration": 2801,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00",
|
||||
"year": 1981
|
||||
"name": "album-2",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artistId": "ar-3",
|
||||
"artist": "13th Floor Elevators",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Easter Everywhere",
|
||||
"songCount": 10,
|
||||
"duration": 2609,
|
||||
"created": "2019-06-13T12:57:28.850090338+01:00",
|
||||
"year": 1967
|
||||
},
|
||||
{
|
||||
"id": "al-21",
|
||||
"coverArt": "al-21",
|
||||
"artistId": "ar-7",
|
||||
"artist": "Captain Beefheart & His Magic Band",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Lick My Decals Off, Baby",
|
||||
"songCount": 15,
|
||||
"duration": 2324,
|
||||
"created": "2019-06-10T19:26:30.944742894+01:00",
|
||||
"year": 1970
|
||||
},
|
||||
{
|
||||
"id": "al-5",
|
||||
"coverArt": "al-5",
|
||||
"artistId": "ar-2",
|
||||
"artist": "A Certain Ratio",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "The Graveyard and the Ballroom",
|
||||
"songCount": 14,
|
||||
"duration": 2738,
|
||||
"created": "2019-06-05T17:46:37.675917974+01:00",
|
||||
"year": 1994
|
||||
},
|
||||
{
|
||||
"id": "al-3",
|
||||
"coverArt": "al-3",
|
||||
"id": "al-2",
|
||||
"coverArt": "al-2",
|
||||
"artistId": "ar-1",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Snake Charmer",
|
||||
"songCount": 5,
|
||||
"duration": 1871,
|
||||
"created": "2019-05-16T22:10:52+01:00",
|
||||
"year": 1983
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"artistId": "ar-4",
|
||||
"artist": "Anikas",
|
||||
"artistId": "ar-3",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Anika",
|
||||
"songCount": 9,
|
||||
"duration": 2169,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00",
|
||||
"year": 2010
|
||||
"name": "album-2",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artistId": "ar-2",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-7",
|
||||
"coverArt": "al-7",
|
||||
"artistId": "ar-2",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-12",
|
||||
"coverArt": "al-12",
|
||||
"artistId": "ar-3",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -7,129 +7,80 @@
|
||||
"id": "al-3",
|
||||
"coverArt": "al-3",
|
||||
"artistId": "ar-1",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Snake Charmer",
|
||||
"songCount": 5,
|
||||
"duration": 1871,
|
||||
"created": "2019-05-16T22:10:52+01:00",
|
||||
"year": 1983,
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021,
|
||||
"song": [
|
||||
{
|
||||
"id": "tr-1",
|
||||
"album": "Snake Charmer",
|
||||
"id": "tr-4",
|
||||
"album": "album-1",
|
||||
"albumId": "al-3",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"artist": "artist-0",
|
||||
"artistId": "ar-1",
|
||||
"bitRate": 882,
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-07-08T21:49:40.978045401+01:00",
|
||||
"duration": 372,
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "Jah Wobble, The Edge, Holger Czukay/(1983) Snake Charmer/01.05 Snake Charmer.flac",
|
||||
"size": 41274185,
|
||||
"path": "artist-0/album-1/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "Snake Charmer",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 1983
|
||||
},
|
||||
{
|
||||
"id": "tr-3",
|
||||
"album": "Snake Charmer",
|
||||
"albumId": "al-3",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"artistId": "ar-1",
|
||||
"bitRate": 814,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-07-08T21:49:40.981605306+01:00",
|
||||
"duration": 523,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "Jah Wobble, The Edge, Holger Czukay/(1983) Snake Charmer/02.05 Hold On to Your Dreams.flac",
|
||||
"size": 53447545,
|
||||
"suffix": "flac",
|
||||
"title": "Hold On to Your Dreams",
|
||||
"track": 2,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 1983
|
||||
},
|
||||
{
|
||||
"id": "tr-2",
|
||||
"album": "Snake Charmer",
|
||||
"albumId": "al-3",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"artistId": "ar-1",
|
||||
"bitRate": 745,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-07-08T21:49:40.979981084+01:00",
|
||||
"duration": 331,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "Jah Wobble, The Edge, Holger Czukay/(1983) Snake Charmer/03.05 It Was a Camel.flac",
|
||||
"size": 31080508,
|
||||
"suffix": "flac",
|
||||
"title": "It Was a Camel",
|
||||
"track": 3,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 1983
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-5",
|
||||
"album": "Snake Charmer",
|
||||
"album": "album-1",
|
||||
"albumId": "al-3",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"artist": "artist-0",
|
||||
"artistId": "ar-1",
|
||||
"bitRate": 976,
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-07-08T21:49:40.984853203+01:00",
|
||||
"duration": 227,
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "Jah Wobble, The Edge, Holger Czukay/(1983) Snake Charmer/04.05 Sleazy.flac",
|
||||
"size": 27938750,
|
||||
"path": "artist-0/album-1/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "Sleazy",
|
||||
"track": 4,
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 1983
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-4",
|
||||
"album": "Snake Charmer",
|
||||
"id": "tr-6",
|
||||
"album": "album-1",
|
||||
"albumId": "al-3",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"artist": "artist-0",
|
||||
"artistId": "ar-1",
|
||||
"bitRate": 884,
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-07-08T21:49:40.983301328+01:00",
|
||||
"duration": 418,
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "Jah Wobble, The Edge, Holger Czukay/(1983) Snake Charmer/05.05 Snake Charmer (reprise).flac",
|
||||
"size": 46427922,
|
||||
"path": "artist-0/album-1/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "Snake Charmer (reprise)",
|
||||
"track": 5,
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 1983
|
||||
"year": 2021
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -5,12 +5,84 @@
|
||||
"type": "gonic",
|
||||
"album": {
|
||||
"id": "al-2",
|
||||
"coverArt": "al-2",
|
||||
"artistId": "ar-1",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "",
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"created": "2019-05-16T22:10:21+01:00"
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021,
|
||||
"song": [
|
||||
{
|
||||
"id": "tr-1",
|
||||
"album": "album-0",
|
||||
"albumId": "al-2",
|
||||
"artist": "artist-0",
|
||||
"artistId": "ar-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-2",
|
||||
"path": "artist-0/album-0/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-2",
|
||||
"album": "album-0",
|
||||
"albumId": "al-2",
|
||||
"artist": "artist-0",
|
||||
"artistId": "ar-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-2",
|
||||
"path": "artist-0/album-0/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-3",
|
||||
"album": "album-0",
|
||||
"albumId": "al-2",
|
||||
"artist": "artist-0",
|
||||
"artistId": "ar-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-2",
|
||||
"path": "artist-0/album-0/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,21 +5,47 @@
|
||||
"type": "gonic",
|
||||
"artist": {
|
||||
"id": "ar-1",
|
||||
"name": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"albumCount": 1,
|
||||
"name": "artist-0",
|
||||
"albumCount": 3,
|
||||
"album": [
|
||||
{
|
||||
"id": "al-2",
|
||||
"coverArt": "al-2",
|
||||
"artistId": "ar-1",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-3",
|
||||
"coverArt": "al-3",
|
||||
"artistId": "ar-1",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Snake Charmer",
|
||||
"songCount": 5,
|
||||
"duration": 1871,
|
||||
"created": "2019-05-16T22:10:52+01:00",
|
||||
"year": 1983
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-4",
|
||||
"coverArt": "al-4",
|
||||
"artistId": "ar-1",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-2",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -5,34 +5,47 @@
|
||||
"type": "gonic",
|
||||
"artist": {
|
||||
"id": "ar-3",
|
||||
"name": "13th Floor Elevators",
|
||||
"albumCount": 2,
|
||||
"name": "artist-2",
|
||||
"albumCount": 3,
|
||||
"album": [
|
||||
{
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"id": "al-11",
|
||||
"coverArt": "al-11",
|
||||
"artistId": "ar-3",
|
||||
"artist": "13th Floor Elevators",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Easter Everywhere",
|
||||
"songCount": 10,
|
||||
"duration": 2609,
|
||||
"created": "2019-06-13T12:57:28.850090338+01:00",
|
||||
"year": 1967
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"id": "al-12",
|
||||
"coverArt": "al-12",
|
||||
"artistId": "ar-3",
|
||||
"artist": "13th Floor Elevators",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "The Psychedelic Sounds of the 13th Floor Elevators",
|
||||
"songCount": 21,
|
||||
"duration": 4222,
|
||||
"created": "2019-06-13T12:57:24.306717554+01:00",
|
||||
"year": 1966
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"artistId": "ar-3",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-2",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -5,33 +5,47 @@
|
||||
"type": "gonic",
|
||||
"artist": {
|
||||
"id": "ar-2",
|
||||
"name": "A Certain Ratio",
|
||||
"albumCount": 2,
|
||||
"name": "artist-1",
|
||||
"albumCount": 3,
|
||||
"album": [
|
||||
{
|
||||
"id": "al-5",
|
||||
"coverArt": "al-5",
|
||||
"id": "al-7",
|
||||
"coverArt": "al-7",
|
||||
"artistId": "ar-2",
|
||||
"artist": "A Certain Ratio",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "The Graveyard and the Ballroom",
|
||||
"songCount": 14,
|
||||
"duration": 2738,
|
||||
"created": "2019-06-05T17:46:37.675917974+01:00",
|
||||
"year": 1994
|
||||
"name": "album-0",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-6",
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artistId": "ar-2",
|
||||
"artist": "A Certain Ratio",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "To Each...",
|
||||
"songCount": 9,
|
||||
"duration": 2801,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00",
|
||||
"year": 1981
|
||||
"name": "album-1",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artistId": "ar-2",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-2",
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"year": 2021
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -6,69 +6,12 @@
|
||||
"artists": {
|
||||
"ignoredArticles": "",
|
||||
"index": [
|
||||
{
|
||||
"name": "#",
|
||||
"artist": [
|
||||
{
|
||||
"id": "ar-3",
|
||||
"name": "13th Floor Elevators",
|
||||
"albumCount": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a",
|
||||
"artist": [
|
||||
{
|
||||
"id": "ar-2",
|
||||
"name": "A Certain Ratio",
|
||||
"albumCount": 2
|
||||
},
|
||||
{
|
||||
"id": "ar-4",
|
||||
"name": "Anikas",
|
||||
"albumCount": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "c",
|
||||
"artist": [
|
||||
{
|
||||
"id": "ar-7",
|
||||
"name": "Captain Beefheart & His Magic Band",
|
||||
"albumCount": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "j",
|
||||
"artist": [
|
||||
{
|
||||
"id": "ar-1",
|
||||
"name": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"albumCount": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "s",
|
||||
"artist": [
|
||||
{
|
||||
"id": "ar-5",
|
||||
"name": "Swell Maps",
|
||||
"albumCount": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "t",
|
||||
"artist": [
|
||||
{
|
||||
"id": "ar-6",
|
||||
"name": "Ten Years After",
|
||||
"albumCount": 1
|
||||
}
|
||||
{ "id": "ar-1", "name": "artist-0", "albumCount": 3 },
|
||||
{ "id": "ar-2", "name": "artist-1", "albumCount": 3 },
|
||||
{ "id": "ar-3", "name": "artist-2", "albumCount": 3 }
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -7,69 +7,12 @@
|
||||
"lastModified": 0,
|
||||
"ignoredArticles": "",
|
||||
"index": [
|
||||
{
|
||||
"name": "#",
|
||||
"artist": [
|
||||
{
|
||||
"id": "al-7",
|
||||
"name": "13th Floor Lowervators",
|
||||
"albumCount": 2
|
||||
},
|
||||
{
|
||||
"id": "al-10",
|
||||
"name": "___Anika",
|
||||
"albumCount": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a",
|
||||
"artist": [
|
||||
{
|
||||
"id": "al-4",
|
||||
"name": "A Certain Ratio",
|
||||
"albumCount": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "c",
|
||||
"artist": [
|
||||
{
|
||||
"id": "al-20",
|
||||
"name": "Captain Beefheart",
|
||||
"albumCount": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "j",
|
||||
"artist": [
|
||||
{
|
||||
"id": "al-2",
|
||||
"name": "Jah Wobble, The Edge, Holger Czukay",
|
||||
"albumCount": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "s",
|
||||
"artist": [
|
||||
{
|
||||
"id": "al-15",
|
||||
"name": "Swell Maps",
|
||||
"albumCount": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "t",
|
||||
"artist": [
|
||||
{
|
||||
"id": "al-18",
|
||||
"name": "Ten Years After",
|
||||
"albumCount": 1
|
||||
}
|
||||
{ "id": "al-2", "name": "album-0", "albumCount": 0 },
|
||||
{ "id": "al-3", "name": "album-1", "albumCount": 0 },
|
||||
{ "id": "al-4", "name": "album-2", "albumCount": 0 }
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -5,106 +5,62 @@
|
||||
"type": "gonic",
|
||||
"directory": {
|
||||
"id": "al-3",
|
||||
"parent": "al-2",
|
||||
"name": "(1983) Snake Charmer",
|
||||
"name": "album-1",
|
||||
"child": [
|
||||
{
|
||||
"id": "tr-1",
|
||||
"album": "(1983) Snake Charmer",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"bitRate": 882,
|
||||
"id": "tr-4",
|
||||
"album": "album-1",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-07-08T21:49:40.978045401+01:00",
|
||||
"duration": 372,
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "Jah Wobble, The Edge, Holger Czukay/(1983) Snake Charmer/01.05 Snake Charmer.flac",
|
||||
"size": 41274185,
|
||||
"path": "artist-0/album-1/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "Snake Charmer",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-3",
|
||||
"album": "(1983) Snake Charmer",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"bitRate": 814,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-07-08T21:49:40.981605306+01:00",
|
||||
"duration": 523,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "Jah Wobble, The Edge, Holger Czukay/(1983) Snake Charmer/02.05 Hold On to Your Dreams.flac",
|
||||
"size": 53447545,
|
||||
"suffix": "flac",
|
||||
"title": "Hold On to Your Dreams",
|
||||
"track": 2,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-2",
|
||||
"album": "(1983) Snake Charmer",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"bitRate": 745,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-07-08T21:49:40.979981084+01:00",
|
||||
"duration": 331,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "Jah Wobble, The Edge, Holger Czukay/(1983) Snake Charmer/03.05 It Was a Camel.flac",
|
||||
"size": 31080508,
|
||||
"suffix": "flac",
|
||||
"title": "It Was a Camel",
|
||||
"track": 3,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-5",
|
||||
"album": "(1983) Snake Charmer",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"bitRate": 976,
|
||||
"album": "album-1",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-07-08T21:49:40.984853203+01:00",
|
||||
"duration": 227,
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "Jah Wobble, The Edge, Holger Czukay/(1983) Snake Charmer/04.05 Sleazy.flac",
|
||||
"size": 27938750,
|
||||
"path": "artist-0/album-1/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "Sleazy",
|
||||
"track": 4,
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-4",
|
||||
"album": "(1983) Snake Charmer",
|
||||
"artist": "Jah Wobble, The Edge & Holger Czukay",
|
||||
"bitRate": 884,
|
||||
"id": "tr-6",
|
||||
"album": "album-1",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-07-08T21:49:40.983301328+01:00",
|
||||
"duration": 418,
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "Jah Wobble, The Edge, Holger Czukay/(1983) Snake Charmer/05.05 Snake Charmer (reprise).flac",
|
||||
"size": 46427922,
|
||||
"path": "artist-0/album-1/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "Snake Charmer (reprise)",
|
||||
"track": 5,
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
}
|
||||
|
||||
@@ -5,16 +5,64 @@
|
||||
"type": "gonic",
|
||||
"directory": {
|
||||
"id": "al-2",
|
||||
"name": "Jah Wobble, The Edge, Holger Czukay",
|
||||
"name": "album-0",
|
||||
"child": [
|
||||
{
|
||||
"id": "al-3",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-05-16T22:10:52+01:00",
|
||||
"isDir": true,
|
||||
"id": "tr-1",
|
||||
"album": "album-0",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-2",
|
||||
"title": "(1983) Snake Charmer"
|
||||
"path": "artist-0/album-0/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-2",
|
||||
"album": "album-0",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-2",
|
||||
"path": "artist-0/album-0/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-3",
|
||||
"album": "album-0",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-2",
|
||||
"path": "artist-0/album-0/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
{
|
||||
"subsonic-response": {
|
||||
"status": "ok",
|
||||
"version": "1.15.0",
|
||||
"type": "gonic",
|
||||
"searchResult3": {
|
||||
"artist": [
|
||||
{
|
||||
"id": "ar-3",
|
||||
"name": "13th Floor Elevators",
|
||||
"albumCount": 0
|
||||
}
|
||||
],
|
||||
"album": [
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artistId": "ar-3",
|
||||
"artist": "13th Floor Elevators",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "The Psychedelic Sounds of the 13th Floor Elevators",
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"created": "2019-06-13T12:57:24.306717554+01:00",
|
||||
"year": 1966
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
128
server/ctrlsubsonic/testdata/test_search_three_q_alb
vendored
Normal file
128
server/ctrlsubsonic/testdata/test_search_three_q_alb
vendored
Normal file
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"subsonic-response": {
|
||||
"status": "ok",
|
||||
"version": "1.15.0",
|
||||
"type": "gonic",
|
||||
"searchResult3": {
|
||||
"album": [
|
||||
{
|
||||
"id": "al-2",
|
||||
"coverArt": "al-2",
|
||||
"artistId": "ar-1",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-0",
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-3",
|
||||
"coverArt": "al-3",
|
||||
"artistId": "ar-1",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-1",
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-4",
|
||||
"coverArt": "al-4",
|
||||
"artistId": "ar-1",
|
||||
"artist": "artist-0",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-2",
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-7",
|
||||
"coverArt": "al-7",
|
||||
"artistId": "ar-2",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-0",
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"artistId": "ar-2",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-1",
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"artistId": "ar-2",
|
||||
"artist": "artist-1",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-2",
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-11",
|
||||
"coverArt": "al-11",
|
||||
"artistId": "ar-3",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-0",
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-12",
|
||||
"coverArt": "al-12",
|
||||
"artistId": "ar-3",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-1",
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"artistId": "ar-3",
|
||||
"artist": "artist-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "album-2",
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"year": 2021
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
{
|
||||
"subsonic-response": {
|
||||
"status": "ok",
|
||||
"version": "1.15.0",
|
||||
"type": "gonic",
|
||||
"searchResult3": {
|
||||
"artist": [
|
||||
{
|
||||
"id": "ar-4",
|
||||
"name": "Anikas",
|
||||
"albumCount": 0
|
||||
}
|
||||
],
|
||||
"album": [
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"artistId": "ar-4",
|
||||
"artist": "Anikas",
|
||||
"title": "",
|
||||
"album": "",
|
||||
"name": "Anika",
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00",
|
||||
"year": 2010
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
14
server/ctrlsubsonic/testdata/test_search_three_q_art
vendored
Normal file
14
server/ctrlsubsonic/testdata/test_search_three_q_art
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"subsonic-response": {
|
||||
"status": "ok",
|
||||
"version": "1.15.0",
|
||||
"type": "gonic",
|
||||
"searchResult3": {
|
||||
"artist": [
|
||||
{ "id": "ar-1", "name": "artist-0", "albumCount": 0 },
|
||||
{ "id": "ar-2", "name": "artist-1", "albumCount": 0 },
|
||||
{ "id": "ar-3", "name": "artist-2", "albumCount": 0 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"subsonic-response": {
|
||||
"status": "ok",
|
||||
"version": "1.15.0",
|
||||
"type": "gonic",
|
||||
"searchResult3": {
|
||||
"artist": [
|
||||
{
|
||||
"id": "ar-2",
|
||||
"name": "A Certain Ratio",
|
||||
"albumCount": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
431
server/ctrlsubsonic/testdata/test_search_three_q_tra
vendored
Normal file
431
server/ctrlsubsonic/testdata/test_search_three_q_tra
vendored
Normal file
@@ -0,0 +1,431 @@
|
||||
{
|
||||
"subsonic-response": {
|
||||
"status": "ok",
|
||||
"version": "1.15.0",
|
||||
"type": "gonic",
|
||||
"searchResult3": {
|
||||
"song": [
|
||||
{
|
||||
"id": "tr-1",
|
||||
"album": "album-0",
|
||||
"albumId": "al-2",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-2",
|
||||
"path": "artist-0/album-0/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-2",
|
||||
"album": "album-0",
|
||||
"albumId": "al-2",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-2",
|
||||
"path": "artist-0/album-0/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-3",
|
||||
"album": "album-0",
|
||||
"albumId": "al-2",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-2",
|
||||
"path": "artist-0/album-0/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-4",
|
||||
"album": "album-1",
|
||||
"albumId": "al-3",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "artist-0/album-1/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-5",
|
||||
"album": "album-1",
|
||||
"albumId": "al-3",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "artist-0/album-1/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-6",
|
||||
"album": "album-1",
|
||||
"albumId": "al-3",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "artist-0/album-1/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-7",
|
||||
"album": "album-2",
|
||||
"albumId": "al-4",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-4",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-4",
|
||||
"path": "artist-0/album-2/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-8",
|
||||
"album": "album-2",
|
||||
"albumId": "al-4",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-4",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-4",
|
||||
"path": "artist-0/album-2/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-9",
|
||||
"album": "album-2",
|
||||
"albumId": "al-4",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-4",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-4",
|
||||
"path": "artist-0/album-2/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-10",
|
||||
"album": "album-0",
|
||||
"albumId": "al-7",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-7",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-7",
|
||||
"path": "artist-1/album-0/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-11",
|
||||
"album": "album-0",
|
||||
"albumId": "al-7",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-7",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-7",
|
||||
"path": "artist-1/album-0/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-12",
|
||||
"album": "album-0",
|
||||
"albumId": "al-7",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-7",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-7",
|
||||
"path": "artist-1/album-0/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-13",
|
||||
"album": "album-1",
|
||||
"albumId": "al-8",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-8",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-8",
|
||||
"path": "artist-1/album-1/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-14",
|
||||
"album": "album-1",
|
||||
"albumId": "al-8",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-8",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-8",
|
||||
"path": "artist-1/album-1/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-15",
|
||||
"album": "album-1",
|
||||
"albumId": "al-8",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-8",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-8",
|
||||
"path": "artist-1/album-1/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-16",
|
||||
"album": "album-2",
|
||||
"albumId": "al-9",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-9",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-9",
|
||||
"path": "artist-1/album-2/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-17",
|
||||
"album": "album-2",
|
||||
"albumId": "al-9",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-9",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-9",
|
||||
"path": "artist-1/album-2/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-18",
|
||||
"album": "album-2",
|
||||
"albumId": "al-9",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-9",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-9",
|
||||
"path": "artist-1/album-2/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-19",
|
||||
"album": "album-0",
|
||||
"albumId": "al-11",
|
||||
"artist": "artist-2",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-11",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-11",
|
||||
"path": "artist-2/album-0/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
"id": "tr-20",
|
||||
"album": "album-0",
|
||||
"albumId": "al-11",
|
||||
"artist": "artist-2",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-11",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-11",
|
||||
"path": "artist-2/album-0/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music",
|
||||
"year": 2021
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
148
server/ctrlsubsonic/testdata/test_search_two_q_13
vendored
148
server/ctrlsubsonic/testdata/test_search_two_q_13
vendored
@@ -1,148 +0,0 @@
|
||||
{
|
||||
"subsonic-response": {
|
||||
"status": "ok",
|
||||
"version": "1.15.0",
|
||||
"type": "gonic",
|
||||
"searchResult2": {
|
||||
"artist": [
|
||||
{
|
||||
"id": "al-7",
|
||||
"name": "13th Floor Lowervators"
|
||||
}
|
||||
],
|
||||
"album": [
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"created": "2019-06-13T12:57:24.306717554+01:00",
|
||||
"isDir": true,
|
||||
"isVideo": false,
|
||||
"parent": "al-7",
|
||||
"title": "(1966) The Psychedelic Sounds of the 13th Floor Elevators"
|
||||
}
|
||||
],
|
||||
"song": [
|
||||
{
|
||||
"id": "tr-6",
|
||||
"album": "(1994) The Graveyard and the Ballroom",
|
||||
"artist": "A Certain Ratio",
|
||||
"bitRate": 894,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-5",
|
||||
"created": "2019-07-08T21:49:41.037683099+01:00",
|
||||
"duration": 332,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-5",
|
||||
"path": "A Certain Ratio/(1994) The Graveyard and the Ballroom/13.14 Flight.flac",
|
||||
"size": 37302417,
|
||||
"suffix": "flac",
|
||||
"title": "Flight",
|
||||
"track": 13,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-40",
|
||||
"album": "(1966) The Psychedelic Sounds of the 13th Floor Elevators",
|
||||
"artist": "13th Floor Elevators",
|
||||
"bitRate": 244,
|
||||
"contentType": "audio/mpeg",
|
||||
"coverArt": "al-9",
|
||||
"created": "2019-07-08T21:49:41.209108272+01:00",
|
||||
"duration": 154,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-9",
|
||||
"path": "13th Floor Lowervators/(1966) The Psychedelic Sounds of the 13th Floor Elevators/13.21 Before You Accuse Me.mp3",
|
||||
"size": 4722688,
|
||||
"suffix": "mp3",
|
||||
"title": "Before You Accuse Me",
|
||||
"track": 13,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-76",
|
||||
"album": "(1980) Jane From Occupied Europe",
|
||||
"artist": "Swell Maps",
|
||||
"bitRate": 1204,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-16",
|
||||
"created": "2019-07-08T21:49:41.43457798+01:00",
|
||||
"duration": 220,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-16",
|
||||
"path": "Swell Maps/(1980) Jane From Occupied Europe/13.16 Blenheim Shots.flac",
|
||||
"size": 33140852,
|
||||
"suffix": "flac",
|
||||
"title": "Blenheim Shots",
|
||||
"track": 13,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-93",
|
||||
"album": "(1979) A Trip to Marineville",
|
||||
"artist": "Swell Maps",
|
||||
"bitRate": 295,
|
||||
"contentType": "audio/mpeg",
|
||||
"coverArt": "al-17",
|
||||
"created": "2019-07-08T21:49:41.493347193+01:00",
|
||||
"duration": 463,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-17",
|
||||
"path": "Swell Maps/(1979) A Trip to Marineville/d01 13.14 Adventuring Into Basketry.mp3",
|
||||
"size": 17119309,
|
||||
"suffix": "mp3",
|
||||
"title": "Adventuring Into Basketry",
|
||||
"track": 13,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-107",
|
||||
"album": "(1967) Ten Years After",
|
||||
"artist": "Ten Years After",
|
||||
"bitRate": 192,
|
||||
"contentType": "audio/ogg",
|
||||
"coverArt": "al-19",
|
||||
"created": "2019-07-08T21:49:41.573811068+01:00",
|
||||
"duration": 433,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-19",
|
||||
"path": "Ten Years After/(1967) Ten Years After/13.15 Spider in My Web.ogg",
|
||||
"size": 10400948,
|
||||
"suffix": "ogg",
|
||||
"title": "Spider in My Web",
|
||||
"track": 13,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-129",
|
||||
"album": "(1970) Lick My Decals Off, Bitch",
|
||||
"artist": "Captain Beefheart & His Magic Band",
|
||||
"bitRate": 160,
|
||||
"contentType": "audio/mpeg",
|
||||
"coverArt": "al-21",
|
||||
"created": "2019-07-08T21:49:41.687805489+01:00",
|
||||
"duration": 152,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-21",
|
||||
"path": "Captain Beefheart/(1970) Lick My Decals Off, Bitch/13.15 Space-Age Couple.mp3",
|
||||
"size": 3054515,
|
||||
"suffix": "mp3",
|
||||
"title": "Space-Age Couple",
|
||||
"track": 13,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
97
server/ctrlsubsonic/testdata/test_search_two_q_alb
vendored
Normal file
97
server/ctrlsubsonic/testdata/test_search_two_q_alb
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"subsonic-response": {
|
||||
"status": "ok",
|
||||
"version": "1.15.0",
|
||||
"type": "gonic",
|
||||
"searchResult2": {
|
||||
"artist": [
|
||||
{ "id": "al-2", "name": "album-0" },
|
||||
{ "id": "al-3", "name": "album-1" },
|
||||
{ "id": "al-4", "name": "album-2" }
|
||||
],
|
||||
"album": [
|
||||
{
|
||||
"id": "al-2",
|
||||
"coverArt": "al-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"isDir": true,
|
||||
"isVideo": false,
|
||||
"parent": "al-1",
|
||||
"title": "album-0"
|
||||
},
|
||||
{
|
||||
"id": "al-3",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"isDir": true,
|
||||
"isVideo": false,
|
||||
"parent": "al-1",
|
||||
"title": "album-1"
|
||||
},
|
||||
{
|
||||
"id": "al-4",
|
||||
"coverArt": "al-4",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"isDir": true,
|
||||
"isVideo": false,
|
||||
"parent": "al-1",
|
||||
"title": "album-2"
|
||||
},
|
||||
{
|
||||
"id": "al-7",
|
||||
"coverArt": "al-7",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"isDir": true,
|
||||
"isVideo": false,
|
||||
"parent": "al-6",
|
||||
"title": "album-0"
|
||||
},
|
||||
{
|
||||
"id": "al-8",
|
||||
"coverArt": "al-8",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"isDir": true,
|
||||
"isVideo": false,
|
||||
"parent": "al-6",
|
||||
"title": "album-1"
|
||||
},
|
||||
{
|
||||
"id": "al-9",
|
||||
"coverArt": "al-9",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"isDir": true,
|
||||
"isVideo": false,
|
||||
"parent": "al-6",
|
||||
"title": "album-2"
|
||||
},
|
||||
{
|
||||
"id": "al-11",
|
||||
"coverArt": "al-11",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"isDir": true,
|
||||
"isVideo": false,
|
||||
"parent": "al-10",
|
||||
"title": "album-0"
|
||||
},
|
||||
{
|
||||
"id": "al-12",
|
||||
"coverArt": "al-12",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"isDir": true,
|
||||
"isVideo": false,
|
||||
"parent": "al-10",
|
||||
"title": "album-1"
|
||||
},
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"isDir": true,
|
||||
"isVideo": false,
|
||||
"parent": "al-10",
|
||||
"title": "album-2"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"subsonic-response": {
|
||||
"status": "ok",
|
||||
"version": "1.15.0",
|
||||
"type": "gonic",
|
||||
"searchResult2": {
|
||||
"artist": [
|
||||
{
|
||||
"id": "al-10",
|
||||
"name": "___Anika"
|
||||
}
|
||||
],
|
||||
"album": [
|
||||
{
|
||||
"id": "al-13",
|
||||
"coverArt": "al-13",
|
||||
"created": "2019-05-23T15:12:02.921473302+01:00",
|
||||
"isDir": true,
|
||||
"isVideo": false,
|
||||
"parent": "al-12",
|
||||
"title": "(2010) Anika"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
8
server/ctrlsubsonic/testdata/test_search_two_q_art
vendored
Normal file
8
server/ctrlsubsonic/testdata/test_search_two_q_art
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"subsonic-response": {
|
||||
"status": "ok",
|
||||
"version": "1.15.0",
|
||||
"type": "gonic",
|
||||
"searchResult2": {}
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"subsonic-response": {
|
||||
"status": "ok",
|
||||
"version": "1.15.0",
|
||||
"type": "gonic",
|
||||
"searchResult2": {
|
||||
"artist": [
|
||||
{
|
||||
"id": "al-4",
|
||||
"name": "A Certain Ratio"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
391
server/ctrlsubsonic/testdata/test_search_two_q_tra
vendored
Normal file
391
server/ctrlsubsonic/testdata/test_search_two_q_tra
vendored
Normal file
@@ -0,0 +1,391 @@
|
||||
{
|
||||
"subsonic-response": {
|
||||
"status": "ok",
|
||||
"version": "1.15.0",
|
||||
"type": "gonic",
|
||||
"searchResult2": {
|
||||
"song": [
|
||||
{
|
||||
"id": "tr-1",
|
||||
"album": "album-0",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-2",
|
||||
"path": "artist-0/album-0/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-2",
|
||||
"album": "album-0",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-2",
|
||||
"path": "artist-0/album-0/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-3",
|
||||
"album": "album-0",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-2",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-2",
|
||||
"path": "artist-0/album-0/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-4",
|
||||
"album": "album-1",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "artist-0/album-1/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-5",
|
||||
"album": "album-1",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "artist-0/album-1/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-6",
|
||||
"album": "album-1",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-3",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-3",
|
||||
"path": "artist-0/album-1/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-7",
|
||||
"album": "album-2",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-4",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-4",
|
||||
"path": "artist-0/album-2/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-8",
|
||||
"album": "album-2",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-4",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-4",
|
||||
"path": "artist-0/album-2/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-9",
|
||||
"album": "album-2",
|
||||
"artist": "artist-0",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-4",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-4",
|
||||
"path": "artist-0/album-2/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-10",
|
||||
"album": "album-0",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-7",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-7",
|
||||
"path": "artist-1/album-0/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-11",
|
||||
"album": "album-0",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-7",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-7",
|
||||
"path": "artist-1/album-0/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-12",
|
||||
"album": "album-0",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-7",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-7",
|
||||
"path": "artist-1/album-0/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-13",
|
||||
"album": "album-1",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-8",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-8",
|
||||
"path": "artist-1/album-1/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-14",
|
||||
"album": "album-1",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-8",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-8",
|
||||
"path": "artist-1/album-1/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-15",
|
||||
"album": "album-1",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-8",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-8",
|
||||
"path": "artist-1/album-1/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-16",
|
||||
"album": "album-2",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-9",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-9",
|
||||
"path": "artist-1/album-2/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-17",
|
||||
"album": "album-2",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-9",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-9",
|
||||
"path": "artist-1/album-2/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-18",
|
||||
"album": "album-2",
|
||||
"artist": "artist-1",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-9",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-9",
|
||||
"path": "artist-1/album-2/track-2.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-2",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-19",
|
||||
"album": "album-0",
|
||||
"artist": "artist-2",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-11",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-11",
|
||||
"path": "artist-2/album-0/track-0.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-0",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
},
|
||||
{
|
||||
"id": "tr-20",
|
||||
"album": "album-0",
|
||||
"artist": "artist-2",
|
||||
"bitRate": 100,
|
||||
"contentType": "audio/x-flac",
|
||||
"coverArt": "al-11",
|
||||
"created": "2019-11-30T00:00:00Z",
|
||||
"duration": 100,
|
||||
"isDir": false,
|
||||
"isVideo": false,
|
||||
"parent": "al-11",
|
||||
"path": "artist-2/album-0/track-1.flac",
|
||||
"suffix": "flac",
|
||||
"title": "title-1",
|
||||
"track": 1,
|
||||
"discNumber": 1,
|
||||
"type": "music"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user