|
17 | 17 | from djangocms_rest.views_base import BaseAPIView, BaseListAPIView |
18 | 18 | from rest_framework.permissions import IsAdminUser |
19 | 19 |
|
| 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 | + |
20 | 40 |
|
21 | 41 | class LanguageListView(BaseAPIView): |
22 | 42 | serializer_class = LanguageSerializer |
@@ -113,6 +133,8 @@ class PlaceholderDetailView(BaseAPIView): |
113 | 133 | serializer_class = PlaceholderSerializer |
114 | 134 | permission_classes = [CanViewPageContent] |
115 | 135 |
|
| 136 | + @extend_placeholder_schema |
| 137 | + |
116 | 138 | def get(self, request: Request, language: str, content_type_id: int, object_id: int, slot: str) -> Response: |
117 | 139 | """Placeholder contain the dynamic content. This view retrieves the content as a |
118 | 140 | structured nested object. |
@@ -152,6 +174,8 @@ class PreviewPlaceholderDetailView(BaseAPIView): |
152 | 174 | serializer_class = PlaceholderSerializer |
153 | 175 | permission_classes = [IsAdminUser, CanViewPage] |
154 | 176 |
|
| 177 | + @extend_placeholder_schema |
| 178 | + |
155 | 179 | def get(self, request: Request, language: str, content_type_id: int, object_id: int, slot: str) -> Response: |
156 | 180 | """Placeholder contain the dynamic content. This view retrieves the content as a |
157 | 181 | structured nested object. |
|
0 commit comments