mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 04:04:18 +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