diff --git a/packages/stream_chat/lib/src/api/channel.dart b/packages/stream_chat/lib/src/api/channel.dart index 2de3789a..f5cc5482 100644 --- a/packages/stream_chat/lib/src/api/channel.dart +++ b/packages/stream_chat/lib/src/api/channel.dart @@ -1089,7 +1089,7 @@ class Channel { /// Query channel members Future queryMembers({ - Map? filter, + Filter? filter, List? sort, PaginationParams? pagination, }) async { diff --git a/packages/stream_chat/lib/src/client.dart b/packages/stream_chat/lib/src/client.dart index bf6a3f3f..04bb8ae1 100644 --- a/packages/stream_chat/lib/src/client.dart +++ b/packages/stream_chat/lib/src/client.dart @@ -1020,7 +1020,7 @@ class StreamChatClient { /// Requests users with a given query. Future queryUsers({ - Map? filter, + Filter? filter, List? sort, Map? options, PaginationParams? pagination, @@ -1030,7 +1030,7 @@ class StreamChatClient { }; final payload = { - 'filter_conditions': filter ?? {}, + 'filter_conditions': filter, 'sort': sort, }..addAll(defaultOptions); diff --git a/packages/stream_chat/test/src/client_test.dart b/packages/stream_chat/test/src/client_test.dart index 944b476f..b2a5bbac 100644 --- a/packages/stream_chat/test/src/client_test.dart +++ b/packages/stream_chat/test/src/client_test.dart @@ -363,7 +363,7 @@ void main() { final client = StreamChatClient('api-key', httpClient: mockDio); final queryParams = { 'payload': json.encode({ - 'filter_conditions': {}, + 'filter_conditions': null, 'sort': null, 'presence': false, }), @@ -396,11 +396,7 @@ void main() { when(() => mockDio.interceptors).thenReturn(Interceptors()); final client = StreamChatClient('api-key', httpClient: mockDio); - final queryFilter = { - 'id': { - '\$in': ['test'], - }, - }; + final queryFilter = Filter.in_('id', const ['test']); const sortOptions = []; final options = {'presence': true}; final queryParams = { diff --git a/packages/stream_chat_flutter/lib/src/message_input.dart b/packages/stream_chat_flutter/lib/src/message_input.dart index 2d0e0af4..70307936 100644 --- a/packages/stream_chat_flutter/lib/src/message_input.dart +++ b/packages/stream_chat_flutter/lib/src/message_input.dart @@ -1243,11 +1243,10 @@ class MessageInputState extends State { Future> queryMembers; if (query.isNotEmpty) { - queryMembers = StreamChannel.of(context).channel.queryMembers(filter: { - 'name': { - '\$autocomplete': query, - }, - }).then((res) => res.members); + queryMembers = StreamChannel.of(context) + .channel + .queryMembers(filter: Filter.autoComplete('name', query)) + .then((res) => res.members); } final members = StreamChannel.of(context).channel.state.members?.where((m) { diff --git a/packages/stream_chat_flutter/lib/src/user_list_view.dart b/packages/stream_chat_flutter/lib/src/user_list_view.dart index 416f7ba0..c300971d 100644 --- a/packages/stream_chat_flutter/lib/src/user_list_view.dart +++ b/packages/stream_chat_flutter/lib/src/user_list_view.dart @@ -72,7 +72,7 @@ class UserListView extends StatefulWidget { /// The query filters to use. /// You can query on any of the custom fields you've defined on the [Channel]. /// You can also filter other built-in channel fields. - final Map filter; + final Filter filter; /// Query channels options. /// diff --git a/packages/stream_chat_flutter_core/lib/src/user_list_core.dart b/packages/stream_chat_flutter_core/lib/src/user_list_core.dart index 1443ef17..694c52bc 100644 --- a/packages/stream_chat_flutter_core/lib/src/user_list_core.dart +++ b/packages/stream_chat_flutter_core/lib/src/user_list_core.dart @@ -90,7 +90,7 @@ class UserListCore extends StatefulWidget { /// The query filters to use. /// You can query on any of the custom fields you've defined on the [Channel]. /// You can also filter other built-in channel fields. - final Map? filter; + final Filter? filter; /// Query channels options. /// diff --git a/packages/stream_chat_flutter_core/lib/src/users_bloc.dart b/packages/stream_chat_flutter_core/lib/src/users_bloc.dart index dcc3252f..9b33f75c 100644 --- a/packages/stream_chat_flutter_core/lib/src/users_bloc.dart +++ b/packages/stream_chat_flutter_core/lib/src/users_bloc.dart @@ -58,7 +58,7 @@ class UsersBlocState extends State /// online/offline. /// [API Reference](https://getstream.io/chat/docs/flutter-dart/query_users/?language=dart) Future queryUsers({ - Map? filter, + Filter? filter, List? sort, Map? options, PaginationParams? pagination,