getMembers method

Future<List<SelectedMember>> getMembers(
  1. String? query
)

Implementation

Future<List<SelectedMember>> getMembers(String? query) async {
  var membersValues = await memberProfileRepository(appId: app.documentID)!
      .valuesList(
          eliudQuery: EliudQuery()
              .withCondition(EliudQueryCondition('feedId', isEqualTo: feedId))
              .withCondition(EliudQueryCondition('readAccess',
                  arrayContainsAny: [memberId, 'PUBLIC'])));

  if ((query != null) && (query.isNotEmpty)) {
    var values2 = <SelectedMember>[];
    var lowerQuery = query.toLowerCase();
    for (var value in membersValues) {
      if (value!.nameOverride != null) {
        if (value.nameOverride!.toLowerCase().contains(lowerQuery)) {
          var selectedMember = SelectedMember(
              memberId:
                  value.authorId != null ? value.authorId! : 'no author id',
              name: value.nameOverride != null
                  ? value.nameOverride!
                  : 'no name');
          values2.add(selectedMember);
        }
      }
    }
    return values2;
  } else {
    return mapAll(membersValues);
  }
}