def combineBuildsResponseModels()

in src/main/scala/com/gu/appstoreconnectapi/Conversion.scala [19:37]


  def combineBuildsResponseModels(buildsResponse: BuildsResponse): Try[List[LiveAppBeta]] = {
    val buildDetailsIds = buildsResponse.data.map(_.id)
    val betaBuildDetailsIds = buildsResponse.included.map(_.id)
    if (buildDetailsIds != betaBuildDetailsIds) {
      Failure(CombinedResponseException)
    } else {
      val liveAppBetas = buildsResponse.data.map {
        buildDetails =>
          val betaBuildDetails = buildsResponse.included.find(_.id == buildDetails.id).get
          LiveAppBeta(
            version = buildDetails.attributes.version,
            buildId = buildDetails.id,
            uploadedDate = buildDetails.attributes.uploadedDate,
            internalBuildState = betaBuildDetails.attributes.internalBuildState,
            externalBuildState = betaBuildDetails.attributes.externalBuildState)
      }
      Success(liveAppBetas)
    }
  }