Например, у меня есть набор запросов:
for {
entity <- sql"<select some optional entity from db>".query[Entity].option
result <- sql"<insert some data using entity>".update.run
} yield result
Как НЕ вставить некоторые данные, когда сущность не найдена, и вызвать ошибку "сущность не существует"?
что-то как:
for {
entity <- sql"<select some optional entity from db>".query[Entity].option
result <- entity // Option[Entity]
.fold(ConnectionIO.raiseError("entity does not exists")) // ConnectionIO.raiseError does not compile
(e => sql"<insert some data using entity>".update.run)
} yield result