search logic added to desktop tenders

This commit is contained in:
amirrezaghabeli
2025-09-22 09:28:09 +03:30
parent 2e2718a92e
commit f70229ab30
9 changed files with 200 additions and 51 deletions
@@ -14,8 +14,13 @@ class TendersRepository {
Future<Result<TendersResponse>> getTenders({
required int limit,
required int offset,
String? query,
}) async {
return _tendersService.getTenders(limit: limit, offset: offset);
return _tendersService.getTenders(
limit: limit,
offset: offset,
query: query,
);
}
Future<Result<FeedbackResponse>> getTenderFeedback({
+10 -2
View File
@@ -1,7 +1,15 @@
class TendersApi {
static const String tenders = '/api/v1/tenders';
static String getTenders({required int limit, required int offset}) {
return '$tenders?limit=$limit&offset=$offset';
static String getTenders({
required int limit,
required int offset,
String? query,
}) {
String url = '$tenders?limit=$limit&offset=$offset';
if (query != null && query.isNotEmpty) {
url += '&q=${Uri.encodeComponent(query)}';
}
return url;
}
static const String feedbackTender = '/api/v1/feedback/tender';
@@ -2,7 +2,6 @@
import 'package:freezed_annotation/freezed_annotation.dart';
import '../../meta/meta.dart';
import '../../tender_data/tender_data.dart';
part 'tenders_data.freezed.dart';
@@ -10,9 +9,8 @@ part 'tenders_data.g.dart';
@freezed
abstract class TendersData with _$TendersData {
const factory TendersData({
required List<TenderData>? tenders,
}) = _TendersData;
const factory TendersData({required List<TenderData>? tenders}) =
_TendersData;
factory TendersData.fromJson(Map<String, Object?> json) =>
_$TendersDataFromJson(json);
+2 -1
View File
@@ -17,9 +17,10 @@ class TendersService {
Future<Result<TendersResponse>> getTenders({
required int limit,
required int offset,
String? query,
}) async {
final result = await _networkManager.makeRequest(
TendersApi.getTenders(limit: limit, offset: offset),
TendersApi.getTenders(limit: limit, offset: offset, query: query),
method: 'GET',
(json) => TendersResponse.fromJson(json),
);