mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-05-04 01:17:19 +02:00
Close RSS feeds after removing empty series
This commit is contained in:
parent
84e20e041c
commit
8f308c6180
@ -394,7 +394,7 @@ class ApiRouter {
|
|||||||
|
|
||||||
const transaction = await Database.sequelize.transaction()
|
const transaction = await Database.sequelize.transaction()
|
||||||
try {
|
try {
|
||||||
const seriesBooksToRemove = (
|
const seriesToRemove = (
|
||||||
await Database.seriesModel.findAll({
|
await Database.seriesModel.findAll({
|
||||||
where: [
|
where: [
|
||||||
{
|
{
|
||||||
@ -412,10 +412,10 @@ class ApiRouter {
|
|||||||
})
|
})
|
||||||
).map((s) => ({ id: s.id, name: s.name, libraryId: s.libraryId }))
|
).map((s) => ({ id: s.id, name: s.name, libraryId: s.libraryId }))
|
||||||
|
|
||||||
if (seriesBooksToRemove.length) {
|
if (seriesToRemove.length) {
|
||||||
await Database.seriesModel.destroy({
|
await Database.seriesModel.destroy({
|
||||||
where: {
|
where: {
|
||||||
id: seriesBooksToRemove.map((s) => s.id)
|
id: seriesToRemove.map((s) => s.id)
|
||||||
},
|
},
|
||||||
transaction
|
transaction
|
||||||
})
|
})
|
||||||
@ -423,13 +423,17 @@ class ApiRouter {
|
|||||||
|
|
||||||
await transaction.commit()
|
await transaction.commit()
|
||||||
|
|
||||||
seriesBooksToRemove.forEach((id, name, libraryId) => {
|
seriesToRemove.forEach(({ id, name, libraryId }) => {
|
||||||
Logger.info(`[ApiRouter] Series "${name}" is now empty. Removing series`)
|
Logger.info(`[ApiRouter] Series "${name}" is now empty. Removing series`)
|
||||||
|
|
||||||
// Remove series from library filter data
|
// Remove series from library filter data
|
||||||
Database.removeSeriesFromFilterData(libraryId, id)
|
Database.removeSeriesFromFilterData(libraryId, id)
|
||||||
SocketAuthority.emitter('series_removed', { id: id, libraryId: libraryId })
|
SocketAuthority.emitter('series_removed', { id: id, libraryId: libraryId })
|
||||||
})
|
})
|
||||||
|
// Close rss feeds - remove from db and emit socket event
|
||||||
|
if (seriesToRemove.length) {
|
||||||
|
await RssFeedManager.closeFeedsForEntityIds(seriesToRemove.map((s) => s.id))
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
await transaction.rollback()
|
await transaction.rollback()
|
||||||
Logger.error(`[ApiRouter] Error removing empty series: ${error.message}`)
|
Logger.error(`[ApiRouter] Error removing empty series: ${error.message}`)
|
||||||
|
Loading…
Reference in New Issue
Block a user