
    Wi                          d dl mZ ddlmZ d dlmZ  G d dej                        Z G d dej                        Z	 G d	 d
e	      Z
 G d dej                        Z G d dej                        Zy)    )serializers   )Customer)Callc                        e Zd Z G d d      Zy)CustomerSerializerc                       e Zd ZeZdZy)CustomerSerializer.Meta__all__N)__name__
__module____qualname__r   modelfields     C/var/www/html/dp2/backend_v2.1/server/apps/customers/serializers.pyMetar
      s    r   r   N)r   r   r   r   r   r   r   r   r      s     r   r   c                   P    e Zd Z ej                         Z ej                         Zy)DateRangeSerializerN)r   r   r   r   DateTimeField
start_dateend_dater   r   r   r   r      s"    ***,J({((*Hr   r   c                   x    e Zd Z ej                         Z ej                         Z ej                         Zd Z	y)CustomerHistorySerializerc                 F    |d   |d   k\  rt        j                  d      |S )Nr   r   z"start_date must be before end_date)r   ValidationError)selfattrss     r   validatez"CustomerHistorySerializer.validate   s1    %
"33--4  r   N)
r   r   r   r   IntegerFieldcustomer_idr   r   r   r    r   r   r   r   r      s7    *+**,K***,J({((*Hr   r   c                      e Zd Z ej                         Z ej                         Z ej                         Z ej                         Z	 ej                         Z
 ej                         Z ej                         Z ej                         Zy)CustomerDropDownStatsN)r   r   r   r   r!   r"   	CharFieldcustomer_namephone_numbertotal_callsmissed_callsreceived_callsnot_transferred_callsr   last_call_timer   r   r   r$   r$      s    *+**,K)K))+M(;((*L*+**,K+;++-L-[--/N4K446.[..0Nr   r$   c                   H    e Zd Z ej                         Z G d d      Zd Zy)CallTimelineSerializerc                       e Zd ZeZdZy)CallTimelineSerializer.Meta)idtwilio_call_sid	sentimentsummaryduration
created_atcall_idadvisor_nameN)r   r   r   r   r   r   r   r   r   r   r0   *   s    	
r   r   c                     |j                   rgt        |j                   d      rQ|j                   j                  j                   d|j                   j                  j                   j                         S y )Nprofile )transfer_userhasattrr:   
first_name	last_namestrip)r   objs     r   get_advisor_namez'CallTimelineSerializer.get_advisor_name7   s]    ):):I!F''//::;1S=N=N=V=V=`=`<abhhjjr   N)r   r   r   r   SerializerMethodFieldr8   r   rB   r   r   r   r.   r.   '   s!    4;446L
 
r   r.   N)rest_frameworkr   modelsr   apps.calls.modelsr   ModelSerializerr   
Serializerr   r   r$   r.   r   r   r   <module>rI      sc    &  "44 ++00 +

 3 
1K22 1[88 r   