home logic added

This commit is contained in:
amirrezaghabeli
2025-08-09 14:15:02 +03:30
parent 99b6bbb13f
commit 1fdfc52297
22 changed files with 1627 additions and 112 deletions
+42
View File
@@ -0,0 +1,42 @@
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<Result<HomeResponseModel>> 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));
}
}
}