override def handle()

in formstack-baton-requests/src/main/scala/com/gu/identity/formstackbatonrequests/sar/FormstackPerformSarHandler.scala [30:40]


  override def handle(request: SarRequest, context: Context): Either[Throwable, SarResponse] =
    request match {
      case r: SarPerformRequest =>
        initiateSar(r) match {
          case Right(_) => Right(SarPerformResponse(Completed, r.initiationReference, r.subjectEmail))
          case Left(err) =>
            s3Client.writeFailedResults(r.initiationReference, err.getMessage, SAR, config)
                .flatMap(_ => Left(err))
        }
      case _ => Left(new Exception("Unable to retrieve email and initiation reference from request"))
    }