Skip to content

Commit 3385e07

Browse files
committed
add optional open api html parameter
1 parent 691bcb6 commit 3385e07

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

djangocms_rest/views.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,26 @@
1717
from djangocms_rest.views_base import BaseAPIView, BaseListAPIView
1818
from rest_framework.permissions import IsAdminUser
1919

20+
try:
21+
from drf_spectacular.utils import extend_schema, OpenApiParameter
22+
from drf_spectacular.types import OpenApiTypes
23+
24+
extend_placeholder_schema = extend_schema(
25+
parameters=[
26+
OpenApiParameter(
27+
name='html',
28+
type=OpenApiTypes.INT,
29+
location=OpenApiParameter.QUERY,
30+
description='Set to 1 to include HTML rendering in response',
31+
required=False,
32+
enum=[1]
33+
)
34+
]
35+
)
36+
except ImportError:
37+
def extend_placeholder_schema(func):
38+
return func
39+
2040

2141
class LanguageListView(BaseAPIView):
2242
serializer_class = LanguageSerializer
@@ -113,6 +133,8 @@ class PlaceholderDetailView(BaseAPIView):
113133
serializer_class = PlaceholderSerializer
114134
permission_classes = [CanViewPageContent]
115135

136+
@extend_placeholder_schema
137+
116138
def get(self, request: Request, language: str, content_type_id: int, object_id: int, slot: str) -> Response:
117139
"""Placeholder contain the dynamic content. This view retrieves the content as a
118140
structured nested object.
@@ -152,6 +174,8 @@ class PreviewPlaceholderDetailView(BaseAPIView):
152174
serializer_class = PlaceholderSerializer
153175
permission_classes = [IsAdminUser, CanViewPage]
154176

177+
@extend_placeholder_schema
178+
155179
def get(self, request: Request, language: str, content_type_id: int, object_id: int, slot: str) -> Response:
156180
"""Placeholder contain the dynamic content. This view retrieves the content as a
157181
structured nested object.

0 commit comments

Comments
 (0)