Files
tm_app/lib/data/services/liked_tenders_service.dart
T
AmirReza Jamali 72881df210
continuous-integration/drone/push Build encountered an error
Implement tender workflows and dashboard integration
2026-07-14 11:12:09 +03:30

43 lines
1.5 KiB
Dart

import 'package:tm_app/core/utils/result.dart';
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})
: _networkManager = networkManager;
final NetworkManager _networkManager;
Future<Result<LikedTendersResponse>> getLikedTenders({
required TenderFeedbackRequestModel requestModel,
}) async {
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, (json) {
// Feedback pagination is returned at the envelope root, while the
// legacy app model stores it beside data.feedback.
final normalized = Map<String, dynamic>.from(json);
final data = normalized['data'];
final meta = normalized['meta'];
if (data is Map && meta is Map) {
normalized['data'] = {
...Map<String, dynamic>.from(data),
'meta': Map<String, dynamic>.from(meta),
};
}
return LikedTendersResponse.fromJson(normalized);
}, method: 'GET');
return result;
}
}