
    W8i                         d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZ d dlmZ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j2                        Zy)    )Any)genericspermissions)Response)SearchFilterOrderingFilter)DjangoFilterBackend)UserMessageFilter)MessageSerializerMessageDetailSerializer)MessageService)UnreadReadPaginationc                        e Zd ZeZej                  gZeZ	e
eegZeZddgZddgZdgZdef fdZd Zed	        Z xZS )
MessageListViewcustomer_namerecipient__username
created_atis_readz-created_atkwargsc                 >    t         |           d | _        d | _        y N)super__init___unfiltered_qs_filtered_qs)selfr   	__class__s     F/var/www/html/dp2/backend_v2.1/server/apps/calls/views/user_message.pyr   zMessageListView.__init__   s    "     c                 f    t        j                  | j                  j                        }|| _        |S r   )r   list_messagesrequestuserr   )r   querysets     r   get_querysetzMessageListView.get_queryset   s)    !//0A0AB&r   c                     | j                   S r   )r   r   s    r   unfiltered_qszMessageListView.unfiltered_qs$   s    """r   )__name__
__module____qualname__r   serializer_classr   IsAuthenticatedpermission_classesr   pagination_classr	   r   r   filter_backendsr
   filterset_classsearch_fieldsordering_fieldsorderingr   r   r%   propertyr(   __classcell__)r   s   @r   r   r      sp    (%556+*L.IO'O$&;<M#Y/OH! !
 # #r   r   c                   0    e Zd ZeZej                  gZd Zy)MessageDetailViewc                 T    t        j                  | j                  j                        S r   )r   r!   r"   r#   r'   s    r   r%   zMessageDetailView.get_queryset,   s    ++DLL,=,=>>r   N)	r)   r*   r+   r   r,   r   r-   r.   r%    r   r   r8   r8   (   s    .%556?r   r8   c                   0    e Zd ZeZej                  gZd Zy)MarkMessageReadViewc                     |j                  d      }t        j                  |j                  |      }|st	        ddid      S t	        t        |      j                        S )Npkdetailz+Message not found or does not belong to youi  )status)getr   mark_as_readr#   r   r   data)r   r"   argsr   msg_idmsgs         r   updatezMarkMessageReadView.update3   s[    D!))',,?HI 
 /499::r   N)	r)   r*   r+   r   r,   r   r-   r.   rG   r:   r   r   r<   r<   /   s    .%556
;r   r<   N)typingr   rest_frameworkr   r   rest_framework.responser   rest_framework.filtersr   r   django_filters.rest_frameworkr	   apps.calls.filtersr
   apps.calls.serializersr   r   apps.calls.servicesr   apps.calls.paginationr   ListAPIViewr   RetrieveAPIViewr8   UpdateAPIViewr<   r:   r   r   <module>rT      sV     0 , ? = 0 M . 6#h** #6?00 ?;(00 ;r   