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