import 'dart:convert'; import 'dart:io'; import 'package:http/http.dart' as http; import 'package:http/http.dart'; import '../../../model/accountData.dart'; import 'autocompleteResponse.dart'; class AutocompleteApi { Future find(String query) async { Map getParameters = { "search": query, "itemType": " ", "itemId": " ", "shareTypes[]": ["0"], "limit": "10", }; Map headers = {}; headers.putIfAbsent("Accept", () => "application/json"); headers.putIfAbsent("OCS-APIRequest", () => "true"); Uri endpoint = Uri.https("${AccountData().buildHttpAuthString()}@cloud.marianum-fulda.de", "/ocs/v2.php/core/autocomplete/get", getParameters); Response response = await http.get(endpoint, headers: headers); if(response.statusCode != HttpStatus.ok) throw Exception("Api call failed with ${response.statusCode}: ${response.body}"); String result = response.body; return AutocompleteResponse.fromJson(jsonDecode(result)['ocs']); } }