Files
tm_app/lib/data/repositories/tenders_repository.dart
T
AmirReza Jamali ae08b946f6 Refactor tenders pagination and enhance API integration
- Updated TendersRepository and TendersService to support cursor-based pagination.
- Modified TendersViewModel to manage pagination state and handle API responses more effectively.
- Replaced existing pagination UI components with a new WindowedPagination widget across desktop, mobile, and tablet views.
- Improved notification handling in the UI to reflect the presence of notifications dynamically.
- Adjusted main tenders slider to ensure proper rendering based on the current page index.
2026-05-26 18:30:46 +03:30

70 lines
2.1 KiB
Dart

import 'package:tm_app/core/utils/result.dart';
import 'package:tm_app/data/services/model/feedback_response/feedback_response.dart';
import 'package:tm_app/data/services/model/tender_approvals_toggle_response/tender_approvals_toggle_response.dart';
import 'package:tm_app/data/services/model/tenders/tenders_response/tenders_response.dart';
import 'package:tm_app/data/services/tenders_service.dart';
import '../services/model/tender_approvals_by_id_response/tender_approvals_by_id_response.dart';
class TendersRepository {
TendersRepository({required TendersService tendersService})
: _tendersService = tendersService;
final TendersService _tendersService;
Future<Result<TendersResponse>> getTenders({
required int limit,
int? offset,
String? cursor,
String? query,
String? sortBy,
String? sortOrder,
String? publicationDateFrom,
String? publicationDateTo,
}) async {
return _tendersService.getTenders(
limit: limit,
offset: offset,
cursor: cursor,
query: query,
sortBy: sortBy,
sortOrder: sortOrder,
publicationDateFrom: publicationDateFrom,
publicationDateTo: publicationDateTo,
);
}
Future<Result<FeedbackResponse>> getTenderFeedback({
required String tenderId,
}) async {
return _tendersService.getTenderFeedback(tenderId: tenderId);
}
Future<Result<FeedbackResponse>> toggleFeedback({
required String tenderId,
required String feedbackType,
}) async {
return _tendersService.toggleFeedback(
tenderId: tenderId,
feedbackType: feedbackType,
);
}
Future<Result<TenderApprovalsToggleResponse>> toggleApprovals({
required String tenderId,
required String submissionMode,
required String status,
}) async {
return _tendersService.toggleApprovals(
tenderId: tenderId,
submissionMode: submissionMode,
status: status,
);
}
Future<Result<TenderApprovalsByIdResponse>> getTenderApprovals({
required String tenderId,
}) async {
return _tendersService.getTenderApprovalsById(tenderId: tenderId);
}
}