
    \d                     L    d dl   G d dej                  j                        Zy)    )*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|}|j                          || _        y)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   sK     !! Ttyytdgg-7TLRT    r   N)depthr
   r   c                b    | j                   r| j                  ||       t        |   |d|i|S )Nr   )is_newr   superr   )r   r   r
   r   argsr   	__class__s         r   r   zCmfCallMixin.save   s3    ;;j'2w|T99&99r   F)forcec                    t         j                  j                  dd| j                  gg d      }|j	                          t        |   |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   sN     !!%%gtTWW-ENp%qw~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      s9     !"dD :
 #( <r   r   N)cmf.includecmfr   	CmfEntityr   r   r   r   <module>r=      s    23::'' 2r   