filterMembers method

List<PlanMember> filterMembers({
  1. int? userId,
  2. PlanMemberAccessType? accessType,
})

Returns a list of members that match the given filters.

If no filters are provided, all members are returned.

Implementation

List<PlanMember> filterMembers({
  int? userId,
  PlanMemberAccessType? accessType,
}) {
  if (!state.hasData) {
    log('Cannot filter members: No plan loaded.');

    return [];
  }

  return state.requireData.members.where((member) {
    if (userId != null && member.id != userId) return false;
    if (accessType != null && member.accessType != accessType) return false;

    return true;
  }).toList();
}