def deleteAllAlertsForEmailAddress()

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'")
    })
  }