refactor(core): move get_url to common serializer
reduces duplicated code ref: #602 #605
This commit is contained in:
@ -52,32 +52,10 @@ class ClusterModelSerializer(
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
get_url.update({
|
||||
'external_links': reverse("v2:_api_v2_external_link-list", request=self._context['view'].request) + '?cluster=true',
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'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
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_cluster_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'service': reverse("v2:_api_v2_service_cluster-list", request=self._context['view'].request, kwargs={'cluster_id': item.pk}),
|
||||
'tickets': reverse(
|
||||
"v2:_api_v2_item_tickets-list",
|
||||
@ -87,7 +65,10 @@ class ClusterModelSerializer(
|
||||
'item_id': item.pk
|
||||
}
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
|
||||
rendered_config = serializers.JSONField( read_only = True)
|
||||
|
@ -49,35 +49,6 @@ class ClusterTypeModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'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
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_cluster_type_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
|
@ -52,35 +52,6 @@ class PortModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'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
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_port_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
|
@ -54,32 +54,10 @@ class ServiceModelSerializer(
|
||||
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request ),
|
||||
get_url = super().get_url( item = item )
|
||||
|
||||
get_url.update({
|
||||
'external_links': reverse("v2:_api_v2_external_link-list", request=self._context['view'].request) + '?service=true',
|
||||
'history': reverse(
|
||||
"v2:_api_v2_model_history-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_class': self.Meta.model._meta.model_name,
|
||||
'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
|
||||
}
|
||||
),
|
||||
'notes': reverse(
|
||||
"v2:_api_v2_service_note-list",
|
||||
request=self._context['view'].request,
|
||||
kwargs={
|
||||
'model_id': item.pk
|
||||
}
|
||||
),
|
||||
'tickets': reverse(
|
||||
"v2:_api_v2_item_tickets-list",
|
||||
request=self._context['view'].request,
|
||||
@ -88,7 +66,10 @@ class ServiceModelSerializer(
|
||||
'item_id': item.pk
|
||||
}
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
return get_url
|
||||
|
||||
|
||||
|
||||
rendered_config = serializers.JSONField( source='config_variables', read_only = True )
|
||||
|
Reference in New Issue
Block a user