Always sync file inodes, save http url covers in cover directory

This commit is contained in:
Mark Cooper 2021-10-01 18:42:48 -05:00
parent 0db34dcab5
commit 8d9d5a8d1b
14 changed files with 355 additions and 94 deletions

View file

@ -162,7 +162,11 @@ export default {
})
.catch((error) => {
console.error('Failed', error)
this.$toast.error('Oops, something went wrong...')
if (error.response && error.response.data) {
this.$toast.error(error.response.data)
} else {
this.$toast.error('Oops, something went wrong...')
}
this.processingUpload = false
})
},
@ -204,20 +208,39 @@ export default {
}
this.isProcessing = true
const updatePayload = {
book: {
cover: cover
var success = false
// Download cover from url and use
if (cover.startsWith('http:') || cover.startsWith('https:')) {
success = await this.$axios.$post(`/api/audiobook/${this.audiobook.id}/cover`, { url: cover }).catch((error) => {
console.error('Failed to download cover from url', error)
if (error.response && error.response.data) {
this.$toast.error(error.response.data)
}
return false
})
} else {
// Update local cover url
const updatePayload = {
book: {
cover: cover
}
}
success = await this.$axios.$patch(`/api/audiobook/${this.audiobook.id}`, updatePayload).catch((error) => {
console.error('Failed to update', error)
if (error.response && error.response.data) {
this.$toast.error(error.response.data)
}
return false
})
}
var updatedAudiobook = await this.$axios.$patch(`/api/audiobook/${this.audiobook.id}`, updatePayload).catch((error) => {
console.error('Failed to update', error)
return false
})
this.isProcessing = false
if (updatedAudiobook) {
if (success) {
this.$toast.success('Update Successful')
this.$emit('close')
} else {
this.imageUrl = this.book.cover || ''
}
this.isProcessing = false
},
getSearchQuery() {
var searchQuery = `provider=openlibrary&title=${this.searchTitle}`

View file

@ -9,7 +9,7 @@
export default {
data() {
return {
inputAccept: 'image/*'
inputAccept: '.png, .jpg, .jpeg, .webp'
}
},
computed: {},

View file

@ -1,6 +1,6 @@
{
"name": "audiobookshelf-client",
"version": "1.3.2",
"version": "1.3.3",
"description": "Audiobook manager and player",
"main": "index.js",
"scripts": {

View file

@ -121,8 +121,8 @@ export default {
author: null,
series: null,
acceptedAudioFormats: ['.mp3', '.m4b', '.m4a', '.flac'],
acceptedImageFormats: ['image/*'],
inputAccept: 'image/*, .mp3, .m4b, .m4a, .flac',
acceptedImageFormats: ['.png', '.jpg', '.jpeg', '.webp'],
inputAccept: '.png, .jpg, .jpeg, .webp, .mp3, .m4b, .m4a, .flac',
isDragOver: false,
showUploader: true,
validAudioFiles: [],