From 2caee441ca49e7b2ca148f5b698365085db0cfc8 Mon Sep 17 00:00:00 2001 From: sentriz Date: Thu, 28 Sep 2023 21:11:15 +0100 Subject: [PATCH] feat(subsonic): add getOpenSubsonicExtensions endpoint and openSubsonic response key --- server/ctrlsubsonic/handlers_common.go | 6 ++ server/ctrlsubsonic/routes.go | 4 +- server/ctrlsubsonic/spec/spec.go | 9 ++- .../testdata/test_get_album_list_alpha_artist | 1 + .../testdata/test_get_album_list_alpha_name | 1 + .../testdata/test_get_album_list_newest | 1 + .../testdata/test_get_album_list_random | 79 +++++++++--------- .../test_get_album_list_two_alpha_artist | 1 + .../test_get_album_list_two_alpha_name | 1 + .../testdata/test_get_album_list_two_newest | 1 + .../testdata/test_get_album_list_two_random | 81 ++++++++++--------- .../testdata/test_get_album_with_cover | 1 + .../testdata/test_get_album_without_cover | 1 + .../testdata/test_get_artist_id_one | 1 + .../testdata/test_get_artist_id_three | 1 + .../testdata/test_get_artist_id_two | 1 + .../testdata/test_get_artists_no_args | 1 + .../test_get_artists_with_music_folder_1 | 1 + .../test_get_artists_with_music_folder_2 | 1 + .../testdata/test_get_indexes_no_args | 1 + .../test_get_indexes_with_music_folder_1 | 1 + .../test_get_indexes_with_music_folder_2 | 1 + .../test_get_music_directory_with_tracks | 1 + .../test_get_music_directory_without_tracks | 1 + .../testdata/test_search_three_q_alb | 1 + .../testdata/test_search_three_q_art | 1 + .../testdata/test_search_three_q_tra | 1 + .../testdata/test_search_two_q_alb | 1 + .../testdata/test_search_two_q_art | 1 + .../testdata/test_search_two_q_tra | 1 + 30 files changed, 122 insertions(+), 82 deletions(-) diff --git a/server/ctrlsubsonic/handlers_common.go b/server/ctrlsubsonic/handlers_common.go index b486a7ec..fb2ed9ce 100644 --- a/server/ctrlsubsonic/handlers_common.go +++ b/server/ctrlsubsonic/handlers_common.go @@ -35,6 +35,12 @@ func (c *Controller) ServePing(_ *http.Request) *spec.Response { return spec.NewResponse() } +func (c *Controller) ServeGetOpenSubsonicExtensions(_ *http.Request) *spec.Response { + sub := spec.NewResponse() + sub.OpenSubsonicExtensions = spec.OpenSubsonicExtensions{} + return sub +} + func (c *Controller) ServeScrobble(r *http.Request) *spec.Response { user := r.Context().Value(CtxUser).(*db.User) params := r.Context().Value(CtxParams).(params.Params) diff --git a/server/ctrlsubsonic/routes.go b/server/ctrlsubsonic/routes.go index 1770614a..91872b84 100644 --- a/server/ctrlsubsonic/routes.go +++ b/server/ctrlsubsonic/routes.go @@ -9,9 +9,11 @@ func AddRoutes(c *Controller, r *mux.Router) { // common r.Handle("/getLicense{_:(?:\\.view)?}", c.H(c.ServeGetLicence)) + r.Handle("/ping{_:(?:\\.view)?}", c.H(c.ServePing)) + r.Handle("/getOpenSubsonicExtensions{_:(?:\\.view)?}", c.H(c.ServeGetOpenSubsonicExtensions)) + r.Handle("/getMusicFolders{_:(?:\\.view)?}", c.H(c.ServeGetMusicFolders)) r.Handle("/getScanStatus{_:(?:\\.view)?}", c.H(c.ServeGetScanStatus)) - r.Handle("/ping{_:(?:\\.view)?}", c.H(c.ServePing)) r.Handle("/scrobble{_:(?:\\.view)?}", c.H(c.ServeScrobble)) r.Handle("/startScan{_:(?:\\.view)?}", c.H(c.ServeStartScan)) r.Handle("/getUser{_:(?:\\.view)?}", c.H(c.ServeGetUser)) diff --git a/server/ctrlsubsonic/spec/spec.go b/server/ctrlsubsonic/spec/spec.go index 2e228d6c..91903f50 100644 --- a/server/ctrlsubsonic/spec/spec.go +++ b/server/ctrlsubsonic/spec/spec.go @@ -26,8 +26,10 @@ type Response struct { XMLNS string `xml:"xmlns,attr" json:"-"` // https://opensubsonic.netlify.app/docs/responses/subsonic-response/ - Type string `xml:"type,attr" json:"type"` - ServerVersion string `xml:"serverVersion,attr" json:"serverVersion"` + Type string `xml:"type,attr" json:"type"` + ServerVersion string `xml:"serverVersion,attr" json:"serverVersion"` + OpenSubsonic bool `xml:"openSubsonic,attr" json:"openSubsonic"` + OpenSubsonicExtensions OpenSubsonicExtensions `xml:"openSubsonicExtensions" json:"openSubsonicExtensions,omitempty"` Error *Error `xml:"error" json:"error,omitempty"` Albums *Albums `xml:"albumList" json:"albumList,omitempty"` @@ -73,6 +75,7 @@ func NewResponse() *Response { Version: apiVersion, Type: gonic.Name, ServerVersion: gonic.Version, + OpenSubsonic: true, } } @@ -429,6 +432,8 @@ type Lyrics struct { Title string `xml:"title,attr,omitempty" json:"title,omitempty"` } +type OpenSubsonicExtensions map[string][]int + func formatRating(rating float64) string { if rating == 0 { return "" diff --git a/server/ctrlsubsonic/testdata/test_get_album_list_alpha_artist b/server/ctrlsubsonic/testdata/test_get_album_list_alpha_artist index 568a4460..5334b516 100644 --- a/server/ctrlsubsonic/testdata/test_get_album_list_alpha_artist +++ b/server/ctrlsubsonic/testdata/test_get_album_list_alpha_artist @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "albumList": { "album": [ { diff --git a/server/ctrlsubsonic/testdata/test_get_album_list_alpha_name b/server/ctrlsubsonic/testdata/test_get_album_list_alpha_name index f55e4891..0a906db0 100644 --- a/server/ctrlsubsonic/testdata/test_get_album_list_alpha_name +++ b/server/ctrlsubsonic/testdata/test_get_album_list_alpha_name @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "albumList": { "album": [ { diff --git a/server/ctrlsubsonic/testdata/test_get_album_list_newest b/server/ctrlsubsonic/testdata/test_get_album_list_newest index 568a4460..5334b516 100644 --- a/server/ctrlsubsonic/testdata/test_get_album_list_newest +++ b/server/ctrlsubsonic/testdata/test_get_album_list_newest @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "albumList": { "album": [ { diff --git a/server/ctrlsubsonic/testdata/test_get_album_list_random b/server/ctrlsubsonic/testdata/test_get_album_list_random index 150e3895..a77dd864 100644 --- a/server/ctrlsubsonic/testdata/test_get_album_list_random +++ b/server/ctrlsubsonic/testdata/test_get_album_list_random @@ -4,16 +4,30 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "albumList": { "album": [ { - "id": "al-3", - "coverArt": "al-3", - "artist": "artist-0", + "id": "al-12", + "coverArt": "al-12", + "artist": "artist-2", "created": "2019-11-30T00:00:00Z", - "title": "album-0", + "title": "album-1", "album": "", - "parent": "al-2", + "parent": "al-10", + "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, @@ -33,63 +47,63 @@ "duration": 300 }, { - "id": "al-7", - "coverArt": "al-7", - "artist": "artist-1", + "id": "al-3", + "coverArt": "al-3", + "artist": "artist-0", "created": "2019-11-30T00:00:00Z", "title": "album-0", "album": "", - "parent": "al-6", + "parent": "al-2", "isDir": true, "name": "", "songCount": 3, "duration": 300 }, { - "id": "al-5", - "coverArt": "al-5", - "artist": "artist-0", + "id": "al-8", + "coverArt": "al-8", + "artist": "artist-1", "created": "2019-11-30T00:00:00Z", - "title": "album-2", + "title": "album-1", "album": "", - "parent": "al-2", + "parent": "al-6", "isDir": true, "name": "", "songCount": 3, "duration": 300 }, { - "id": "al-12", - "coverArt": "al-12", - "artist": "artist-2", + "id": "al-5", + "coverArt": "al-5", + "artist": "artist-0", "created": "2019-11-30T00:00:00Z", - "title": "album-1", + "title": "album-2", "album": "", - "parent": "al-10", + "parent": "al-2", "isDir": true, "name": "", "songCount": 3, "duration": 300 }, { - "id": "al-8", - "coverArt": "al-8", - "artist": "artist-1", + "id": "al-4", + "coverArt": "al-4", + "artist": "artist-0", "created": "2019-11-30T00:00:00Z", "title": "album-1", "album": "", - "parent": "al-6", + "parent": "al-2", "isDir": true, "name": "", "songCount": 3, "duration": 300 }, { - "id": "al-9", - "coverArt": "al-9", + "id": "al-7", + "coverArt": "al-7", "artist": "artist-1", "created": "2019-11-30T00:00:00Z", - "title": "album-2", + "title": "album-0", "album": "", "parent": "al-6", "isDir": true, @@ -109,19 +123,6 @@ "name": "", "songCount": 3, "duration": 300 - }, - { - "id": "al-4", - "coverArt": "al-4", - "artist": "artist-0", - "created": "2019-11-30T00:00:00Z", - "title": "album-1", - "album": "", - "parent": "al-2", - "isDir": true, - "name": "", - "songCount": 3, - "duration": 300 } ] } diff --git a/server/ctrlsubsonic/testdata/test_get_album_list_two_alpha_artist b/server/ctrlsubsonic/testdata/test_get_album_list_two_alpha_artist index f5573f7c..31b04ead 100644 --- a/server/ctrlsubsonic/testdata/test_get_album_list_two_alpha_artist +++ b/server/ctrlsubsonic/testdata/test_get_album_list_two_alpha_artist @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "albumList2": { "album": [ { diff --git a/server/ctrlsubsonic/testdata/test_get_album_list_two_alpha_name b/server/ctrlsubsonic/testdata/test_get_album_list_two_alpha_name index 44357c27..7c869740 100644 --- a/server/ctrlsubsonic/testdata/test_get_album_list_two_alpha_name +++ b/server/ctrlsubsonic/testdata/test_get_album_list_two_alpha_name @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "albumList2": { "album": [ { diff --git a/server/ctrlsubsonic/testdata/test_get_album_list_two_newest b/server/ctrlsubsonic/testdata/test_get_album_list_two_newest index f5573f7c..31b04ead 100644 --- a/server/ctrlsubsonic/testdata/test_get_album_list_two_newest +++ b/server/ctrlsubsonic/testdata/test_get_album_list_two_newest @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "albumList2": { "album": [ { diff --git a/server/ctrlsubsonic/testdata/test_get_album_list_two_random b/server/ctrlsubsonic/testdata/test_get_album_list_two_random index 49eea7e2..1c3efeaa 100644 --- a/server/ctrlsubsonic/testdata/test_get_album_list_two_random +++ b/server/ctrlsubsonic/testdata/test_get_album_list_two_random @@ -4,28 +4,29 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "albumList2": { "album": [ { - "id": "al-8", - "coverArt": "al-8", - "artistId": "ar-2", - "artist": "artist-1", - "artists": [{ "id": "ar-2", "name": "artist-1" }], + "id": "al-3", + "coverArt": "al-3", + "artistId": "ar-1", + "artist": "artist-0", + "artists": [{ "id": "ar-1", "name": "artist-0" }], "created": "2019-11-30T00:00:00Z", "title": "", "album": "", - "name": "album-1", + "name": "album-0", "songCount": 3, "duration": 300, "year": 2021 }, { - "id": "al-11", - "coverArt": "al-11", - "artistId": "ar-3", - "artist": "artist-2", - "artists": [{ "id": "ar-3", "name": "artist-2" }], + "id": "al-7", + "coverArt": "al-7", + "artistId": "ar-2", + "artist": "artist-1", + "artists": [{ "id": "ar-2", "name": "artist-1" }], "created": "2019-11-30T00:00:00Z", "title": "", "album": "", @@ -35,29 +36,29 @@ "year": 2021 }, { - "id": "al-5", - "coverArt": "al-5", - "artistId": "ar-1", - "artist": "artist-0", - "artists": [{ "id": "ar-1", "name": "artist-0" }], + "id": "al-12", + "coverArt": "al-12", + "artistId": "ar-3", + "artist": "artist-2", + "artists": [{ "id": "ar-3", "name": "artist-2" }], "created": "2019-11-30T00:00:00Z", "title": "", "album": "", - "name": "album-2", + "name": "album-1", "songCount": 3, "duration": 300, "year": 2021 }, { - "id": "al-3", - "coverArt": "al-3", - "artistId": "ar-1", - "artist": "artist-0", - "artists": [{ "id": "ar-1", "name": "artist-0" }], + "id": "al-13", + "coverArt": "al-13", + "artistId": "ar-3", + "artist": "artist-2", + "artists": [{ "id": "ar-3", "name": "artist-2" }], "created": "2019-11-30T00:00:00Z", "title": "", "album": "", - "name": "album-0", + "name": "album-2", "songCount": 3, "duration": 300, "year": 2021 @@ -77,53 +78,53 @@ "year": 2021 }, { - "id": "al-7", - "coverArt": "al-7", - "artistId": "ar-2", - "artist": "artist-1", - "artists": [{ "id": "ar-2", "name": "artist-1" }], + "id": "al-4", + "coverArt": "al-4", + "artistId": "ar-1", + "artist": "artist-0", + "artists": [{ "id": "ar-1", "name": "artist-0" }], "created": "2019-11-30T00:00:00Z", "title": "", "album": "", - "name": "album-0", + "name": "album-1", "songCount": 3, "duration": 300, "year": 2021 }, { - "id": "al-13", - "coverArt": "al-13", + "id": "al-11", + "coverArt": "al-11", "artistId": "ar-3", "artist": "artist-2", "artists": [{ "id": "ar-3", "name": "artist-2" }], "created": "2019-11-30T00:00:00Z", "title": "", "album": "", - "name": "album-2", + "name": "album-0", "songCount": 3, "duration": 300, "year": 2021 }, { - "id": "al-4", - "coverArt": "al-4", + "id": "al-5", + "coverArt": "al-5", "artistId": "ar-1", "artist": "artist-0", "artists": [{ "id": "ar-1", "name": "artist-0" }], "created": "2019-11-30T00:00:00Z", "title": "", "album": "", - "name": "album-1", + "name": "album-2", "songCount": 3, "duration": 300, "year": 2021 }, { - "id": "al-12", - "coverArt": "al-12", - "artistId": "ar-3", - "artist": "artist-2", - "artists": [{ "id": "ar-3", "name": "artist-2" }], + "id": "al-8", + "coverArt": "al-8", + "artistId": "ar-2", + "artist": "artist-1", + "artists": [{ "id": "ar-2", "name": "artist-1" }], "created": "2019-11-30T00:00:00Z", "title": "", "album": "", diff --git a/server/ctrlsubsonic/testdata/test_get_album_with_cover b/server/ctrlsubsonic/testdata/test_get_album_with_cover index 2070248f..2bee5848 100644 --- a/server/ctrlsubsonic/testdata/test_get_album_with_cover +++ b/server/ctrlsubsonic/testdata/test_get_album_with_cover @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "album": { "id": "al-3", "coverArt": "al-3", diff --git a/server/ctrlsubsonic/testdata/test_get_album_without_cover b/server/ctrlsubsonic/testdata/test_get_album_without_cover index 8fc14649..6f85d4b5 100644 --- a/server/ctrlsubsonic/testdata/test_get_album_without_cover +++ b/server/ctrlsubsonic/testdata/test_get_album_without_cover @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "album": { "id": "al-2", "created": "2019-11-30T00:00:00Z", diff --git a/server/ctrlsubsonic/testdata/test_get_artist_id_one b/server/ctrlsubsonic/testdata/test_get_artist_id_one index a957779b..6174bc5b 100644 --- a/server/ctrlsubsonic/testdata/test_get_artist_id_one +++ b/server/ctrlsubsonic/testdata/test_get_artist_id_one @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "artist": { "id": "ar-1", "name": "artist-0", diff --git a/server/ctrlsubsonic/testdata/test_get_artist_id_three b/server/ctrlsubsonic/testdata/test_get_artist_id_three index 57cfea80..b78d0526 100644 --- a/server/ctrlsubsonic/testdata/test_get_artist_id_three +++ b/server/ctrlsubsonic/testdata/test_get_artist_id_three @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "artist": { "id": "ar-3", "name": "artist-2", diff --git a/server/ctrlsubsonic/testdata/test_get_artist_id_two b/server/ctrlsubsonic/testdata/test_get_artist_id_two index f66c35ff..d6853fac 100644 --- a/server/ctrlsubsonic/testdata/test_get_artist_id_two +++ b/server/ctrlsubsonic/testdata/test_get_artist_id_two @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "artist": { "id": "ar-2", "name": "artist-1", diff --git a/server/ctrlsubsonic/testdata/test_get_artists_no_args b/server/ctrlsubsonic/testdata/test_get_artists_no_args index 88cfdfa8..cf2dc182 100644 --- a/server/ctrlsubsonic/testdata/test_get_artists_no_args +++ b/server/ctrlsubsonic/testdata/test_get_artists_no_args @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "artists": { "ignoredArticles": "", "index": [ diff --git a/server/ctrlsubsonic/testdata/test_get_artists_with_music_folder_1 b/server/ctrlsubsonic/testdata/test_get_artists_with_music_folder_1 index 0ee73fa5..2d55d38c 100644 --- a/server/ctrlsubsonic/testdata/test_get_artists_with_music_folder_1 +++ b/server/ctrlsubsonic/testdata/test_get_artists_with_music_folder_1 @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "artists": { "ignoredArticles": "", "index": [ diff --git a/server/ctrlsubsonic/testdata/test_get_artists_with_music_folder_2 b/server/ctrlsubsonic/testdata/test_get_artists_with_music_folder_2 index 0ee73fa5..2d55d38c 100644 --- a/server/ctrlsubsonic/testdata/test_get_artists_with_music_folder_2 +++ b/server/ctrlsubsonic/testdata/test_get_artists_with_music_folder_2 @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "artists": { "ignoredArticles": "", "index": [ diff --git a/server/ctrlsubsonic/testdata/test_get_indexes_no_args b/server/ctrlsubsonic/testdata/test_get_indexes_no_args index e6bf3586..4e36f0c1 100644 --- a/server/ctrlsubsonic/testdata/test_get_indexes_no_args +++ b/server/ctrlsubsonic/testdata/test_get_indexes_no_args @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "indexes": { "lastModified": 0, "ignoredArticles": "", diff --git a/server/ctrlsubsonic/testdata/test_get_indexes_with_music_folder_1 b/server/ctrlsubsonic/testdata/test_get_indexes_with_music_folder_1 index 8b66d90d..b8aaca77 100644 --- a/server/ctrlsubsonic/testdata/test_get_indexes_with_music_folder_1 +++ b/server/ctrlsubsonic/testdata/test_get_indexes_with_music_folder_1 @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "indexes": { "lastModified": 0, "ignoredArticles": "", diff --git a/server/ctrlsubsonic/testdata/test_get_indexes_with_music_folder_2 b/server/ctrlsubsonic/testdata/test_get_indexes_with_music_folder_2 index 2eea4274..079c5295 100644 --- a/server/ctrlsubsonic/testdata/test_get_indexes_with_music_folder_2 +++ b/server/ctrlsubsonic/testdata/test_get_indexes_with_music_folder_2 @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "indexes": { "lastModified": 0, "ignoredArticles": "", diff --git a/server/ctrlsubsonic/testdata/test_get_music_directory_with_tracks b/server/ctrlsubsonic/testdata/test_get_music_directory_with_tracks index b443127c..2f3c8ed2 100644 --- a/server/ctrlsubsonic/testdata/test_get_music_directory_with_tracks +++ b/server/ctrlsubsonic/testdata/test_get_music_directory_with_tracks @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "directory": { "id": "al-3", "parent": "al-2", diff --git a/server/ctrlsubsonic/testdata/test_get_music_directory_without_tracks b/server/ctrlsubsonic/testdata/test_get_music_directory_without_tracks index 1e38de83..050e23bf 100644 --- a/server/ctrlsubsonic/testdata/test_get_music_directory_without_tracks +++ b/server/ctrlsubsonic/testdata/test_get_music_directory_without_tracks @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "directory": { "id": "al-2", "parent": "al-1", diff --git a/server/ctrlsubsonic/testdata/test_search_three_q_alb b/server/ctrlsubsonic/testdata/test_search_three_q_alb index 9bb65b62..f6872761 100644 --- a/server/ctrlsubsonic/testdata/test_search_three_q_alb +++ b/server/ctrlsubsonic/testdata/test_search_three_q_alb @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "searchResult3": { "album": [ { diff --git a/server/ctrlsubsonic/testdata/test_search_three_q_art b/server/ctrlsubsonic/testdata/test_search_three_q_art index 33a55f64..49ad17db 100644 --- a/server/ctrlsubsonic/testdata/test_search_three_q_art +++ b/server/ctrlsubsonic/testdata/test_search_three_q_art @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "searchResult3": { "artist": [ { "id": "ar-1", "name": "artist-0", "albumCount": 3 }, diff --git a/server/ctrlsubsonic/testdata/test_search_three_q_tra b/server/ctrlsubsonic/testdata/test_search_three_q_tra index d085a10a..b59172d2 100644 --- a/server/ctrlsubsonic/testdata/test_search_three_q_tra +++ b/server/ctrlsubsonic/testdata/test_search_three_q_tra @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "searchResult3": { "song": [ { diff --git a/server/ctrlsubsonic/testdata/test_search_two_q_alb b/server/ctrlsubsonic/testdata/test_search_two_q_alb index 99c49dfb..4703917f 100644 --- a/server/ctrlsubsonic/testdata/test_search_two_q_alb +++ b/server/ctrlsubsonic/testdata/test_search_two_q_alb @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "searchResult2": { "album": [ { diff --git a/server/ctrlsubsonic/testdata/test_search_two_q_art b/server/ctrlsubsonic/testdata/test_search_two_q_art index ce0edb65..14221960 100644 --- a/server/ctrlsubsonic/testdata/test_search_two_q_art +++ b/server/ctrlsubsonic/testdata/test_search_two_q_art @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "searchResult2": { "artist": [ { "id": "al-2", "parent": "al-1", "name": "artist-0" }, diff --git a/server/ctrlsubsonic/testdata/test_search_two_q_tra b/server/ctrlsubsonic/testdata/test_search_two_q_tra index 0457901d..bc8e5664 100644 --- a/server/ctrlsubsonic/testdata/test_search_two_q_tra +++ b/server/ctrlsubsonic/testdata/test_search_two_q_tra @@ -4,6 +4,7 @@ "version": "1.15.0", "type": "gonic", "serverVersion": "", + "openSubsonic": true, "searchResult2": { "song": [ {