diff --git a/android/app/src/main/java/com/audiobookshelf/app/server/ApiHandler.kt b/android/app/src/main/java/com/audiobookshelf/app/server/ApiHandler.kt index bbf3a0ab..2d381ec8 100644 --- a/android/app/src/main/java/com/audiobookshelf/app/server/ApiHandler.kt +++ b/android/app/src/main/java/com/audiobookshelf/app/server/ApiHandler.kt @@ -138,12 +138,16 @@ class ApiHandler(var ctx:Context) { val mapper = jacksonMapper getRequest("/api/libraries", null,null) { val libraries = mutableListOf() - if (it.has("value")) { - val array = it.getJSONArray("value") - for (i in 0 until array.length()) { - val library = mapper.readValue(array.get(i).toString()) - libraries.add(library) - } + + var array = JSONArray() + if (it.has("libraries")) { // TODO: Server 2.2.9 changed to this + array = it.getJSONArray("libraries") + } else if (it.has("value")) { + array = it.getJSONArray("value") + } + + for (i in 0 until array.length()) { + libraries.add(mapper.readValue(array.get(i).toString())) } cb(libraries) } diff --git a/pages/search.vue b/pages/search.vue index cb7c4ed6..4c6cf971 100644 --- a/pages/search.vue +++ b/pages/search.vue @@ -89,9 +89,9 @@ export default { return } this.isFetching = true - var results = await this.$axios.$get(`/api/libraries/${this.currentLibraryId}/search?q=${value}&limit=5`).catch((error) => { + const results = await this.$axios.$get(`/api/libraries/${this.currentLibraryId}/search?q=${value}&limit=5`).catch((error) => { console.error('Search error', error) - return [] + return null }) if (value !== this.lastSearch) { console.log(`runSearch: New search was made for ${this.lastSearch} - results are from ${value}`) diff --git a/store/libraries.js b/store/libraries.js index ff8b7247..0b4fe3ab 100644 --- a/store/libraries.js +++ b/store/libraries.js @@ -75,12 +75,15 @@ export const actions = { return this.$axios .$get(`/api/libraries`) .then((data) => { + // TODO: Server release 2.2.9 changed response to an object. Remove after a few releases + const libraries = data.libraries || data + // Set current library if not already set or was not returned in results - if (data.length && (!state.currentLibraryId || !data.find(li => li.id == state.currentLibraryId))) { - commit('setCurrentLibrary', data[0].id) + if (libraries.length && (!state.currentLibraryId || !libraries.find(li => li.id == state.currentLibraryId))) { + commit('setCurrentLibrary', libraries[0].id) } - commit('set', data) + commit('set', libraries) commit('setLastLoad', Date.now()) return true })