initial your tenders

This commit is contained in:
amirrezaghabeli
2025-09-02 15:33:07 +03:30
parent 305598028b
commit 513475cfb6
8 changed files with 132 additions and 14 deletions
@@ -3,10 +3,25 @@ import 'package:tm_app/data/services/model/tender_approvals_response/tender_appr
import 'package:tm_app/data/services/your_tenders_service.dart';
class YourTendersRepository {
final YourTendersService yourTendersService;
YourTendersRepository({required this.yourTendersService});
final YourTendersService _yourTendersService;
YourTendersRepository({required YourTendersService yourTendersService})
: _yourTendersService = yourTendersService;
Future<Result<TenderApprovalsResponse>> getApprovedTenders() {
return yourTendersService.getApprovedTenders();
return _yourTendersService.getApprovedTenders();
}
Future<Result<TenderApprovalsResponse>> getTenders({
required int limit,
required int offset,
required String createdFrom,
required String createdTo,
}) {
return _yourTendersService.getTenders(
limit: limit,
offset: offset,
createdFrom: createdFrom,
createdTo: createdTo,
);
}
}
@@ -1,4 +1,18 @@
class YourTendersApi {
static const String tenderApprovalsStatus =
'/api/v1/tender-approvals?status=submitted';
static const String tenderApproval = '/api/v1/tender-approvals';
static String getTenders({
required int limit,
required int offset,
required String createdFrom,
required String createdTo,
}) {
if (createdFrom.isNotEmpty && createdTo.isNotEmpty) {
return '$tenderApproval?limit=$limit&offset=$offset&created_from=$createdFrom&created_to=$createdTo';
}
return '$tenderApproval?limit=$limit&offset=$offset';
}
}
@@ -19,4 +19,23 @@ class YourTendersService {
return result;
}
Future<Result<TenderApprovalsResponse>> getTenders({
required int limit,
required int offset,
required String createdFrom,
required String createdTo,
}) async {
final result = await _networkManager.makeRequest(
YourTendersApi.getTenders(
limit: limit,
offset: offset,
createdFrom: createdFrom,
createdTo: createdTo,
),
(json) => TenderApprovalsResponse.fromJson(json),
method: 'GET',
);
return result;
}
}