
    >Tf                         d dl mZ d dlmZ d dlT d dlmZ d dlmZ d dl	m
Z
mZ d dlmZ d dlmZ d d	lmZ d
Z G d de          ZdS )    )extend_schema_field)serializers)*)ObjectChange)SerializerNotFound)ChoiceFieldContentTypeField)BaseModelSerializer)UserSerializer)get_serializer_for_model)ObjectChangeSerializerc                   (   e Zd Z edd          Z eed          Z ed          Z	 e
j        d          Z e
j        ddd          Z e
j        ddd          Z G d d	          Z e e
j        d
                    d             ZdS )r   T)nested	read_only)choicesr   )r   prechange_data_clean)sourcer   
allow_nullpostchange_data_cleanc                       e Zd ZeZg dZdS )ObjectChangeSerializer.Meta)idurldisplay_urldisplaytimeuser	user_name
request_idactionchanged_object_typechanged_object_idchanged_objectprechange_datapostchange_dataN)__name__
__module____qualname__r   modelfields     I/var/www/html/netbox-4.1.3/netbox/core/api/serializers_/change_logging.pyMetar   +   s$        
 
 
r,   r.   )r   c                     |j         dS 	 t          |j                   }n# t          $ r
 |j        cY S w xY w ||j         dd| j        d         i          j        }|S )zJ
        Serialize a nested representation of the changed object.
        NTrequest)r   context)r#   r   r   object_reprr1   data)selfobj
serializerr3   s       r-   get_changed_objectz)ObjectChangeSerializer.get_changed_object2   s    
 %4	#1#2DEEJJ! 	# 	# 	#?"""	#z#,TIt|\eOfCghhhms     44N)r&   r'   r(   r   r   r   ObjectChangeActionChoicesr    r	   r!   r   SerializerMethodFieldr#   	JSONFieldr$   r%   r.   r   r7   r+   r,   r-   r   r      s2       >  D [)  F +*   7[6  N +[*%  N
 ,k+&  O
 
 
 
 
 
 
 
 ..$???@@  A@  r,   r   N)drf_spectacular.utilsr   rest_frameworkr   core.choicescore.modelsr   netbox.api.exceptionsr   netbox.api.fieldsr   r	   netbox.api.serializersr
   users.api.serializers_.usersr   utilities.apir   __all__r   r+   r,   r-   <module>rE      s    5 5 5 5 5 5 & & & & & &     $ $ $ $ $ $ 4 4 4 4 4 4 ; ; ; ; ; ; ; ; 6 6 6 6 6 6 7 7 7 7 7 7 2 2 2 2 2 2
/ / / / /0 / / / / /r,   