def getLatestProductionBuilds()

in src/main/scala/com/gu/appstoreconnectapi/AppStoreConnectApi.scala [59:74]


  def getLatestProductionBuilds(token: String, appStoreConnectConfig: AppStoreConnectConfig): Try[List[LiveAppProduction]] = {
    val buildsQuery = s"/apps/${appStoreConnectConfig.appleAppId}/appStoreVersions?limit=5&include=build"
    val request = new Request.Builder()
      .url(s"$appStoreConnectBaseUrl$buildsQuery")
      .addHeader("Authorization", s"Bearer $token")
      .build
    for {
      httpResponse <- Try(SharedClient.client.newCall(request).execute)
      bodyAsString <- SharedClient.getResponseBodyIfSuccessful("App Store Connect API", httpResponse)
      appStoreVersionsResponse <- decode[AppStoreVersionsResponse](bodyAsString).toTry
      latestProductionReleases <- combineAppStoreVersionsResponseModels(appStoreVersionsResponse)
    } yield {
      logger.info(s"The latest production releases are: $latestProductionReleases")
      latestProductionReleases
    }
  }