getList method

Future<List<Event>> getList(
  1. int limit,
  2. int offset, {
  3. EventListType type = model.EventListType.all,
})

Implementation

Future<List<model.Event>> getList(
    int limit,
    int offset, {
      model.EventListType type = model.EventListType.all,
    }) async {
  var url =
      "/event/list?limit=$limit&offset=$offset&filter[approved]=true&sort[field]=start_time&sort[order]=DESC";

  if (type == model.EventListType.future) {
    var now = DateTime.now();
    final DateFormat formatter = DateFormat('yyyy-MM-dd');
    var date = formatter.format(now);
    url =
    "/event/list?limit=$limit&offset=$offset&filter[end_time]=>$date&filter[approved]=true&sort[field]=start_time&sort[order]=DESC";
  }
  if (type == model.EventListType.past) {
    var now = DateTime.now();
    final DateFormat formatter = DateFormat('yyyy-MM-dd');
    var date = formatter.format(now);
    url =
    "/event/list?limit=$limit&offset=$offset&filter[end_time]=<$date&filter[approved]=true&sort[field]=start_time&sort[order]=DESC";
  }

  final response = await client.get(url);

  if (response.statusCode == 200) {
    final res = response.data;
    final rr = model.EventListResponse.fromJson(res);
    return rr.data;
  } else {
    throw Exception('Failed to load album');
  }
}