| 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 | double minLat, |
| 28 | double maxLat, |
| 29 | double minLng, |
| 30 | double maxLng, { |
| 31 | CancelToken? cancelToken, |
| 32 | }) async { |
| 33 | try { |
| 34 | final res = await _airportsApi. |
| 35 | minLat: minLat, |
| 36 | maxLat: maxLat, |
| 37 | minLng: minLng, |
| 38 | maxLng: maxLng, |
| 39 | cancelToken: cancelToken, |
| 40 | ); |
| 41 | return res.data ?? BuiltList |
| 42 | } catch (e) { |
| 43 | return BuiltList.from |
| 44 | } |
| 45 | } |
| 46 | |
| 47 | Future<BuiltList<AirportEntity |
| 48 | {CancelToken? cancelToken}) async { |
| 49 | if (query.isEmpty) return BuiltList |
| 50 | try { |
| 51 | final res = await _airportsApi. |
| 52 | search: query, cancelToken: cancelToken); |
| 53 | return res.data!; |
| 54 | } catch (e) { |
| 55 | return BuiltList.from |
| 56 | } |
| 57 | } |
| 58 | |
| 59 | Future<List<Object |
| 60 | String query, { |
| 61 | CancelToken? cancelToken, |
| 62 | }) async { |
| 63 | final results = await Future |
| 64 | searchAirlines(query.trim(), |
| 65 | searchAirports(query.trim(), |
| 66 | ]); |
| 67 | |
| 68 | final airlines = results[0]; |
| 69 | final airports = results[1]; |
| 70 | |
| 71 | return [ |
| 72 | ...airlines, |
| 73 | ...airports, |
| 74 | ]; |
| 75 | } |
| 76 | } |