Files
tm_app/lib/data/services/your_tenders_service.dart
T

73 lines
2.2 KiB
Dart

import 'package:tm_app/core/utils/result.dart';
import 'package:tm_app/data/services/api/your_tenders_api.dart';
import 'package:tm_app/data/services/model/liked_tenders_response/liked_tenders_response.dart';
import 'package:tm_app/data/services/model/tender_approvals_response/tender_approvals_response.dart';
import '../../../core/network/network_manager.dart';
import 'model/request_models/get_tenders_request_model/get_tenders_request_model.dart';
class YourTendersService {
YourTendersService({required NetworkManager networkManager})
: _networkManager = networkManager;
final NetworkManager _networkManager;
Future<Result<TenderApprovalsResponse>> getApprovedTenders({
required int limit,
required int offset,
required String createdFrom,
required String createdTo,
}) async {
final result = await _networkManager.makeRequest(
YourTendersApi.getTenderApprovalsStatus(
limit: limit,
offset: offset,
createdFrom: createdFrom,
createdTo: createdTo,
),
(json) => TenderApprovalsResponse.fromJson(json),
method: 'GET',
);
return result;
}
Future<Result<TenderApprovalsResponse>> getTenders({
required GetTendersRequestModel requestModel,
}) async {
final result = await _networkManager.makeRequest(
YourTendersApi.getTenders(
limit: requestModel.limit,
offset: requestModel.offset,
createdFrom: requestModel.createdFrom,
createdTo: requestModel.createdTo,
status: requestModel.status,
),
(json) => TenderApprovalsResponse.fromJson(json),
method: 'GET',
);
return result;
}
Future<Result<LikedTendersResponse>> getTendersFeedback({
required int limit,
required int offset,
required String feedbackType,
required String dateFrom,
required String dateTo,
}) async {
final result = await _networkManager.makeRequest(
YourTendersApi.getTendersFeedback(
limit: limit,
offset: offset,
feedbackType: feedbackType,
dateFrom: dateFrom,
dateTo: dateTo,
),
(json) => LikedTendersResponse.fromJson(json),
method: 'GET',
);
return result;
}
}