diff --git a/cookbook/views/api.py b/cookbook/views/api.py index 6a1279a83..c5c324d03 100644 --- a/cookbook/views/api.py +++ b/cookbook/views/api.py @@ -1453,7 +1453,8 @@ class RecipeViewSet(LoggingMixin, viewsets.ModelViewSet): @extend_schema_view(list=extend_schema( - parameters=[OpenApiParameter(name='food_id', description='ID of food to filter for', type=int), ])) + parameters=[OpenApiParameter(name='food_id', description='ID of food to filter for', type=int), + OpenApiParameter(name='query', description='query that looks into food, base unit or converted unit by name', type=str), ])) class UnitConversionViewSet(LoggingMixin, viewsets.ModelViewSet): queryset = UnitConversion.objects serializer_class = UnitConversionSerializer @@ -1465,6 +1466,10 @@ class UnitConversionViewSet(LoggingMixin, viewsets.ModelViewSet): if food_id is not None: self.queryset = self.queryset.filter(food_id=food_id) + query = self.request.query_params.get('query', None) + if query is not None: + self.queryset = self.queryset.filter(Q(food__name__icontains=query) | Q(base_unit__name__icontains=query) | Q(converted_unit__name__icontains=query)) + return self.queryset.filter(space=self.request.space) diff --git a/vue3/src/openapi/apis/ApiApi.ts b/vue3/src/openapi/apis/ApiApi.ts index 05c80605f..ade8c4a98 100644 --- a/vue3/src/openapi/apis/ApiApi.ts +++ b/vue3/src/openapi/apis/ApiApi.ts @@ -1941,6 +1941,7 @@ export interface ApiUnitConversionListRequest { foodId?: number; page?: number; pageSize?: number; + query?: string; } export interface ApiUnitConversionPartialUpdateRequest { @@ -14492,6 +14493,10 @@ export class ApiApi extends runtime.BaseAPI { queryParameters['page_size'] = requestParameters['pageSize']; } + if (requestParameters['query'] != null) { + queryParameters['query'] = requestParameters['query']; + } + const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) {