
    Ji                     $    d dl mZ  G d d      Zy)    )Notificationc                   n    e Zd Zed        Zed        Zed        Zed        Zed        Zedd       Z	y)	NotificationRepositoryc            
      n    t         j                  j                  dd      j                  ddddddd	d
      S )N	recipientrecipient__profileidnotification_typetitlemessageis_readread_at
created_atrecipient_id)r   objectsselect_relatedonly     X/var/www/html/dp2/backend_v2.1/server/apps/calls/repositories/notification_repository.pybase_querysetz$NotificationRepository.base_queryset   sA       ^K)=>T#		
r   c                 h    t         j                         j                  |       j                  d      S )N)r   -created_atr   r   filterorder_by)users    r   list_for_userz$NotificationRepository.list_for_user   s+     #002VdV#Xm$	
r   c                 j    t         j                         j                  | |      j                  d      S )N)r   companyr   r   )r   r    s     r   list_for_user_by_companyz/NotificationRepository.list_for_user_by_company   s6     #002V   Xm$	
r   c                 h    t         j                         j                  | |      j                         S )N)r	   r   )r   r   r   first)notification_idr   s     r   	get_by_idz NotificationRepository.get_by_id*   s*     #002V$V7UW	
r   c                 ,    | y | j                          | S N)mark_as_read)instances    r   r(   z#NotificationRepository.mark_as_read3   s    r   Nc                 L    t         j                  j                  | |||||      S )z$Create a new notification for a userr   r    r
   r   r   call)r   r   creater+   s         r   create_notificationz*NotificationRepository.create_notification:   s4     ##**/ + 
 	
r   r'   )
__name__
__module____qualname__staticmethodr   r   r!   r%   r(   r.   r   r   r   r   r      sx    
 
  
 
 
 
 
 
   	
 	
r   r   N)apps.calls.modelsr   r   r   r   r   <module>r4      s    *@
 @
r   