plans filters ready

This commit is contained in:
Username1548
2024-12-16 20:31:23 +07:00
parent 067b10ed7f
commit 27241aebac
45 changed files with 1806 additions and 657 deletions

View File

@@ -37,6 +37,11 @@ abstract class FeedService {
@GET('/api/plans/index')
Future<PlanPaginationModel> getPlans({
@Query('page') required int page,
@Query('filters[name][\$startsWith]') String? query,
@Query('filters[type][\$contains]') String? types,
@Query('filters[duration][\$eq]') int? duration,
@Query('filters[min_price_of_options][\$between][0]') int? minPrice,
@Query('filters[min_price_of_options][\$between][1]') int? maxPrice,
});
@GET('/api/blogPosts/{id}/comments/show')

View File

@@ -150,9 +150,24 @@ class _FeedService implements FeedService {
}
@override
Future<PlanPaginationModel> getPlans({required int page}) async {
Future<PlanPaginationModel> getPlans({
required int page,
String? query,
String? types,
int? duration,
int? minPrice,
int? maxPrice,
}) async {
final _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{r'page': page};
final queryParameters = <String, dynamic>{
r'page': page,
r'filters[name][$startsWith]': query,
r'filters[type][$contains]': types,
r'filters[duration][$eq]': duration,
r'filters[min_price_of_options][$between][0]': minPrice,
r'filters[min_price_of_options][$between][1]': maxPrice,
};
queryParameters.removeWhere((k, v) => v == null);
final _headers = <String, dynamic>{};
const Map<String, dynamic>? _data = null;
final _options = _setStreamType<PlanPaginationModel>(Options(