in src/main/scala/housekeeper/AlertDeletion.scala [28:41]
def deleteAllAlertsForEmailAddress(email: String): Future[Unit] = {
val baseContext = Map("alertsToDelete.emailAddress" -> email)
logger.info(baseContext, s"About to search for alerts to delete for '$email'")
scanamo.exec(for {
results <- table.query("email" === email)
alertsForEmail = results.flatMap(_.toOption)
_ = logger.info(baseContext ++ Map(
"alertsToDelete.found.count" -> alertsForEmail.size,
), s"About to delete ${alertsForEmail.size} alerts for '$email'")
_ <- alertsForEmail.traverse(alert => table.delete(alert.primaryKey))
} yield {
logger.info(baseContext, s"...successfully deleted ${alertsForEmail.size} alerts for '$email'")
})
}