getLiveVideos method

Future<PaginatedVideos> getLiveVideos([
  1. VideoFilter filter = const VideoFilter(includes: [Includes.liveInfo], limit: 50, maxUpcomingHours: 48, offset: 0, order: Order.ascending, sort: [VideoSort.availableAt], status: [VideoStatus.live, VideoStatus.upcoming], type: VideoType.stream, paginated: false)
])

Get a list of live streams

This is somewhat similar to calling getVideos, except this endpoint imposes default values on the query parameters. You can choose to override them by providing your own values.

Implementation

Future<PaginatedVideos> getLiveVideos([
  VideoFilter filter = const VideoFilter(
    includes: [Includes.liveInfo],
    limit: 50,
    maxUpcomingHours: 48,
    offset: 0,
    order: Order.ascending,
    sort: [VideoSort.availableAt],
    status: [VideoStatus.live, VideoStatus.upcoming],
    type: VideoType.stream,
    paginated: false,
  ),
]) async {
  final Map<String, dynamic> params = filter.toJson();
  final response = await getEndpoint(HolodexEndpoint.live, params: params);

  if (filter.paginated) {
    // Grab total and return with it
    final videoList = PaginatedVideos.fromString(response.body);
    return videoList.copyWith(paginated: true);
  }

  final List<dynamic> list = jsonDecode(response.body);
  return PaginatedVideos(
    items: list.map((video) => VideoFull.fromJson(video)).toList(),
  );
}