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> 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.from(json); final data = normalized['data']; final meta = normalized['meta']; if (data is Map && meta is Map) { normalized['data'] = { ...Map.from(data), 'meta': Map.from(meta), }; } return LikedTendersResponse.fromJson(normalized); }, method: 'GET'); return result; } }