def handle()

in formstack-baton-requests/src/main/scala/com/gu/identity/formstackbatonrequests/Handler.scala [22:42]


  def handle(request: Req, context: Context): Either[Throwable, Res]

  val jsonPrinter: Printer = Printer.spaces2.copy(dropNullValues = true)

  private def checkFormstackDataProvider(request: Req): Either[Throwable, Unit] = {
    val supportedProviders = List("formstack", "formstackrer")
    request match {
      case _: SarStatusRequest => Right(())
      case _: RerStatusRequest => Right(())
      case SarInitiateRequest(_, dataProvider, _) =>
        Either.cond(supportedProviders.contains(dataProvider), (), DecodingFailure(s"invalid dataProvider: $dataProvider", List.empty))
      case SarPerformRequest(_, _, dataProvider) =>
        Either.cond(supportedProviders.contains(dataProvider), (), DecodingFailure(s"invalid dataProvider: $dataProvider", List.empty))
      case RerInitiateRequest(_, dataProvider, _) =>
        Either.cond(supportedProviders.contains(dataProvider), (), DecodingFailure(s"invalid dataProvider: $dataProvider", List.empty))
      case RerPerformRequest(_, _, dataProvider) =>
        Either.cond(supportedProviders.contains(dataProvider), (), DecodingFailure(s"invalid dataProvider: $dataProvider", List.empty))
      case UpdateDynamoRequest(_, _, _, dataProvider, _, _, _, _, _) =>
        Either.cond(supportedProviders.contains(dataProvider), (), DecodingFailure(s"invalid dataProvider: $dataProvider", List.empty))
    }
  }