Add drf-spectacular parameter/response schema for meal plan retrieve ical API

This commit is contained in:
c0mputerguru
2024-03-18 17:41:12 +00:00
committed by smilerz
parent e02594ba83
commit 15b38241da

View File

@@ -33,6 +33,7 @@ from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
from django_scopes import scopes_disabled from django_scopes import scopes_disabled
from drf_spectacular.types import OpenApiTypes
from drf_spectacular.utils import extend_schema, OpenApiParameter, extend_schema_view from drf_spectacular.utils import extend_schema, OpenApiParameter, extend_schema_view
from icalendar import Calendar, Event from icalendar import Calendar, Event
from oauth2_provider.models import AccessToken from oauth2_provider.models import AccessToken
@@ -765,13 +766,19 @@ class RecipeBookEntryViewSet(viewsets.ModelViewSet, viewsets.GenericViewSet):
return queryset return queryset
MealPlanViewQueryParameters = [
OpenApiParameter(name='from_date', description=_('Filter meal plans from date (inclusive) in the format of YYYY-MM-DD.'), type=str),
OpenApiParameter(name='to_date', description=_('Filter meal plans to date (inclusive) in the format of YYYY-MM-DD.'), type=str),
OpenApiParameter(name='meal_type', description=_('Filter meal plans with MealType ID. For multiple repeat parameter.'), type=str),
]
@extend_schema_view( @extend_schema_view(
list=extend_schema( list=extend_schema(
parameters=[ parameters= MealPlanViewQueryParameters
OpenApiParameter(name='from_date', description=_('Filter meal plans from date (inclusive) in the format of YYYY-MM-DD.'), type=str), ),
OpenApiParameter(name='to_date', description=_('Filter meal plans to date (inclusive) in the format of YYYY-MM-DD.'), type=str), ical=extend_schema(
OpenApiParameter(name='meal_type', description=_('Filter meal plans with MealType ID. For multiple repeat parameter.'), type=str), parameters=MealPlanViewQueryParameters,
] responses={(200, 'text/calendar'): OpenApiTypes.STR}
) )
) )
class MealPlanViewSet(viewsets.ModelViewSet): class MealPlanViewSet(viewsets.ModelViewSet):