
    vg                         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	  G d de      Z
 G d	 d
e      Z G d de      Z G d de      Zy)    )PageNumberPagination)IsAuthenticated)Response)APIView   )NotificationSerializerc                       e Zd ZegZd Zy)NotificationViewc                 0   |dk(  r%|j                   j                  j                         }n)|dk(  r$|j                   j                  j                         }t	               }|j                  |      }t        |d      }|j                  |j                        S )NallunreadT)many)	usernotificationsr   r   r   paginate_querysetr   get_paginated_responsedata)selfrequesttypequeryset
paginationpage
serializers          =/var/www/horilla/horilla_api/api_views/notifications/views.pygetzNotificationView.get   s|    5=||11557HX||1188:H)+
++Hg>+Dt<
00AA    N)__name__
__module____qualname__r   permission_classesr    r   r   r
   r
      s    )*	Br   r
   c                       e Zd ZegZd Zd Zy)NotificationReadDelViewc                     |j                   j                  j                  |      j                         }|j	                          t        |      }t        |j                  d      S )Nid   status)r   r   filterfirstmark_as_readr   r   r   )r   r   r'   objr   s        r   postzNotificationReadDelView.post   sO    ll((//2/6<<>+C0

44r   c                     |j                   j                  j                  |      j                         }d|_        |j                          t        ddid      S )Nr&   Tr*   deletedr(   r)   )r   r   r+   r,   r1   saver   )r   r   r'   r.   s       r   deletezNotificationReadDelView.delete#   sJ    ll((//2/6<<>
9-c::r   Nr   r   r    r   r!   r/   r3   r"   r   r   r$   r$      s    )*5;r   r$   c                       e Zd ZegZd Zd Zy)NotificationBulkReadDelViewc                     |j                   j                  j                         }|j                          t	        ddid      S )Nr*   zmarked as readr(   r)   )r   r   r   mark_all_as_readr   r   r   r.   s      r   r/   z NotificationBulkReadDelView.post-   s9    ll((,,.#34SAAr   c                     |j                   j                  j                         }|j                          t	        ddid      S Nr*   r1   r(   r)   )r   r   r   mark_all_as_deletedr   r9   s      r   r3   z"NotificationBulkReadDelView.delete2   s8    ll((,,.!9-c::r   Nr4   r"   r   r   r6   r6   *   s    )*B
;r   r6   c                       e Zd ZegZd Zy)$NotificationBulkDelUnreadMessageViewc                     |j                   j                  j                         }|j                          t	        ddid      S r;   )r   r   r   r<   r   r9   s      r   r3   z+NotificationBulkDelUnreadMessageView.delete;   s8    ll((//1!9-c::r   N)r   r   r    r   r!   r3   r"   r   r   r>   r>   8   s    )*;r   r>   N)rest_framework.paginationr   rest_framework.permissionsr   rest_framework.responser   rest_framework.viewsr   )api_serializers.notifications.serializersr   r
   r$   r6   r>   r"   r   r   <module>rE      sF    : 6 , ( O
Bw B;g ; ;' ;;7 ;r   