U
    Vc                     @   s    d dl T G dd dejjZdS )    )*c                       sh   e Zd Zdd Zdddd fdd
Zdd	 fd
d
Zdd Zdd Zdd Zdd Z	dd Z
  ZS )CmfCallMixinc                 K   s4   t jf | 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    r   './modules/voip/models/cmf_call_mixin.py_init_secret   s     zCmfCallMixin._init_secretr   N)depthr   r   c                   s(   | j r| || t j|d|i|S )Nr   )Zis_newr   superr   )r   r   r   r   argsr   	__class__r   r   r      s    zCmfCallMixin.saveF)forcec                   s<   t jjdd| jgdddgd}|  t j|d|i|S )Nr   z==r   r   )filterZfieldsr   )r	   r
   getr   deleter   )r   r   r   r   r   r   r   r   r      s    zCmfCallMixin.deletec                 O   s   t dS )uQ   
        Метод для инициации вызова с сайта
        NNotImplemented)r   Zphonecallbackr   r   r   r   r   r       s    zCmfCallMixin.callbackc                 O   s   t dS )ut   
        Метод для фиксации вызова и отправки события во фронт
        Nr   )r   call_log_raw	call_flowr   r   r   r   r   	voip_call    s    zCmfCallMixin.voip_callc                 O   s   t dS )u   
        Метод для фиксации окончания вызова и отправки события во фронт
        Nr   )r   r!   r"   call_statusr   r   r   r   r   voip_call_end&   s    zCmfCallMixin.voip_call_endc                 O   s   t dS )uX   
        Метод для сохранения записи разговора
        Nr   )r   r!   r   r   r   r   r   voip_record,   s    zCmfCallMixin.voip_recordc                 K   s   t dS )u   
        Метод для фиксации начала разговора и отправки события во фронт
        Nr   )r   r!   r"   r$   r   r   r   r   voip_call_start2   s    zCmfCallMixin.voip_call_start)__name__
__module____qualname__r   r   r   r    r#   r%   r&   r'   __classcell__r   r   r   r   r      s   	r   N)Zcmf.includeZcmfr	   Z	CmfEntityr   r   r   r   r   <module>   s   