filters in your tenders fixed
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import 'package:tm_app/core/utils/result.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 'package:tm_app/data/services/your_tenders_service.dart';
|
||||
|
||||
@@ -7,8 +8,18 @@ class YourTendersRepository {
|
||||
YourTendersRepository({required YourTendersService yourTendersService})
|
||||
: _yourTendersService = yourTendersService;
|
||||
|
||||
Future<Result<TenderApprovalsResponse>> getApprovedTenders() {
|
||||
return _yourTendersService.getApprovedTenders();
|
||||
Future<Result<TenderApprovalsResponse>> getApprovedTenders({
|
||||
required int limit,
|
||||
required int offset,
|
||||
required String createdFrom,
|
||||
required String createdTo,
|
||||
}) {
|
||||
return _yourTendersService.getApprovedTenders(
|
||||
limit: limit,
|
||||
offset: offset,
|
||||
createdFrom: createdFrom,
|
||||
createdTo: createdTo,
|
||||
);
|
||||
}
|
||||
|
||||
Future<Result<TenderApprovalsResponse>> getTenders({
|
||||
@@ -24,4 +35,20 @@ class YourTendersRepository {
|
||||
createdTo: createdTo,
|
||||
);
|
||||
}
|
||||
|
||||
Future<Result<LikedTendersResponse>> getTendersFeedback({
|
||||
required int limit,
|
||||
required int offset,
|
||||
required String feedbackType,
|
||||
required String dateFrom,
|
||||
required String dateTo,
|
||||
}) {
|
||||
return _yourTendersService.getTendersFeedback(
|
||||
limit: limit,
|
||||
offset: offset,
|
||||
feedbackType: feedbackType,
|
||||
dateFrom: dateFrom,
|
||||
dateTo: dateTo,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,19 @@ class YourTendersApi {
|
||||
static const String tenderApprovalsStatus =
|
||||
'/api/v1/tender-approvals?status=submitted';
|
||||
|
||||
static String getTenderApprovalsStatus({
|
||||
required int limit,
|
||||
required int offset,
|
||||
required String createdFrom,
|
||||
required String createdTo,
|
||||
}) {
|
||||
if (createdFrom.isNotEmpty && createdTo.isNotEmpty) {
|
||||
return '$tenderApprovalsStatus&created_from=$createdFrom&created_to=$createdTo';
|
||||
}
|
||||
return tenderApprovalsStatus;
|
||||
}
|
||||
// return '$tenderApprovalsStatus?limit=$limit&offset=$offset';
|
||||
|
||||
static const String tenderApproval = '/api/v1/tender-approvals';
|
||||
|
||||
static String getTenders({
|
||||
@@ -15,4 +28,19 @@ class YourTendersApi {
|
||||
}
|
||||
return '$tenderApproval?limit=$limit&offset=$offset';
|
||||
}
|
||||
|
||||
static const String tendersFeedback = '/api/v1/feedback';
|
||||
|
||||
static String getTendersFeedback({
|
||||
required int limit,
|
||||
required int offset,
|
||||
required String feedbackType,
|
||||
required String dateFrom,
|
||||
required String dateTo,
|
||||
}) {
|
||||
if (dateFrom.isNotEmpty && dateTo.isNotEmpty) {
|
||||
return '$tendersFeedback?feedback_type=$feedbackType&limit=$limit&offset=$offset&date_from=$dateFrom&date_to=$dateTo';
|
||||
}
|
||||
return '$tendersFeedback?feedback_type=$feedbackType&limit=$limit&offset=$offset';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
const String homeMockData = '''
|
||||
{
|
||||
"data": {
|
||||
"partnership": "0.75",
|
||||
"self_apply": "12",
|
||||
"contracting": "36",
|
||||
"tender_submitted": "12",
|
||||
"approved_tenders": "03",
|
||||
"tender_value": "\$250,000",
|
||||
"thunder_status": "23",
|
||||
"your_tenders": [
|
||||
{
|
||||
"created_time": "2025-01-01",
|
||||
"tender_id": "1234567890",
|
||||
"status": "Completed",
|
||||
"title": "Lorem ipsum dolor sit amet consectetur. Sed mi tortor eu purus senectus.",
|
||||
"description": "Lorem ipsum dolor sit amet consectetur. Sed mi tortor eu purus senectus.Lorem ipsum dolor sit amet consectetur",
|
||||
"location": "Sweden",
|
||||
"type": "Self Apply"
|
||||
},
|
||||
{
|
||||
"created_time": "2025-01-01",
|
||||
"tender_id": "1234567890",
|
||||
"status": "Completed",
|
||||
"title": "Lorem ipsum dolor sit amet consectetur. Sed mi tortor eu purus senectus.",
|
||||
"description": "Lorem ipsum dolor sit amet consectetur. Sed mi tortor eu purus senectus.Lorem ipsum dolor sit amet consectetur",
|
||||
"location": "Sweden",
|
||||
"type": "Partner Ship"
|
||||
},
|
||||
{
|
||||
"created_time": "2025-01-01",
|
||||
"tender_id": "1234567890",
|
||||
"status": "Completed",
|
||||
"title": "Lorem ipsum dolor sit amet consectetur. Sed mi tortor eu purus senectus.",
|
||||
"description": "Lorem ipsum dolor sit amet consectetur. Sed mi tortor eu purus senectus.Lorem ipsum dolor sit amet consectetur",
|
||||
"location": "Sweden",
|
||||
"type": "Self Apply"
|
||||
},
|
||||
{
|
||||
"created_time": "2025-01-01",
|
||||
"tender_id": "1234567890",
|
||||
"status": "Completed",
|
||||
"title": "Lorem ipsum dolor sit amet consectetur. Sed mi tortor eu purus senectus.",
|
||||
"description": "Lorem ipsum dolor sit amet consectetur. Sed mi tortor eu purus senectus.Lorem ipsum dolor sit amet consectetur",
|
||||
"location": "Sweden",
|
||||
"type": "Partner Ship"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
''';
|
||||
@@ -1,62 +0,0 @@
|
||||
const String mockYourTendersData = '''
|
||||
{
|
||||
"approvedTenders": [
|
||||
{
|
||||
"date": "2025-05-21",
|
||||
"title": "Lorem ipsum dolor sit amet consectetur. Sed mi tortor eu purus senectus.",
|
||||
"description": "Lorem ipsum dolor sit amet consectetur. Volutpat velit tincidunt amet diam. Placerat congue ut Sed facilisis faucibus porttitor. Proin suspendisse eu euismod sit lorem quis. Suscipit ...",
|
||||
"location": "Sweden",
|
||||
"countryFlag": "assets/icons/SE.png",
|
||||
"status": "Completed",
|
||||
"projectStatus": "Self Apply"
|
||||
},
|
||||
{
|
||||
"date": "2025-05-21",
|
||||
"title": "Lorem ipsum dolor sit amet consectetur. Sed mi tortor eu purus senectus.",
|
||||
"description": "Lorem ipsum dolor sit amet consectetur. Volutpat velit tincidunt amet diam. Placerat congue ut Sed facilisis faucibus porttitor.",
|
||||
"location": "Thailand",
|
||||
"countryFlag": "assets/icons/SE.png",
|
||||
"status": "Completed",
|
||||
"projectStatus": "Partner Ship"
|
||||
},
|
||||
{
|
||||
"date": "2025-05-21",
|
||||
"title": "Lorem ipsum dolor sit amet consectetur.",
|
||||
"description": "Lorem ipsum dolor sit amet consectetur. Volutpat facilisis faucibus porttitor. Proin suspendisse eu euismod sit lorem quis.",
|
||||
"location": "Italy",
|
||||
"countryFlag": "assets/icons/SE.png",
|
||||
"status": "Completed",
|
||||
"projectStatus": "Self Apply"
|
||||
}
|
||||
],
|
||||
"tendersSubmitted": [
|
||||
{
|
||||
"date": "2025-05-21",
|
||||
"title": "Lorem ipsum dolor sit amet consectetur. Sed mi tortor eu purus senectus.",
|
||||
"description": "Lorem ipsum dolor sit amet consectetur. Volutpat velit tincidunt amet diam. Placerat congue ut Sed facilisis faucibus porttitor. Proin suspendisse eu euismod sit lorem quis.",
|
||||
"location": "Sweden",
|
||||
"countryFlag": "assets/icons/SE.png",
|
||||
"status": "Won",
|
||||
"projectStatus": "Self Apply"
|
||||
},
|
||||
{
|
||||
"date": "2025-05-21",
|
||||
"title": "Lorem ipsum dolor sit amet consectetur. Sed mi tortor eu purus senectus.",
|
||||
"description": "Lorem ipsum dolor sit amet consectetur. Volutpat velit tincidunt amet diam. Placerat congue ut Sed facilisis faucibus porttitor.",
|
||||
"location": "Thailand",
|
||||
"countryFlag": "assets/icons/SE.png",
|
||||
"status": "Reject",
|
||||
"projectStatus": "Partner Ship"
|
||||
},
|
||||
{
|
||||
"date": "2025-05-21",
|
||||
"title": "Lorem ipsum dolor sit amet consectetur.",
|
||||
"description": "Lorem ipsum dolor sit amet consectetur. Volutpat facilisis faucibus porttitor. Proin suspendisse eu euismod sit lorem quis.",
|
||||
"location": "Italy",
|
||||
"countryFlag": "assets/icons/SE.png",
|
||||
"status": "Won",
|
||||
"projectStatus": "Self Apply"
|
||||
}
|
||||
]
|
||||
}
|
||||
''';
|
||||
@@ -1,24 +0,0 @@
|
||||
const tenderDetailMockData = '''
|
||||
{
|
||||
"data": {
|
||||
"date": "2025-05-21",
|
||||
"status": "Open",
|
||||
"title": "Operation, support and further development of open e-platform Operation, support and further development of open e-platform",
|
||||
"id": "JNDFKMDV-100JF",
|
||||
"approvalDate": "2025-05-21",
|
||||
"submissionDate": "2025-05-21",
|
||||
"client": "Procurement Notice Procurement NoticeProcurement Notice",
|
||||
"deliveryLocation": "Norrbotten County",
|
||||
"referenceNumber": "KLF 2025/120",
|
||||
"country": "UK",
|
||||
"flagAsset": "assets/icons/SE.png",
|
||||
"locationTitle": "Lorem ipsum is amet",
|
||||
"locationDescription": "Luleå Municipality is procuring on behalf of Norrbotten’s e-board (all municipalities in Norrbotten). The procurement includes operation, support, and further development of the existing open e-platform. No additional information, amendments, or answers to questions will be provided after June 16.",
|
||||
"documentName": "PDF, Document",
|
||||
"documentUrl": "https://www.tenders.com",
|
||||
"profileMatch": 0.75,
|
||||
"incompleteResume": true,
|
||||
"incompleteResumeReason": "No experience in e-platform development"
|
||||
}
|
||||
}
|
||||
''';
|
||||
@@ -1,76 +0,0 @@
|
||||
final String tendersMockData = '''
|
||||
{
|
||||
"tenders": [
|
||||
{
|
||||
"tender_id": "KLF 2025/120",
|
||||
"title": "Tender 1",
|
||||
"description": "Description 1",
|
||||
"created_time": "2021-01-01",
|
||||
"deadline": "2025-06-15",
|
||||
"location": "Sweden",
|
||||
"type": "Self Apply",
|
||||
"profile_match": 75,
|
||||
"liked": false,
|
||||
"disliked": false,
|
||||
"rejected": false,
|
||||
"submitted": false
|
||||
},
|
||||
{
|
||||
"tender_id": "KLF 2025/121",
|
||||
"title": "Tender 2",
|
||||
"description": "Description 2",
|
||||
"created_time": "2021-02-01",
|
||||
"deadline": "2025-07-20",
|
||||
"location": "Norway",
|
||||
"type": "Invitation",
|
||||
"profile_match": 85,
|
||||
"liked": false,
|
||||
"disliked": false,
|
||||
"rejected": false,
|
||||
"submitted": false
|
||||
},
|
||||
{
|
||||
"tender_id": "KLF 2025/122",
|
||||
"title": "Tender 3",
|
||||
"description": "Description 3",
|
||||
"created_time": "2021-03-01",
|
||||
"deadline": "2025-08-10",
|
||||
"location": "Finland",
|
||||
"type": "Self Apply",
|
||||
"profile_match": 65,
|
||||
"liked": false,
|
||||
"disliked": false,
|
||||
"rejected": false,
|
||||
"submitted": false
|
||||
},
|
||||
{
|
||||
"tender_id": "KLF 2025/123",
|
||||
"title": "Tender 4",
|
||||
"description": "Description 4",
|
||||
"created_time": "2021-04-01",
|
||||
"deadline": "2025-09-05",
|
||||
"location": "Denmark",
|
||||
"type": "Invitation",
|
||||
"profile_match": 90,
|
||||
"liked": false,
|
||||
"disliked": false,
|
||||
"rejected": false,
|
||||
"submitted": false
|
||||
},
|
||||
{
|
||||
"tender_id": "KLF 2025/124",
|
||||
"title": "Tender 5",
|
||||
"description": "Description 5",
|
||||
"created_time": "2021-05-01",
|
||||
"deadline": "2025-10-12",
|
||||
"location": "Iceland",
|
||||
"type": "Self Apply",
|
||||
"profile_match": 70,
|
||||
"liked": false,
|
||||
"disliked": false,
|
||||
"rejected": false,
|
||||
"submitted": false
|
||||
}
|
||||
]
|
||||
}
|
||||
''';
|
||||
@@ -1,5 +1,6 @@
|
||||
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';
|
||||
@@ -10,9 +11,19 @@ class YourTendersService {
|
||||
|
||||
final NetworkManager _networkManager;
|
||||
|
||||
Future<Result<TenderApprovalsResponse>> getApprovedTenders() async {
|
||||
Future<Result<TenderApprovalsResponse>> getApprovedTenders({
|
||||
required int limit,
|
||||
required int offset,
|
||||
required String createdFrom,
|
||||
required String createdTo,
|
||||
}) async {
|
||||
final result = await _networkManager.makeRequest(
|
||||
YourTendersApi.tenderApprovalsStatus,
|
||||
YourTendersApi.getTenderApprovalsStatus(
|
||||
limit: limit,
|
||||
offset: offset,
|
||||
createdFrom: createdFrom,
|
||||
createdTo: createdTo,
|
||||
),
|
||||
(json) => TenderApprovalsResponse.fromJson(json),
|
||||
method: 'GET',
|
||||
);
|
||||
@@ -38,4 +49,25 @@ class YourTendersService {
|
||||
);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user