filter method

Iterable<User> filter({
  1. String? query,
  2. String? username,
  3. String? lastname,
  4. String? firstname,
  5. Vintage? vintage,
  6. List<int>? ids,
  7. Set<UserCapability> capabilities = const {},
  8. UserCapability? capability,
})

Filters this list by username, lastname, firstname, vintage and ids and returns list of users that match the filter criteria.

String values are case-insensitive. If ids is not empty, only users with an id in the list are returned.

Implementation

Iterable<User> filter({
  String? query,
  String? username,
  String? lastname,
  String? firstname,
  Vintage? vintage,
  List<int>? ids,

  /// The user must have all capabilities in this set.
  Set<UserCapability> capabilities = const {},
  UserCapability? capability,
}) {
  if (!state.hasData) {
    return [];
  }

  return state.requireData.filter(
    query: query,
    username: username,
    lastname: lastname,
    firstname: firstname,
    vintage: vintage,
    ids: ids,
    capabilities: capabilities,
    capability: capability,
  );
}