Files
tm_app/lib/data/repositories/your_tenders_repository.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

73 lines
2.7 KiB
Dart

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<Result<TenderApprovalsResponse>> getTenders({
required GetTendersRequestModel requestModel,
}) {
return _yourTendersService.getTenders(requestModel: requestModel);
}
Future<Result<LikedTendersResponse>> getTendersFeedback({
required TenderFeedbackRequestModel requestModel,
}) {
return _likedTendersService.getLikedTenders(requestModel: requestModel);
}
Future<Result<TenderSubmissionsResponse>> getSubmissions({
required String stage,
int limit = 20,
int offset = 0,
}) => _tenderSubmissionsService.getSubmissions(
stages: [stage],
limit: limit,
offset: offset,
);
Future<Result<TenderSubmissionResponse>> getSubmissionById(String id) =>
_tenderSubmissionsService.getById(id);
Future<Result<TenderSubmissionResponse>> getSubmissionByTender(
String tenderId,
) => _tenderSubmissionsService.getByTender(tenderId);
Future<Result<TenderSubmissionResponse>> ensureSubmission(
String tenderId, {
String? companyId,
}) => _tenderSubmissionsService.ensure(tenderId, companyId: companyId);
Future<Result<TenderSubmissionResponse>> updateSubmissionStatus({
required String id,
required String status,
String? reason,
String? description,
}) => _tenderSubmissionsService.updateStatus(
id: id,
status: status,
reason: reason,
description: description,
);
Future<Result<TenderSubmissionStatsResponse>> getSubmissionStats() =>
_tenderSubmissionsService.getStats();
}