list method

Future<ApiResponseModel<List<GroupModel>>> list({
  1. int? count,
  2. int? page,
  3. SortList? sort,
  4. String? orderBy,
})

Fetches a list of groups.

count is the number of items to return per page. page is the page number to fetch. sort is the sort order (asc or desc). orderBy is the field to order by. Returns a list of GroupModel instances.

Implementation

Future<ApiResponseModel<List<GroupModel>>> list({
  int? count,
  int? page,
  SortList? sort,
  String? orderBy,
}) async {
  final url = "$_baseUrl/group/list";

  final payload = {
    if (count != null) 'count': count,
    if (page != null) 'page': page,
    if (sort != null) 'sort': sort.value,
    if (orderBy != null) 'orderBy': orderBy,
  };

  debugPrint("flutter_mon_sms_pro/group/list/payload: $payload");

  final r = await _dio.post(url, data: {
    ...payload,
    "apiKey": _apiKey,
  });

  debugPrint("flutter_mon_sms_pro/group/list/data: ${r.data}");

  final response = ApiResponseModel.fromJson(
    r.data,
    (data) => (data as List<dynamic>)
        .map((e) => GroupModel.fromJson(e as Map<String, dynamic>))
        .toList(),
  );

  return response;
}