35 lines
1.1 KiB
Dart
35 lines
1.1 KiB
Dart
import 'dart:convert';
|
|
|
|
import 'package:tm_app/core/utils/logger.dart';
|
|
import 'package:tm_app/core/utils/result.dart';
|
|
import 'package:tm_app/data/services/mock_data/tender_detail_mock.dart';
|
|
import 'package:tm_app/data/services/model/tender_detail_request/tender_detail_request.dart';
|
|
import 'package:tm_app/data/services/model/tender_detail_response/tender_detail_response_model.dart';
|
|
|
|
import '../../core/config/network_manager.dart';
|
|
|
|
class TenderDetailService {
|
|
TenderDetailService({required NetworkManager networkManager})
|
|
: _networkManager = networkManager;
|
|
|
|
final NetworkManager _networkManager;
|
|
|
|
Future<Result<TenderDetailResponseModel>> getTenderDetail({
|
|
required TenderDetailRequest request,
|
|
}) async {
|
|
try {
|
|
await Future.delayed(const Duration(seconds: 2));
|
|
appLogger.info('get tender detail success');
|
|
|
|
return Result.ok(
|
|
TenderDetailResponseModel.fromJson(
|
|
jsonDecode(tenderDetailMockData)['data'],
|
|
),
|
|
);
|
|
} catch (e, stackTrace) {
|
|
appLogger.error('get tender detail failed: $e', stackTrace: stackTrace);
|
|
return Result.error(Exception(e));
|
|
}
|
|
}
|
|
}
|