def toDynamoItem()

in app/aws/PasskeyDB.scala [36:81]


  def toDynamoItem(
      user: UserIdentity,
      credentialRecord: CredentialRecord
  ): Map[String, AttributeValue] =
    Map(
      "username" -> AttributeValue.fromS(user.username),
      "credentialId" -> AttributeValue.fromS(
        Base64UrlUtil.encodeToString(
          credentialRecord.getAttestedCredentialData.getCredentialId
        )
      ),
      "credential" -> AttributeValue.fromS(
        Base64UrlUtil.encodeToString(
          credentialDataConverter.convert(
            credentialRecord.getAttestedCredentialData
          )
        )
      ),
      "attestationStatement" -> AttributeValue.fromS(
        Base64UrlUtil.encodeToString(
          objConverter.getCborConverter.writeValueAsBytes(
            credentialRecord.getAttestationStatement
          )
        )
      ),
      "authenticatorExtensions" -> AttributeValue.fromS(
        Base64UrlUtil.encodeToString(
          objConverter.getCborConverter.writeValueAsBytes(
            credentialRecord.getAuthenticatorExtensions
          )
        )
      ),
      // see https://www.w3.org/TR/webauthn-1/#sign-counter
      "authCounter" -> AttributeValue.fromN("0")
    )

  def insert(
      user: UserIdentity,
      credentialRecord: CredentialRecord
  )(implicit dynamoDB: DynamoDbClient): Try[Unit] = Try {
    val item = toDynamoItem(user, credentialRecord)
    val request =
      PutItemRequest.builder().tableName(tableName).item(item.asJava).build()
    dynamoDB.putItem(request)
    ()
  }.recoverWith(exception =>