private def valueFromDbData[A]()

in hq/app/db/IamRemediationDb.scala [154:173]


  private def valueFromDbData[A](dbData: Map[String, AttributeValue], key: String, f: AttributeValue => A): Attempt[A] =
    Attempt.fromOption(
      dbData.get(key).flatMap(data => Option(f(data))),
      Failure(
        s"The item retrieved from the database with id ${dbData.get("id")} has an invalid attribute with key $key",
        s"Failed to deserialise database item into an IamRemediationActivity object",
        500,
        None).attempt
    )

  def iamRemediationActivityFromString(str: String): Attempt[IamRemediationActivityType] = {
    str match {
      case "Warning" => Attempt.Right(Warning)
      case "FinalWarning" => Attempt.Right(FinalWarning)
      case "Remediation" => Attempt.Right(Remediation)
      case _ => Attempt.Left {
        Failure(s"Could not turn $str to a IamRemediationActivityType", "Did not understand database record", 500).attempt
      }
    }
  }