get like tenders refactor services

This commit is contained in:
amirrezaghabeli
2025-09-08 10:48:05 +03:30
parent 3b6d049681
commit daba428d67
11 changed files with 72 additions and 66 deletions
+14 -2
View File
@@ -1,4 +1,16 @@
class LikedTendersApi {
static const String likedTenders =
'/api/v1/feedback?feedback_type=like';
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';
}
}
@@ -36,19 +36,4 @@ class YourTendersApi {
return url;
}
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';
}
}
+9 -3
View File
@@ -3,6 +3,7 @@ import 'package:tm_app/data/services/api/liked_tenders_api.dart';
import 'package:tm_app/data/services/model/liked_tenders_response/liked_tenders_response.dart';
import '../../../core/network/network_manager.dart';
import 'model/request_models/tender_feedback_request_model/tender_feedback_request_model.dart';
class LikedTendersService {
LikedTendersService({required NetworkManager networkManager})
@@ -11,10 +12,15 @@ class LikedTendersService {
final NetworkManager _networkManager;
Future<Result<LikedTendersResponse>> getLikedTenders({
int offset = 0,
int limit = 20,
required TenderFeedbackRequestModel requestModel,
}) async {
final uri = '${LikedTendersApi.likedTenders}&limit=$limit&offset=$offset';
final uri = LikedTendersApi.getTendersFeedback(
limit: requestModel.limit,
offset: requestModel.offset,
feedbackType: requestModel.feedbackType,
dateFrom: requestModel.dateFrom,
dateTo: requestModel.dateTo,
);
final result = await _networkManager.makeRequest(
uri,
@@ -0,0 +1,15 @@
class TenderFeedbackRequestModel {
final String feedbackType;
final String dateFrom;
final String dateTo;
final int limit;
final int offset;
TenderFeedbackRequestModel({
required this.feedbackType,
this.dateFrom = '',
this.dateTo = '',
this.limit = 10,
this.offset = 0,
});
}
@@ -1,6 +1,5 @@
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';
@@ -48,25 +47,4 @@ 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;
}
}