15156 review changes

This commit is contained in:
Arthur Hanson 2024-06-14 12:07:44 -07:00
parent 2f31c7ab55
commit f3dbde984f
3 changed files with 10 additions and 14 deletions

View File

@ -32,7 +32,6 @@ __all__ = (
class ConsolePortTemplateSerializer(ValidatedModelSerializer): class ConsolePortTemplateSerializer(ValidatedModelSerializer):
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:consoleporttemplate-detail')
display_url = serializers.CharField(allow_null=True, read_only=True) display_url = serializers.CharField(allow_null=True, read_only=True)
device_type = DeviceTypeSerializer( device_type = DeviceTypeSerializer(
nested=True, nested=True,
@ -62,7 +61,6 @@ class ConsolePortTemplateSerializer(ValidatedModelSerializer):
class ConsoleServerPortTemplateSerializer(ValidatedModelSerializer): class ConsoleServerPortTemplateSerializer(ValidatedModelSerializer):
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:consoleserverporttemplate-detail')
display_url = serializers.CharField(allow_null=True, read_only=True) display_url = serializers.CharField(allow_null=True, read_only=True)
device_type = DeviceTypeSerializer( device_type = DeviceTypeSerializer(
nested=True, nested=True,
@ -92,7 +90,6 @@ class ConsoleServerPortTemplateSerializer(ValidatedModelSerializer):
class PowerPortTemplateSerializer(ValidatedModelSerializer): class PowerPortTemplateSerializer(ValidatedModelSerializer):
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:powerporttemplate-detail')
display_url = serializers.CharField(allow_null=True, read_only=True) display_url = serializers.CharField(allow_null=True, read_only=True)
device_type = DeviceTypeSerializer( device_type = DeviceTypeSerializer(
nested=True, nested=True,
@ -123,7 +120,6 @@ class PowerPortTemplateSerializer(ValidatedModelSerializer):
class PowerOutletTemplateSerializer(ValidatedModelSerializer): class PowerOutletTemplateSerializer(ValidatedModelSerializer):
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:poweroutlettemplate-detail')
display_url = serializers.CharField(allow_null=True, read_only=True) display_url = serializers.CharField(allow_null=True, read_only=True)
device_type = DeviceTypeSerializer( device_type = DeviceTypeSerializer(
nested=True, nested=True,
@ -165,7 +161,6 @@ class PowerOutletTemplateSerializer(ValidatedModelSerializer):
class InterfaceTemplateSerializer(ValidatedModelSerializer): class InterfaceTemplateSerializer(ValidatedModelSerializer):
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:interfacetemplate-detail')
display_url = serializers.CharField(allow_null=True, read_only=True) display_url = serializers.CharField(allow_null=True, read_only=True)
device_type = DeviceTypeSerializer( device_type = DeviceTypeSerializer(
nested=True, nested=True,
@ -213,7 +208,6 @@ class InterfaceTemplateSerializer(ValidatedModelSerializer):
class RearPortTemplateSerializer(ValidatedModelSerializer): class RearPortTemplateSerializer(ValidatedModelSerializer):
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:rearporttemplate-detail')
display_url = serializers.CharField(allow_null=True, read_only=True) display_url = serializers.CharField(allow_null=True, read_only=True)
device_type = DeviceTypeSerializer( device_type = DeviceTypeSerializer(
required=False, required=False,
@ -239,7 +233,6 @@ class RearPortTemplateSerializer(ValidatedModelSerializer):
class FrontPortTemplateSerializer(ValidatedModelSerializer): class FrontPortTemplateSerializer(ValidatedModelSerializer):
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:frontporttemplate-detail')
display_url = serializers.CharField(allow_null=True, read_only=True) display_url = serializers.CharField(allow_null=True, read_only=True)
device_type = DeviceTypeSerializer( device_type = DeviceTypeSerializer(
nested=True, nested=True,
@ -266,7 +259,6 @@ class FrontPortTemplateSerializer(ValidatedModelSerializer):
class ModuleBayTemplateSerializer(ValidatedModelSerializer): class ModuleBayTemplateSerializer(ValidatedModelSerializer):
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:modulebaytemplate-detail')
display_url = serializers.CharField(allow_null=True, read_only=True) display_url = serializers.CharField(allow_null=True, read_only=True)
device_type = DeviceTypeSerializer( device_type = DeviceTypeSerializer(
nested=True nested=True
@ -282,7 +274,6 @@ class ModuleBayTemplateSerializer(ValidatedModelSerializer):
class DeviceBayTemplateSerializer(ValidatedModelSerializer): class DeviceBayTemplateSerializer(ValidatedModelSerializer):
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:devicebaytemplate-detail')
display_url = serializers.CharField(allow_null=True, read_only=True) display_url = serializers.CharField(allow_null=True, read_only=True)
device_type = DeviceTypeSerializer( device_type = DeviceTypeSerializer(
nested=True nested=True
@ -298,7 +289,6 @@ class DeviceBayTemplateSerializer(ValidatedModelSerializer):
class InventoryItemTemplateSerializer(ValidatedModelSerializer): class InventoryItemTemplateSerializer(ValidatedModelSerializer):
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:inventoryitemtemplate-detail')
display_url = serializers.CharField(allow_null=True, read_only=True) display_url = serializers.CharField(allow_null=True, read_only=True)
device_type = DeviceTypeSerializer( device_type = DeviceTypeSerializer(
nested=True nested=True

View File

@ -1,6 +1,7 @@
import hashlib import hashlib
import hmac import hmac
import logging import logging
import json
import requests import requests
from django.conf import settings from django.conf import settings
@ -79,6 +80,11 @@ def send_webhook(event_rule, model_name, event, data, timestamp, username, reque
logger.error(f"Error forming HTTP request: {e}") logger.error(f"Error forming HTTP request: {e}")
raise e raise e
print('--- data ---')
print(json.dumps(data, indent=4))
print('--- snapshots ---')
print(json.dumps(snapshots, indent=4))
print("")
# If a secret key is defined, sign the request with a hash of the key and its content # If a secret key is defined, sign the request with a hash of the key and its content
if webhook.secret != '': if webhook.secret != '':
prepared_request.headers['X-Hook-Signature'] = generate_signature(prepared_request.body, webhook.secret) prepared_request.headers['X-Hook-Signature'] = generate_signature(prepared_request.body, webhook.secret)

View File

@ -13,7 +13,7 @@ __all__ = (
) )
class NetBoxApiHyperlinkedIdentityField(serializers.HyperlinkedIdentityField): class NetBoxAPIHyperlinkedIdentityField(serializers.HyperlinkedIdentityField):
def __init__(self, model, **kwargs): def __init__(self, model, **kwargs):
model_name = model._meta.model_name model_name = model._meta.model_name
@ -22,7 +22,7 @@ class NetBoxApiHyperlinkedIdentityField(serializers.HyperlinkedIdentityField):
super().__init__(view_name, **kwargs) super().__init__(view_name, **kwargs)
class NetBoxUrlHyperlinkedIdentityField(serializers.HyperlinkedIdentityField): class NetBoxURLHyperlinkedIdentityField(serializers.HyperlinkedIdentityField):
def __init__(self, model, **kwargs): def __init__(self, model, **kwargs):
model_name = model._meta.model_name model_name = model._meta.model_name
@ -59,11 +59,11 @@ class BaseModelSerializer(serializers.ModelSerializer):
# don't override the field if the class already defines these so can set lookup_field # don't override the field if the class already defines these so can set lookup_field
if ("url" in self.fields and not isinstance(self.fields["url"], serializers.HyperlinkedIdentityField) and if ("url" in self.fields and not isinstance(self.fields["url"], serializers.HyperlinkedIdentityField) and
isinstance(self.fields["url"], serializers.RelatedField)): isinstance(self.fields["url"], serializers.RelatedField)):
self.fields["url"] = NetBoxApiHyperlinkedIdentityField(self.Meta.model) self.fields["url"] = NetBoxAPIHyperlinkedIdentityField(self.Meta.model)
if ("display_url" in self.fields and not if ("display_url" in self.fields and not
isinstance(self.fields["display_url"], serializers.HyperlinkedIdentityField) and isinstance(self.fields["display_url"], serializers.HyperlinkedIdentityField) and
isinstance(self.fields["display_url"], serializers.RelatedField)): isinstance(self.fields["display_url"], serializers.RelatedField)):
self.fields["display_url"] = NetBoxUrlHyperlinkedIdentityField(self.Meta.model) self.fields["display_url"] = NetBoxURLHyperlinkedIdentityField(self.Meta.model)
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)