refactor: replace deleteEmpty by delete(ids) for readlist and collections

This commit is contained in:
Gauthier Roebroeck 2021-08-09 14:54:42 +08:00
parent 95b22e6b56
commit c73e2b11c8
6 changed files with 16 additions and 30 deletions

View file

@ -38,8 +38,8 @@ interface ReadListRepository {
fun removeBooksFromAll(bookIds: Collection<String>)
fun delete(readListId: String)
fun delete(readListIds: Collection<String>)
fun deleteAll()
fun deleteEmpty()
fun existsByName(name: String): Boolean
}

View file

@ -38,8 +38,8 @@ interface SeriesCollectionRepository {
fun removeSeriesFromAll(seriesIds: Collection<String>)
fun delete(collectionId: String)
fun delete(collectionIds: Collection<String>)
fun deleteAll()
fun deleteEmpty()
fun existsByName(name: String): Boolean
}

View file

@ -61,7 +61,7 @@ class ReadListLifecycle(
fun deleteEmptyReadLists() {
logger.info { "Deleting empty read lists" }
val toDelete = readListRepository.findAllEmpty()
readListRepository.deleteEmpty()
readListRepository.delete(toDelete.map { it.id })
toDelete.forEach { eventPublisher.publishEvent(DomainEvent.ReadListDeleted(it)) }
}

View file

@ -57,7 +57,7 @@ class SeriesCollectionLifecycle(
fun deleteEmptyCollections() {
logger.info { "Deleting empty collections" }
val toDelete = collectionRepository.findAllEmpty()
collectionRepository.deleteEmpty()
collectionRepository.delete(toDelete.map { it.id })
toDelete.forEach { eventPublisher.publishEvent(DomainEvent.CollectionDeleted(it)) }
}

View file

@ -238,22 +238,15 @@ class ReadListDao(
}
@Transactional
override fun deleteAll() {
dsl.deleteFrom(rlb).execute()
dsl.deleteFrom(rl).execute()
override fun delete(readListIds: Collection<String>) {
dsl.deleteFrom(rlb).where(rlb.READLIST_ID.`in`(readListIds)).execute()
dsl.deleteFrom(rl).where(rl.ID.`in`(readListIds)).execute()
}
@Transactional
override fun deleteEmpty() {
dsl.deleteFrom(rl)
.where(
rl.ID.`in`(
dsl.select(rl.ID)
.from(rl)
.leftJoin(rlb).on(rl.ID.eq(rlb.READLIST_ID))
.where(rlb.READLIST_ID.isNull)
)
).execute()
override fun deleteAll() {
dsl.deleteFrom(rlb).execute()
dsl.deleteFrom(rl).execute()
}
override fun existsByName(name: String): Boolean =

View file

@ -237,22 +237,15 @@ class SeriesCollectionDao(
}
@Transactional
override fun deleteAll() {
dsl.deleteFrom(cs).execute()
dsl.deleteFrom(c).execute()
override fun delete(collectionIds: Collection<String>) {
dsl.deleteFrom(cs).where(cs.COLLECTION_ID.`in`(collectionIds)).execute()
dsl.deleteFrom(c).where(c.ID.`in`(collectionIds)).execute()
}
@Transactional
override fun deleteEmpty() {
dsl.deleteFrom(c)
.where(
c.ID.`in`(
dsl.select(c.ID)
.from(c)
.leftJoin(cs).on(c.ID.eq(cs.COLLECTION_ID))
.where(cs.COLLECTION_ID.isNull)
)
).execute()
override fun deleteAll() {
dsl.deleteFrom(cs).execute()
dsl.deleteFrom(c).execute()
}
override fun existsByName(name: String): Boolean =