mirror of
https://github.com/gotson/komga.git
synced 2026-04-29 18:31:55 +02: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 @click="analyze">
|
||||||
<v-list-item-title>Analyze</v-list-item-title>
|
<v-list-item-title>Analyze</v-list-item-title>
|
||||||
</v-list-item>
|
</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"
|
<v-list-item @click="promptDeleteLibrary"
|
||||||
class="list-warning">
|
class="list-warning">
|
||||||
<v-list-item-title>Delete</v-list-item-title>
|
<v-list-item-title>Delete</v-list-item-title>
|
||||||
|
|
@ -56,6 +59,9 @@ export default Vue.extend({
|
||||||
analyze () {
|
analyze () {
|
||||||
this.$komgaLibraries.analyzeLibrary(this.library)
|
this.$komgaLibraries.analyzeLibrary(this.library)
|
||||||
},
|
},
|
||||||
|
refreshMetadata () {
|
||||||
|
this.$komgaLibraries.refreshMetadata(this.library)
|
||||||
|
},
|
||||||
promptDeleteLibrary () {
|
promptDeleteLibrary () {
|
||||||
this.modalDeleteLibrary = true
|
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> {
|
async updateMetadata (bookId: number, metadata: BookMetadataUpdateDto): Promise<BookDto> {
|
||||||
try {
|
try {
|
||||||
return (await this.http.patch(`${API_BOOKS}/${bookId}/metadata`, metadata)).data
|
return (await this.http.patch(`${API_BOOKS}/${bookId}/metadata`, metadata)).data
|
||||||
|
|
|
||||||
|
|
@ -80,4 +80,16 @@ export default class KomgaLibrariesService {
|
||||||
throw new Error(msg)
|
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> {
|
async updateMetadata (seriesId: number, metadata: SeriesMetadataUpdateDto): Promise<SeriesDto> {
|
||||||
try {
|
try {
|
||||||
return (await this.http.patch(`${API_SERIES}/${seriesId}/metadata`, metadata)).data
|
return (await this.http.patch(`${API_SERIES}/${seriesId}/metadata`, metadata)).data
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,9 @@
|
||||||
<v-list-item @click="analyze()">
|
<v-list-item @click="analyze()">
|
||||||
<v-list-item-title>Analyze</v-list-item-title>
|
<v-list-item-title>Analyze</v-list-item-title>
|
||||||
</v-list-item>
|
</v-list-item>
|
||||||
|
<v-list-item @click="refreshMetadata()">
|
||||||
|
<v-list-item-title>Refresh metadata</v-list-item-title>
|
||||||
|
</v-list-item>
|
||||||
</v-list>
|
</v-list>
|
||||||
</v-menu>
|
</v-menu>
|
||||||
</toolbar-sticky>
|
</toolbar-sticky>
|
||||||
|
|
@ -236,6 +239,9 @@ export default Vue.extend({
|
||||||
analyze () {
|
analyze () {
|
||||||
this.$komgaBooks.analyzeBook(this.book)
|
this.$komgaBooks.analyzeBook(this.book)
|
||||||
},
|
},
|
||||||
|
refreshMetadata () {
|
||||||
|
this.$komgaBooks.refreshMetadata(this.book)
|
||||||
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,9 @@
|
||||||
<v-list-item @click="analyze()">
|
<v-list-item @click="analyze()">
|
||||||
<v-list-item-title>Analyze</v-list-item-title>
|
<v-list-item-title>Analyze</v-list-item-title>
|
||||||
</v-list-item>
|
</v-list-item>
|
||||||
|
<v-list-item @click="refreshMetadata()">
|
||||||
|
<v-list-item-title>Refresh metadata</v-list-item-title>
|
||||||
|
</v-list-item>
|
||||||
</v-list>
|
</v-list>
|
||||||
</v-menu>
|
</v-menu>
|
||||||
|
|
||||||
|
|
@ -330,6 +333,9 @@ export default mixins(VisibleElements).extend({
|
||||||
analyze () {
|
analyze () {
|
||||||
this.$komgaSeries.analyzeSeries(this.series)
|
this.$komgaSeries.analyzeSeries(this.series)
|
||||||
},
|
},
|
||||||
|
refreshMetadata () {
|
||||||
|
this.$komgaSeries.refreshMetadata(this.series)
|
||||||
|
},
|
||||||
singleEdit (book: BookDto) {
|
singleEdit (book: BookDto) {
|
||||||
this.editBookSingle = book
|
this.editBookSingle = book
|
||||||
this.dialogEditBookSingle = true
|
this.dialogEditBookSingle = true
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue