
    >Tf                     `    d dl mZ d dlmZ d dlmZ d dlmZ dZ G d dej	                  Z
dS )	    )OpenApiTypes)extend_schema_field)serializers)get_serializer_for_model)ConnectedEndpointsSerializerc                   $   e Zd ZdZ ej        dd          Z ej        d          Z ej        d          Z e	e
j                  d             Z e	 ej        d                    d             Z e	ej                  d             Zd	S )
r   z4
    Legacy serializer for pre-v3.3 connections
    T)	read_only
allow_null)r	   c                 f    |j         x}r'|d         j        j         d|d         j        j         S d S )Nr   .)connected_endpoints_meta	app_label
model_name)selfobj	endpointss      ?/var/www/html/netbox-4.1.3/netbox/dcim/api/serializers_/base.pyget_connected_endpoints_typez9ConnectedEndpointsSerializer.get_connected_endpoints_type   sG    //9 	Ul(2TTYq\5G5RTTT	U 	U    )r
   c                     |j         x}r8t          |d                   }d| j        d         i} ||dd|          j        S dS )zU
        Return the appropriate serializer for the type of connected object.
        r   requestT)nestedmanycontextN)r   r   r   data)r   r   r   
serializerr   s        r   get_connected_endpointsz4ConnectedEndpointsSerializer.get_connected_endpoints   s_    
 //9 	W1)A,??J $,y"9:G:i4QQQVV	W 	Wr   c                 @    |j         o|j         j        o|j         j        S )N)_pathis_complete	is_active)r   r   s     r   !get_connected_endpoints_reachablez>ConnectedEndpointsSerializer.get_connected_endpoints_reachable#   s    yJSY2Jsy7JJr   N)__name__
__module____qualname____doc__r   SerializerMethodFieldconnected_endpoints_typer   connected_endpoints_reachabler   r   STRr   	ListFieldr   BooleanFieldr#    r   r   r   r      s           A{@4\`aaa;+;dKKK$EK$EPT$U$U$U!)**U U +*U ..$???@@W W A@W 122K K 32K K Kr   r   N)drf_spectacular.typesr   drf_spectacular.utilsr   rest_frameworkr   utilities.apir   __all__ModelSerializerr   r.   r   r   <module>r5      s    . . . . . . 5 5 5 5 5 5 & & & & & & 2 2 2 2 2 2
K K K K K;#> K K K K Kr   