
    >Tf                        d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
 d dlmZmZ d dlmZ d dlmZmZmZmZ d d	lmZ d
dlmZ dZ G d de          Z G d de          Z G d de          Z G d de          ZdS )    )ContentType)OpenApiTypes)extend_schema_field)serializers)ChoiceFieldContentTypeField)NestedGroupModelSerializerNetBoxModelSerializer)ContactPriorityChoices)ContactAssignmentContactContactGroupContactRole)get_serializer_for_model   )NestedContactGroupSerializer)ContactAssignmentSerializerContactGroupSerializerContactRoleSerializerContactSerializerc                   h    e Zd Z eddd          Z ej        dd          Z G d d          ZdS )	r   FTN)required
allow_nulldefaultr   )	read_onlyr   c                       e Zd ZeZg dZdZdS )ContactGroupSerializer.Meta)idurldisplay_urldisplaynameslugparentdescriptiontagscustom_fieldscreatedlast_updatedcontact_count_depth)r   r   r!   r"   r#   r%   r*   r+   N)__name__
__module____qualname__r   modelfieldsbrief_fields     F/var/www/html/netbox-4.1.3/netbox/tenancy/api/serializers_/contacts.pyMetar      s,        
 
 
 jr3   r5   )	r,   r-   r.   r   r$   r   IntegerFieldr*   r5   r2   r3   r4   r   r      su        ))5TSWXXXF,K,tQGGGMj j j j j j j j j jr3   r   c                   (    e Zd Z G d d          ZdS )r   c                       e Zd ZeZg dZdZdS )ContactRoleSerializer.Meta)r   r   r    r!   r"   r#   r%   r&   r'   r(   r)   )r   r   r!   r"   r#   r%   N)r,   r-   r.   r   r/   r0   r1   r2   r3   r4   r5   r9   $   s,        
 
 
 Or3   r5   N)r,   r-   r.   r5   r2   r3   r4   r   r   "   sF        O O O O O O O O O Or3   r   c                   F    e Zd Z edddd          Z G d d          ZdS )r   TFN)nestedr   r   r   c                       e Zd ZeZg dZdZdS )ContactSerializer.Meta)r   r   r    r!   groupr"   titlephoneemailaddresslinkr%   commentsr&   r'   r(   r)   )r   r   r!   r"   r%   N)r,   r-   r.   r   r/   r0   r1   r2   r3   r4   r5   r=   0   s,        
 
 
 Gr3   r5   )r,   r-   r.   r   r>   r5   r2   r3   r4   r   r   -   s`        ""$4Y]^^^EG G G G G G G G G Gr3   r   c                      e Zd Z eej                                                  Z ej	        d          Z
 ed          Z eddd          Z eeddd           Z G d	 d
          Z eej                  d             ZdS )r   )querysetT)r   )r;   F)r;   r   r   c                      dS )N r2   r2   r3   r4   <lambda>z$ContactAssignmentSerializer.<lambda>@   s    mo r3   )choicesallow_blankr   r   c                       e Zd ZeZg dZdZdS ) ContactAssignmentSerializer.Meta)r   r   r!   object_type	object_idobjectcontactrolepriorityr&   r'   r(   r)   )r   r   r!   rQ   rR   rS   N)r,   r-   r.   r   r/   r0   r1   r2   r3   r4   r5   rM   B   s,        !
 
 
 Or3   r5   c                     t          |j                                                  }d| j        d         i} ||j        d|          j        S )NrequestT)r;   context)r   rN   model_classrV   rP   data)selfinstance
serializerrV   s       r4   
get_objectz&ContactAssignmentSerializer.get_objectJ   sK    -h.B.N.N.P.PQQ
dl956z(/$HHHMMr3   N)r,   r-   r.   r   r   objectsallrN   r   SerializerMethodFieldrP   r   rQ   r   rR   r   r   rS   r5   r   r   OBJECTr\   r2   r3   r4   r   r   9   s        ""$((**  K /[.>>>Ft,,,G  uNNND{#9tV[eoeopppHO O O O O O O O ,--N N .-N N Nr3   r   N)django.contrib.auth.modelsr   drf_spectacular.typesr   drf_spectacular.utilsr   rest_frameworkr   netbox.api.fieldsr   r   netbox.api.serializersr	   r
   tenancy.choicesr   tenancy.modelsr   r   r   r   utilities.apir   r;   r   __all__r   r   r   r   r2   r3   r4   <module>rk      s   2 2 2 2 2 2 . . . . . . 5 5 5 5 5 5 & & & & & & ; ; ; ; ; ; ; ; T T T T T T T T 2 2 2 2 2 2 P P P P P P P P P P P P 2 2 2 2 2 2 0 0 0 0 0 0
j 
j 
j 
j 
j7 
j 
j 
jO O O O O1 O O O	G 	G 	G 	G 	G- 	G 	G 	GN N N N N"7 N N N N Nr3   