list method

Future<List<MergeRequest>> list({
  1. MergeRequestState? state,
  2. MergeRequestOrderBy? orderBy,
  3. MergeRequestSort? sort,
  4. int? page,
  5. int? perPage,
  6. List<int>? iids,
})

Implementation

Future<List<MergeRequest>> list(
    {MergeRequestState? state,
    MergeRequestOrderBy? orderBy,
    MergeRequestSort? sort,
    int? page,
    int? perPage,
    List<int>? iids}) async {
  final queryParameters = <String, dynamic>{};

  if (state != null) queryParameters['state'] = _enumToString(state);
  if (orderBy != null) queryParameters['order_by'] = _enumToString(orderBy);
  if (sort != null) queryParameters['sort'] = _enumToString(sort);
  if (iids != null && iids.isNotEmpty) {
    queryParameters['iids[]'] = iids.map((iid) => iid.toString());
  }

  final uri = _project.buildUri(['merge_requests'],
      queryParameters: queryParameters, page: page, perPage: perPage);

  final jsonList = _responseToList(await _gitLab.request(uri));

  return jsonList.map((json) => new MergeRequest.fromJson(json)).toList();
}