@ -1,41 +0,0 @@
|
||||
from core.serializers.model_notes import (
|
||||
ModelNoteBaseSerializer,
|
||||
ModelNoteModelSerializer,
|
||||
ModelNoteViewSerializer
|
||||
)
|
||||
|
||||
from config_management.models.config_group_notes import ConfigGroupNotes
|
||||
|
||||
|
||||
|
||||
class ConfigGroupNoteBaseSerializer(ModelNoteBaseSerializer):
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class ConfigGroupNoteModelSerializer(
|
||||
ModelNoteModelSerializer
|
||||
):
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
model = ConfigGroupNotes
|
||||
|
||||
fields = ModelNoteModelSerializer.Meta.fields + [
|
||||
'model',
|
||||
]
|
||||
|
||||
read_only_fields = ModelNoteModelSerializer.Meta.read_only_fields + [
|
||||
'model',
|
||||
'content_type',
|
||||
]
|
||||
|
||||
|
||||
|
||||
class ConfigGroupNoteViewSerializer(
|
||||
ModelNoteViewSerializer,
|
||||
ConfigGroupNoteModelSerializer,
|
||||
):
|
||||
|
||||
pass
|
@ -3,7 +3,6 @@ from centurion_feature_flag.urls.routers import DefaultRouter
|
||||
from config_management.viewsets import (
|
||||
index as config_management_v2,
|
||||
config_group as config_group_v2,
|
||||
config_group_notes,
|
||||
config_group_software as config_group_software_v2
|
||||
)
|
||||
|
||||
@ -26,10 +25,6 @@ router.register(
|
||||
prefix = 'group/(?P<parent_group>[0-9]+)/child_group', viewset = config_group_v2.ViewSet,
|
||||
basename = '_api_v2_config_group_child'
|
||||
)
|
||||
router.register(
|
||||
prefix = 'group/(?P<model_id>[0-9]+)/notes', viewset = config_group_notes.ViewSet,
|
||||
basename = '_api_v2_config_group_note'
|
||||
)
|
||||
router.register(
|
||||
prefix = 'group/(?P<config_group_id>[0-9]+)/software',
|
||||
viewset = config_group_software_v2.ViewSet,
|
||||
|
@ -1,60 +0,0 @@
|
||||
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiResponse
|
||||
|
||||
from config_management.serializers.config_group_notes import (
|
||||
ConfigGroupNotes,
|
||||
ConfigGroupNoteModelSerializer,
|
||||
ConfigGroupNoteViewSerializer
|
||||
)
|
||||
|
||||
from core.viewsets.model_notes import ModelNoteViewSet
|
||||
|
||||
|
||||
|
||||
@extend_schema_view(
|
||||
create=extend_schema(
|
||||
summary = 'Add a note to a config group',
|
||||
description = '',
|
||||
responses = {
|
||||
201: OpenApiResponse(description='created', response=ConfigGroupNoteViewSerializer),
|
||||
400: OpenApiResponse(description='Validation failed.'),
|
||||
403: OpenApiResponse(description='User is missing create permissions'),
|
||||
}
|
||||
),
|
||||
destroy = extend_schema(
|
||||
summary = 'Delete a config group note',
|
||||
description = ''
|
||||
),
|
||||
list = extend_schema(
|
||||
summary = 'Fetch all config group notes',
|
||||
description='',
|
||||
),
|
||||
retrieve = extend_schema(
|
||||
summary = 'Fetch a single config group note',
|
||||
description='',
|
||||
),
|
||||
update = extend_schema(exclude = True),
|
||||
partial_update = extend_schema(
|
||||
summary = 'Update a config group note',
|
||||
description = ''
|
||||
),
|
||||
)
|
||||
class ViewSet(ModelNoteViewSet):
|
||||
|
||||
model = ConfigGroupNotes
|
||||
|
||||
|
||||
def get_serializer_class(self):
|
||||
|
||||
if (
|
||||
self.action == 'list'
|
||||
or self.action == 'retrieve'
|
||||
):
|
||||
|
||||
self.serializer_class = ConfigGroupNoteViewSerializer
|
||||
|
||||
|
||||
else:
|
||||
|
||||
self.serializer_class = ConfigGroupNoteModelSerializer
|
||||
|
||||
return self.serializer_class
|
Reference in New Issue
Block a user