import 'package:tm_app/core/utils/result.dart'; import 'package:tm_app/data/services/liked_tenders_service.dart'; import 'package:tm_app/data/services/model/liked_tenders_response/liked_tenders_response.dart'; import 'package:tm_app/data/services/model/request_models/get_tenders_request_model/get_tenders_request_model.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'; import 'package:tm_app/data/services/tender_submissions_service.dart'; import 'package:tm_app/data/services/model/tender_submission/tender_submission.dart'; import '../services/model/request_models/tender_feedback_request_model/tender_feedback_request_model.dart'; class YourTendersRepository { final YourTendersService _yourTendersService; final LikedTendersService _likedTendersService; final TenderSubmissionsService _tenderSubmissionsService; YourTendersRepository({ required YourTendersService yourTendersService, required LikedTendersService likedTendersService, required TenderSubmissionsService tenderSubmissionsService, }) : _yourTendersService = yourTendersService, _likedTendersService = likedTendersService, _tenderSubmissionsService = tenderSubmissionsService; Future> getTenders({ required GetTendersRequestModel requestModel, }) { return _yourTendersService.getTenders(requestModel: requestModel); } Future> getTendersFeedback({ required TenderFeedbackRequestModel requestModel, }) { return _likedTendersService.getLikedTenders(requestModel: requestModel); } Future> getSubmissions({ required String stage, int limit = 20, int offset = 0, }) => _tenderSubmissionsService.getSubmissions( stages: [stage], limit: limit, offset: offset, ); Future> getSubmissionById(String id) => _tenderSubmissionsService.getById(id); Future> getSubmissionByTender( String tenderId, ) => _tenderSubmissionsService.getByTender(tenderId); Future> ensureSubmission( String tenderId, { String? companyId, }) => _tenderSubmissionsService.ensure(tenderId, companyId: companyId); Future> updateSubmissionStatus({ required String id, required String status, String? reason, String? description, }) => _tenderSubmissionsService.updateStatus( id: id, status: status, reason: reason, description: description, ); Future> getSubmissionStats() => _tenderSubmissionsService.getStats(); }