1
+ from django .conf import settings
1
2
from django .utils .translation import gettext_lazy as _
2
3
from rest_framework .response import Response
3
4
@@ -17,9 +18,23 @@ class FeatureFlagsStateListView(AnsibleBaseView):
17
18
name = _ ('Feature Flags' )
18
19
http_method_names = ['get' , 'head' ]
19
20
20
- def get (self , request , format = None ):
21
+ def _get (self , request , format = None ):
21
22
self .serializer = FeatureFlagSerializer ()
22
23
return Response (self .serializer .to_representation ())
23
24
24
25
def get_queryset (self ):
25
26
return get_django_flags ()
27
+
28
+ # Conditionally add openapi documentation for feature flags
29
+ if 'ansible_base.api_documentation' in settings .INSTALLED_APPS :
30
+ from drf_spectacular .types import OpenApiTypes
31
+ from drf_spectacular .utils import OpenApiExample , extend_schema
32
+
33
+ @extend_schema (request = None , responses = OpenApiTypes .OBJECT , examples = [OpenApiExample (name = "featureflags" , value = {"FLAG1" : True , "FLAG2" : False })])
34
+ def get (self , request , format = None ):
35
+ return self ._get (request , format )
36
+
37
+ else :
38
+
39
+ def get (self , request , format = None ):
40
+ return self ._get (request , format )
0 commit comments