override def writeSubmissions()

in formstack-baton-requests/src/main/scala/com/gu/identity/formstackbatonrequests/aws/DynamoClient.scala [45:57]


  override def writeSubmissions(submissionIdsAndEmails: List[SubmissionIdEmail], salt: String, submissionsTableName: String): Either[Throwable, List[BatchWriteItemResult]] = {
    val hashedEmailsOrError = submissionIdsAndEmails.traverse { submissionIdAndEmail =>
      for {
        hashedEmail <- submissionIdAndEmail.email.bcryptSafe(salt).toEither
        submissionWithHashedEmail = submissionIdAndEmail.copy(email = hashedEmail)
      } yield submissionWithHashedEmail
    }

    hashedEmailsOrError.flatMap { submissionsWithHashedEmails =>
      Try(Scanamo.putAll[SubmissionIdEmail](dynamoClient)(submissionsTableName)(submissionsWithHashedEmails.toSet))
        .toEither
    }
  }