in src/main/scala/pa/PaClient.scala [23:48]
def competitions(implicit context: ExecutionContext): Future[List[Season]] =
get(s"/competitions/competitions/$apiKey").map(interceptErrors).map(parseCompetitions)
def matchInfo(id: String)(implicit context: ExecutionContext): Future[MatchDay] =
get(s"/match/info/$apiKey/$id").map(interceptErrors).map(parseMatchInfo)
def matchEvents(id: String)(implicit context: ExecutionContext): Future[Option[MatchEvents]] =
get(s"/match/events/$apiKey/$id").map(interceptErrors).map(parseMatchEvents)
def matchStats(id: String)(implicit context: ExecutionContext): Future[Seq[MatchStats]] =
get(s"/match/stats/$apiKey/$id").map(interceptErrors).map(parseMatchStats)
def lineUp(id: String)(implicit context: ExecutionContext): Future[LineUp] = get(s"/match/lineUps/$apiKey/$id").map(interceptErrors).map(parseLineUp)
def matchDay(date: LocalDate)(implicit context: ExecutionContext): Future[List[MatchDay]] =
get(s"/competitions/matchDay/$apiKey/${date.format(formatter)}").map(interceptErrors).map(parseMatchDay)
def matchDay(competitionId: String, date: LocalDate)(implicit context: ExecutionContext): Future[List[MatchDay]] =
get(s"/competition/matchDay/$apiKey/$competitionId/${date.format(formatter)}").map(interceptErrors).map(parseMatchDay)
def results(start: LocalDate)(implicit context: ExecutionContext): Future[List[Result]] = resultsAll(start, None)
def results(start: LocalDate, end: LocalDate)(implicit context: ExecutionContext): Future[List[Result]] = resultsAll(start, Some(end))
private def resultsAll(start: LocalDate, end: Option[LocalDate] = None)(implicit context: ExecutionContext): Future[List[Result]] = {
val dateStr = start.format(formatter) + (end map { e => s"/${e.format(formatter)}"} getOrElse "")
get(s"/competitions/results/$apiKey/$dateStr").map(interceptErrors).map(parseResults)
}