getVideos method

Future<PaginatedVideos> getVideos([
  1. VideoFilter filter = const VideoFilter(limit: 25, offset: 0, order: Order.descending, sort: [VideoSort.availableAt], paginated: false)
])

Get a list of videos

Implementation

Future<PaginatedVideos> getVideos([
  VideoFilter filter = const VideoFilter(
    limit: 25,
    offset: 0,
    order: Order.descending,
    sort: [VideoSort.availableAt],
    paginated: false,
  ),
]) async {
  // Create the params list
  final Map<String, dynamic> params = filter.toJson();
  final response = await getEndpoint(HolodexEndpoint.videos, 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(),
  );
}