73 lines
2.7 KiB
Dart
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();
|
|
}
|