import 'dart:convert'; import 'package:dio/dio.dart'; import 'package:tm_app/core/utils/logger.dart'; import 'package:tm_app/core/utils/result.dart'; import 'package:tm_app/data/services/mock_data/home_mock_data.dart'; import 'package:tm_app/data/services/model/home/home_request/home_request_model.dart'; import 'package:tm_app/data/services/model/home/home_response/home_response_model.dart'; import 'package:tm_app/data/services/network_manager.dart'; class HomeService { HomeService({required NetworkManager networkManager}) : _networkManager = networkManager; final NetworkManager _networkManager; Future> getHome({ HomeRequestModel? homeRequestModel, }) async { try { // final result = await _networkManager.makeRequest( // '/api/v1/home', // (json) => HomeResponseModel.fromJson(json), // method: 'GET', // ); await Future.delayed(Duration(seconds: 2)); appLogger.info('get home success'); // TODO: will change when api is ready appLogger.debug( HomeResponseModel.fromJson(jsonDecode(homeMockData)['data']), ); return Result.ok( HomeResponseModel.fromJson(jsonDecode(homeMockData)['data']), ); } on DioException catch (e) { appLogger.error('get home failed: $e'); return Result.error(e); } on Exception catch (e, stackTrace) { appLogger.error('get home failed: $e', stackTrace: stackTrace); return Result.error(Exception(e)); } } }