Skip to content

Commit 0d07ecf

Browse files
committed
FIX : change delete logic for cascading #4
1 parent 623bfba commit 0d07ecf

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

src/main/kotlin/eom/improve/kafkaboot/service/FilmService.kt

+11-4
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class FilmService(
3535
fun deleteFilm(filmId : Int) : Mono<Void> {
3636
// need to implement cascade delete(maybe soft) for table data that set foreign key
3737
return filmRepository.findById(filmId)
38-
.switchIfEmpty(Mono.error(RuntimeException("Not registered film")))
38+
.switchIfEmpty(RuntimeException("Not registered film").toMono())
3939
.flatMap { filmEn ->
4040
inventoryRepository.findAllByFilmId(filmEn.filmId)
4141
.flatMap { inventoryEn ->
@@ -49,9 +49,16 @@ class FilmService(
4949
}
5050
.flatMap { rentalEn ->
5151
rentalRepository.deleteByRentalId(rentalEn.rentalId)
52-
}
53-
}.then()
52+
}.then(inventoryEn.toMono())
53+
}
54+
.flatMap { inventoryEn ->
55+
println(inventoryEn.inventoryId)
56+
inventoryRepository.deleteByInventoryId(inventoryEn.inventoryId)
57+
}
58+
.then(filmEn.toMono())
59+
}
60+
.flatMap { filmEn ->
61+
filmRepository.deleteByFilmId(filmEn.filmId)
5462
}
55-
5663
}
5764
}

0 commit comments

Comments
 (0)