
    ':jp                         d dl mZ 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
y
)    )serializers   )Chat)Users)Qc                   r    e Zd Z ej                         Z ej                         Z ej                         Z	y)UserSerializerN)
__name__
__module____qualname__r   IntegerFieldid	CharFieldname
ImageFieldprofile_pic     0/var/www/html/HOMYLIO_ADMIN/chats/serializers.pyr	   r	      s2    	!	!	!	#B ;  "D(+((*Kr   r	   c                      e Zd Z ej                         Z ej                  d      Z ej                  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 ej                         Z ej                  d      Z ej                  d      Zd Zd Zy)	ChatSerializerz	sender.id)sourcezreceiver.idz	work.namezwork_sub_category.namec                    |j                   j                  | j                  d   k(  rN	 t        j                  j                  |j                  j                        }t        |d      }|j                  S 	 t        j                  j                  |j                   j                        }t        |d      }|j                  S # t        $ r}i cY d }~S d }~ww xY w# t        $ r}i cY d }~S d }~ww xY w)Nuser_id)r   F)many)
senderr   contextr   objectsgetreceiverr	   data	Exception)selfobjr!   
serializeres        r   get_userzChatSerializer.get_user   s    ::==DLL33}}((clloo(>+Du=
!&}}((cjjmm(<+Du=
!&  	  	s=   AC 6AC 	CCCC	C0$C+%C0+C0c                    t         j                  j                  t        | j                  d         t        |j
                        z  t        | j                  d          z  t        d      z        j                         }|S )Nr   )receiver_id)	sender_idr   )status)r   r   filterr   r   r*   count)r#   r$   unread_counts      r   get_unread_messagesz"ChatSerializer.get_unread_messages.   s    ||**14<<	;R+SVWdgdqdqVr+rvw  EI  EQ  EQ  R[  E\  w]  v]  ,]  `a  kl  `m  ,m  n  t  t  vr   N)r
   r   r   r   r   r   r   r    r   messagemessage_typeSerializerMethodFieldunread_messagesr+   DateTimeField
created_at
updated_atuserwork_idwork_sub_category_id	work_namesub_category_namer'   r/   r   r   r   r   r      s    	!	!	!	#B%[%%[9F'{''}=H#k##%G+;++-L7k779O%[%%'F***,J***,J,;,,.D&k&&(G3;335%%%[9I---5MN"r   r   N)rest_frameworkr   modelsr   accounts.modelsr   django.db.modelsr   
Serializerr	   r   r   r   r   <module>rA      s5    &  ! +[++ +#[++ #r   