search logic added to desktop tenders
This commit is contained in:
@@ -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({
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user