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
}
}