mirror of
https://github.com/gotson/komga.git
synced 2025-12-22 00:13:30 +01:00
feat(webui): action menu to refresh metadata
This commit is contained in:
parent
af01d25ede
commit
6ad59c4efb
6 changed files with 54 additions and 0 deletions
|
|
@ -13,6 +13,9 @@
|
|||
<v-list-item @click="analyze">
|
||||
<v-list-item-title>Analyze</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item @click="refreshMetadata">
|
||||
<v-list-item-title>Refresh metadata</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item @click="promptDeleteLibrary"
|
||||
class="list-warning">
|
||||
<v-list-item-title>Delete</v-list-item-title>
|
||||
|
|
@ -56,6 +59,9 @@ export default Vue.extend({
|
|||
analyze () {
|
||||
this.$komgaLibraries.analyzeLibrary(this.library)
|
||||
},
|
||||
refreshMetadata () {
|
||||
this.$komgaLibraries.refreshMetadata(this.library)
|
||||
},
|
||||
promptDeleteLibrary () {
|
||||
this.modalDeleteLibrary = true
|
||||
},
|
||||
|
|
|
|||
|
|
@ -96,6 +96,18 @@ export default class KomgaBooksService {
|
|||
}
|
||||
}
|
||||
|
||||
async refreshMetadata (book: BookDto) {
|
||||
try {
|
||||
await this.http.post(`${API_BOOKS}/${book.id}/metadata/refresh`)
|
||||
} catch (e) {
|
||||
let msg = `An error occurred while trying to refresh metadata for book '${book.name}'`
|
||||
if (e.response.data.message) {
|
||||
msg += `: ${e.response.data.message}`
|
||||
}
|
||||
throw new Error(msg)
|
||||
}
|
||||
}
|
||||
|
||||
async updateMetadata (bookId: number, metadata: BookMetadataUpdateDto): Promise<BookDto> {
|
||||
try {
|
||||
return (await this.http.patch(`${API_BOOKS}/${bookId}/metadata`, metadata)).data
|
||||
|
|
|
|||
|
|
@ -80,4 +80,16 @@ export default class KomgaLibrariesService {
|
|||
throw new Error(msg)
|
||||
}
|
||||
}
|
||||
|
||||
async refreshMetadata (library: LibraryDto) {
|
||||
try {
|
||||
await this.http.post(`${API_LIBRARIES}/${library.id}/metadata/refresh`)
|
||||
} catch (e) {
|
||||
let msg = `An error occurred while trying to refresh metadata for library '${library.name}'`
|
||||
if (e.response.data.message) {
|
||||
msg += `: ${e.response.data.message}`
|
||||
}
|
||||
throw new Error(msg)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -105,6 +105,18 @@ export default class KomgaSeriesService {
|
|||
}
|
||||
}
|
||||
|
||||
async refreshMetadata (series: SeriesDto) {
|
||||
try {
|
||||
await this.http.post(`${API_SERIES}/${series.id}/metadata/refresh`)
|
||||
} catch (e) {
|
||||
let msg = `An error occurred while trying to refresh metadata for series '${series.name}'`
|
||||
if (e.response.data.message) {
|
||||
msg += `: ${e.response.data.message}`
|
||||
}
|
||||
throw new Error(msg)
|
||||
}
|
||||
}
|
||||
|
||||
async updateMetadata (seriesId: number, metadata: SeriesMetadataUpdateDto): Promise<SeriesDto> {
|
||||
try {
|
||||
return (await this.http.patch(`${API_SERIES}/${seriesId}/metadata`, metadata)).data
|
||||
|
|
|
|||
|
|
@ -26,6 +26,9 @@
|
|||
<v-list-item @click="analyze()">
|
||||
<v-list-item-title>Analyze</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item @click="refreshMetadata()">
|
||||
<v-list-item-title>Refresh metadata</v-list-item-title>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</v-menu>
|
||||
</toolbar-sticky>
|
||||
|
|
@ -236,6 +239,9 @@ export default Vue.extend({
|
|||
analyze () {
|
||||
this.$komgaBooks.analyzeBook(this.book)
|
||||
},
|
||||
refreshMetadata () {
|
||||
this.$komgaBooks.refreshMetadata(this.book)
|
||||
},
|
||||
},
|
||||
})
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -20,6 +20,9 @@
|
|||
<v-list-item @click="analyze()">
|
||||
<v-list-item-title>Analyze</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item @click="refreshMetadata()">
|
||||
<v-list-item-title>Refresh metadata</v-list-item-title>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</v-menu>
|
||||
|
||||
|
|
@ -330,6 +333,9 @@ export default mixins(VisibleElements).extend({
|
|||
analyze () {
|
||||
this.$komgaSeries.analyzeSeries(this.series)
|
||||
},
|
||||
refreshMetadata () {
|
||||
this.$komgaSeries.refreshMetadata(this.series)
|
||||
},
|
||||
singleEdit (book: BookDto) {
|
||||
this.editBookSingle = book
|
||||
this.dialogEditBookSingle = true
|
||||
|
|
|
|||
Loading…
Reference in a new issue