import 'dart:developer'; import 'package:mdp/data/dtos/characters_dto.dart'; import 'package:mdp/data/mappers/characters_mapper.dart'; import 'package:mdp/models/card.dart'; import 'package:mdp/repositories/api_interface.dart'; import 'package:dio/dio.dart'; import 'package:pretty_dio_logger/pretty_dio_logger.dart'; class GotRepository extends ApiInterface { static final Dio _dio = Dio() ..interceptors.add(PrettyDioLogger( requestHeader: true, requestBody: true )); static const String _baseURL = 'https://thronesapi.com'; @override Future?> loadData() async { try { const String url = '$_baseURL/api/v2/Characters'; Response response = await _dio.get>(url); final CharactersDto dto = CharactersDto.fromJson(response.data); final List? data = dto.array?.map((e) => e.toDomain()).toList(); return data; } on DioException catch (e) { log(e.stackTrace.toString()); return null; } } }