mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-06-19 08:15:16 +00:00
Create search page
This commit is contained in:
@ -1,6 +1,8 @@
|
||||
import 'package:comunic/helpers/users_helper.dart';
|
||||
import 'package:comunic/lists/search_results_list.dart';
|
||||
import 'package:comunic/lists/users_list.dart';
|
||||
import 'package:comunic/models/api_request.dart';
|
||||
import 'package:comunic/models/search_result.dart';
|
||||
import 'package:comunic/utils/api_utils.dart';
|
||||
|
||||
/// Search helper
|
||||
@ -21,4 +23,25 @@ class SearchHelper {
|
||||
return await UsersHelper()
|
||||
.getUsersInfo(response.getArray().map((f) => cast<int>(f)).toList());
|
||||
}
|
||||
|
||||
/// Perform a global search
|
||||
Future<SearchResultsList> globalSearch(String query) async {
|
||||
final result = await APIRequest(
|
||||
uri: "search/global", needLogin: true, args: {"query": query}).exec();
|
||||
|
||||
result.assertOk();
|
||||
|
||||
return SearchResultsList()..addAll(result.getArray().map((f) {
|
||||
switch (f["kind"]) {
|
||||
case "user":
|
||||
return SearchResult(id: f["id"], kind: SearchResultKind.USER);
|
||||
|
||||
case "group":
|
||||
return SearchResult(id: f["id"], kind: SearchResultKind.GROUP);
|
||||
|
||||
default:
|
||||
throw Exception("Unkown search kind: ${f["kind"]}");
|
||||
}
|
||||
}).toList());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user