1+ from django .conf import settings
12from django .utils .translation import gettext_lazy as _
23from rest_framework .response import Response
34
@@ -17,9 +18,23 @@ class FeatureFlagsStateListView(AnsibleBaseView):
1718 name = _ ('Feature Flags' )
1819 http_method_names = ['get' , 'head' ]
1920
20- def get (self , request , format = None ):
21+ def _get (self , request , format = None ):
2122 self .serializer = FeatureFlagSerializer ()
2223 return Response (self .serializer .to_representation ())
2324
2425 def get_queryset (self ):
2526 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