import 'package:dio/dio.dart'; import 'package:mobile_app/data/mappers/bar_mapper.dart'; import 'package:pretty_dio_logger/pretty_dio_logger.dart'; import '../data/dtos/bars_dto.dart'; import '../domain/models/card.dart'; import 'api_interface.dart'; class BarRepository extends ApiInterface { static final Dio _dio = Dio() ..interceptors.add(PrettyDioLogger( requestHeader: true, requestBody: true, )); static const String _baseUrl = 'https://www.thecocktaildb.com/api/json/v1/1'; @override Future?> loadData({String? q}) async { try { final String url = q != null && q != "" ? '$_baseUrl/search.php?s=$q' // Поиск по названию : '$_baseUrl/filter.php?c=Cocktail'; // Получение списка коктейлей по категории final Response response = await _dio.get>(url); final BarsDto dto = BarsDto.fromJson(response.data as Map); final List? data = dto.drinks?.map((e) => e.toDomain()).toList(); return data; } on DioException catch (e) { return null; } } }