refactor(core): move get_url to common serializer

reduces duplicated code

ref: #602 #605
This commit is contained in:
2025-02-16 02:44:31 +09:30
parent 460bf40175
commit 7cd4cb965b
29 changed files with 158 additions and 575 deletions

View File

@ -64,16 +64,9 @@ class ConfigGroupModelSerializer(
def get_url(self, item) -> dict:
request = None
get_url = super().get_url( item = item )
if 'view' in self._context:
if hasattr(self._context['view'], 'request'):
request = self._context['view'].request
return {
'_self': item.get_url( request = request ),
get_url.update({
'child_groups': reverse(
'v2:_api_v2_config_group_child-list',
request = self.context['view'].request,
@ -92,21 +85,6 @@ class ConfigGroupModelSerializer(
'config_group_id': item.pk
}
),
'notes': reverse(
"v2:_api_v2_config_group_note-list",
request=self._context['view'].request,
kwargs={
'model_id': item.pk
}
),
'knowledge_base': reverse(
"v2:_api_v2_model_kb-list",
request=self._context['view'].request,
kwargs={
'model': self.Meta.model._meta.model_name,
'model_pk': item.pk
}
),
'organization': reverse(
'v2:_api_v2_organization-list',
request=self.context['view'].request,
@ -123,7 +101,10 @@ class ConfigGroupModelSerializer(
'item_id': item.pk
}
),
}
})
return get_url
rendered_config = serializers.JSONField( source = 'render_config', read_only=True )

View File

@ -60,14 +60,22 @@ class ConfigGroupSoftwareModelSerializer(
def get_url(self, item) -> dict:
return {
'_self': item.get_url( request = self._context['view'].request ),
get_url = super().get_url( item = item )
del get_url['history']
del get_url['knowledge_base']
del get_url['notes']
get_url.update({
'organization': reverse(
'v2:_api_v2_organization-list',
request=self.context['view'].request,
),
'softwareversion': 'ToDo',
}
})
return get_url
class Meta: