| 1 | // ignore_for_file: non_constant_identifier_names |
| 2 | |
| 3 | import 'package:dio/dio.dart'; |
| 4 | import 'package:openapi/openapi.dart'; |
| 5 | import 'package:aero/constants/main.dart'; |
| 6 | import 'package:built_collection/built_collection.dart'; |
| 7 | |
| 8 | class HomeService { |
| 9 | final _airportsApi = openapi.getAirportsApi |
| 10 | final _airlinesApi = openapi.getAirlinesApi |
| 11 | |
| 12 | Future<BuiltList<AirlineEntity |
| 13 | {CancelToken? cancelToken}) async { |
| 14 | if (query.isEmpty) return BuiltList |
| 15 | try { |
| 16 | final res = await _airlinesApi. |
| 17 | search: query, |
| 18 | cancelToken: cancelToken, |
| 19 | ); |
| 20 | return res.data!; |
| 21 | } catch (e) { |
| 22 | return BuiltList.from |
| 23 | } |
| 24 | } |
| 25 | |
| 26 | Future<BuiltList<AirportEntity |
| 27 | {CancelToken? cancelToken}) async { |
| 28 | if (query.isEmpty) return BuiltList |
| 29 | try { |
| 30 | final res = await _airportsApi. |
| 31 | search: query, cancelToken: cancelToken); |
| 32 | return res.data!; |
| 33 | } catch (e) { |
| 34 | return BuiltList.from |
| 35 | } |
| 36 | } |
| 37 | |
| 38 | Future<List<Object |
| 39 | String query, { |
| 40 | CancelToken? cancelToken, |
| 41 | }) async { |
| 42 | final results = await Future |
| 43 | searchAirlines(query.trim(), |
| 44 | searchAirports(query.trim(), |
| 45 | ]); |
| 46 | |
| 47 | final airlines = results[0]; |
| 48 | final airports = results[1]; |
| 49 | |
| 50 | return [ |
| 51 | ...airlines, |
| 52 | ...airports, |
| 53 | ]; |
| 54 | } |
| 55 | } |