override def put()

in storehaus-dynamodb/src/main/scala/com/twitter/storehaus/dynamodb/DynamoStore.scala [65:81]


  override def put(kv: (String, Option[AttributeValue])): Future[Unit] = {
    kv match {
      case (key, Some(value)) =>
        // write the new entry to AWS
        val attributes = Map(
          primaryKeyColumn -> key.as[AttributeValue],
          valueColumn -> value
        ).as[JMap[String, AttributeValue]]
        val putRequest = new PutItemRequest(tableName, attributes)
        apiRequestFuturePool(client.putItem(putRequest))
      case (key, None) =>
        val attributes =
          Map(primaryKeyColumn -> key.as[AttributeValue]).as[JMap[String, AttributeValue]]
        val deleteRequest = new DeleteItemRequest(tableName, attributes)
        apiRequestFuturePool(client.deleteItem(deleteRequest))
    }
  }