in formstack-baton-requests/src/main/scala/com/gu/identity/formstackbatonrequests/services/DynamoUpdateService.scala [107:137]
private def writeSubmissions(
form: Form,
minTimeUTC: LocalDateTime,
maxTimeUTC: Option[LocalDateTime],
submissionPage: Int = 1,
token: FormstackAccountToken
): Either[Throwable, Unit] = {
val writeSubmissionsPageFunction = writeSubmissionsPage(
form: Form,
minTimeUTC: LocalDateTime,
maxTimeUTC: Option[LocalDateTime],
token: FormstackAccountToken
) _
val processedPages = writeSubmissionsPageFunction(submissionPage)
processedPages match {
case Right(pages) if submissionPage < pages =>
(submissionPage + 1 to pages)
.par
.map(writeSubmissionsPageFunction(_))
.toList
.collectFirst {
case Left(err) => Left(err)
}.getOrElse(Right(()))
case Right(_) => Right(())
case Left(err) => Left(err)
}
}