
    Ef                     >    d dl T  G d dej        j                  ZdS )    )*c                   \     e Zd Zd Zdddd fd
Zdd fd
Zd	 Zd
 Zd Zd Z	d Z
 xZS )CmfCallMixinc           	          t          j        d| j        | j        | j        ||d|}|                                 || _        dS )u3   
        Дает доступ из вне
        )nametypetoken
ext_secretext_keyN )models	CmfPlugincode
class_nameidsaveplugin)selfr
   r   kwargsr   s        './modules/voip/models/cmf_call_mixin.py_init_secretzCmfCallMixin._init_secret   sV     ! Ttytdg-7T TLRT T    r   N)depthr
   r   c                t    | j         r|                     ||            t                      j        |d|i|S )Nr   )is_newr   superr   )r   r   r
   r   argsr   	__class__s         r   r   zCmfCallMixin.save   sC    ; 	3j'222uww|T99&999r   F)forcec                    t           j                            dd| j        gg d          }|                                  t                      j        |d|i|S )Nr	   z==)r	   r   r
   )filterfieldsr   )r   r   getr   deleter   )r   r   r   r   r   r   s        r   r$   zCmfCallMixin.delete   s]     !%%gtTW-ENpNpNp%qquww~t;5;F;;;r   c                     t           )uQ   
        Метод для инициации вызова с сайта
        NotImplemented)r   phonecallbackr   r   s        r   r)   zCmfCallMixin.callback   
     r   c                     t           )ut   
        Метод для фиксации вызова и отправки события во фронт
        r&   )r   call_log_raw	call_flowr   r   s        r   	voip_callzCmfCallMixin.voip_call    r*   r   c                     t           )u   
        Метод для фиксации окончания вызова и отправки события во фронт
        r&   )r   r,   r-   call_statusr   r   s         r   voip_call_endzCmfCallMixin.voip_call_end&   r*   r   c                     t           )uX   
        Метод для сохранения записи разговора
        r&   )r   r,   r   r   s       r   voip_recordzCmfCallMixin.voip_record,   r*   r   c                     t           )u   
        Метод для фиксации начала разговора и отправки события во фронт
        r&   )r   r,   r-   r0   r   s        r   voip_call_startzCmfCallMixin.voip_call_start2   r*   r   )__name__
__module____qualname__r   r   r$   r)   r.   r1   r3   r5   __classcell__)r   s   @r   r   r      s           !"dD : : : : : : :
 #( < < < < < < <              r   r   N)cmf.includecmfr   	CmfEntityr   r   r   r   <module>r=      sJ       2 2 2 2 23:' 2 2 2 2 2r   