findGroups method

Future findGroups({
  1. required String category,
  2. String? name,
  3. String? namePrefix,
  4. dynamic lastKey,
})

Find groups that matches to the given criteria. 'name' parameter is for exact match and can result in only one group returned but 'namePrefix' parameter can result in multiple groups returned. 'name' and 'namePrefix' parameters are mutually exclusive and only either of them can be specified (not both).

Implementation

Future findGroups({
	required String category,
	String? name,
	String? namePrefix,
	dynamic? lastKey
}) async {
	var url = '/find-groups';
	var params = {
		"category": category
	};

	if (name != null) {
		params['name'] = name;
	}
	if (namePrefix != null) {
		params['namePrefix'] = namePrefix;
	}
	if (lastKey != null) {
		params['lastKey'] = lastKey;
	}

	var resp = await _invoke(url, params, true);

	if (resp['result'] != 'OK') throw resp['result'];

	return <String,dynamic>{
		'groups': resp['groups'],
		'lastKey': resp['lastKey']
	};
}