HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall/buyercall/blueprints/mobile/__pycache__/models.cpython-310.pyc
o

�we�.�@s�ddlZddlmZddlmZddlmZddlmZddl	m	Z	ddl
mZddlm
Z
e�e�ZGd	d
�d
eej�ZGdd�deej�ZdS)
�N)�hybrid_property)�
ResourceMixin)�db)�	bw_client)�datetime)�and_)�	load_onlyc@s�eZdZdZejejdd�Zeje�d�dd�Z	eje�d�ddd�Z
eje�d�dd�Zeje�d�dd�Zeje�d	�ddd�Z
eje�d
�dd�Zejejddd�Zejejejd
dddd�ddd�Zejejejddddd�ddd�Zejejejddddd�ddd�Zejejejddddd�ddd�Zeje��dd�Zeje��dddd�Zeje�d
�ddd�Zeje�d�ddd�Zeje�d	�ddd�Zeje�d�ddd�Zeje�d	�ddd�Zeje�d	�ddd�Zeje�d	�ddd�Zeje�d�ddd�Z eje�d�ddd�Z!eje�d�ddd�Z"eje�d	�ddd�Z#eje�d�ddd�Z$eje�d�ddd�Z%eje�d�ddd�Z&eje�d�ddd�Z'eje�d	�ddd�Z(eje�d	�ddd�Z)eje�d
�ddd�Z*eje�d	�ddd�Z+eje�d	�ddd�Z,e-dd��Z.e.j/dd��Z.e-d d!��Z0e1d"d#��Z2e1	$d/d%d&��Z3e1d'd(��Z4e1d)d*��Z5e1d+d,��Z6e1d-d.��Z7d$S)0�Endpoint�
sip_endpointsT��primary_key�F��nullable� �r�index�@��t)�server_default�defaultzphonenumbers.id�sip_inbound_fkey�CASCADEzSET NULL��name�onupdate�ondelete�rrz	agents.id�sip_agent_fkeyzpartnership_accounts.id�sip_partnership_account_fkeyzsip_domains.id�sip_domain_fkey�0�rrr��rrcCs|jo|jjpdS�Nr$)�inbound�
friendly_name��self�r+�D/home/arjun/projects/buyercall/buyercall/blueprints/mobile/models.py�sourceLs��zEndpoint.sourcecCsddlm}|jS)N�)�Phone)�phonenumbers.modelsr/r()�clsr/r+r+r,r-RscCs|jot|j�p	dSr&)r'�str�
inbound_idr)r+r+r,�	source_idXs��zEndpoint.source_idcCsRtj�ttj|ktj|k����}|dur'd|_d|_t	�
�|_tj
��dSdS)zf
        Deactivate sip endpoint. The is_deactivated flag will be set.

        :return: bool
        NTF)r	�query�filterr�id�partnership_account_id�first�is_deactivated�enabledr�now�deactivated_onr�session�commit)r1�id_r8�endpointr+r+r,�
deactivate^s��

zEndpoint.deactivateNcCs>t|||||||||	|
|||
|d�}tj�|�tj��dS)zA
        Create new sip endpoint.

        :return: bool
        )�description�provider�provider_id�sip_uri�sip_username�sip_passwordr;r3�agent_idr8�	domain_idr:�
sip_hash_1�sip_hash_1_bT)r	rr>�addr?)r1rCrDrErFrGrHr;r3rIr8rJr:�hash_1�hash_1_b�new_endpointr+r+r,�createqs	�
zEndpoint.createcCsNtj�ttj|ktj|k����}|dur%||_||_||_	t
j��dSdS)�E
        Update the endpoint details.

        :return: bool
        NTF)
r	r5r6rr7r8r9rHr;rIrr>r?)r1r@r8rHr;rIrAr+r+r,�update�s�
zEndpoint.updatecCs4tj�ttj|ktj�d�����}|durdSdS)z[
        Check to see if the username exists in the domain.

        :return: bool
        FNT)r	r5r6rrGr:�is_r9)r1rGrAr+r+r,�api_username_check�s�zEndpoint.api_username_checkcCsL|j�t|j|k|j�d�����}t�d�	|j
��|dur#d}|S|j
S)z^
        Return the agent id associated with the sip endpoint.

        :return: bool
        FzThe sip agent id is:{}N)r5r6rrFr:rTr9�log�info�formatrI)r1rFrArIr+r+r,�sip_agent_id�s$zEndpoint.sip_agent_idc
Cs�z�|dur|dur|durWdStj�ttj|ktj|k����}tj�tj|jk���}ddl	m
}	|	j�|	j|jk���}
t|
jdd�}|r�|j
}|r�||_ddl	m}
|
j�|
j|k���}ddlm}m}||j||j|j|j�}|r�||_
|r�||�|r�||_|r�||_|r�||_tj��|jd	kr�|jj|j|j|j |j|d
�WdSWdSt!y�}zt"�#d�$|��WYd}~dSd}~ww)
rRNTr.)�Partnership�mobile)�tn_type)�PartnershipAccount)�qr_code�delete_qr_code�	bandwidth)�realm_id�realm�endpoint_idrGrHFz)Error updating mobile endpoint. Error: {})%r	r5r6rr7r8r9�DomainrJ�partnership.modelsrZ�partnership_idr�qr_urlrHr]�mobile.tasksr^r_rGr�cloud_idr;rCrIrr>r?rD�realms�update_sip_credentials�	sip_realmrE�	ExceptionrV�errorrX)r1r@r8rH�sip_descriptionr;rIrA�domainrZ�partner�client�
old_qr_urlr]�partnership_actr^r_�qr�er+r+r,�
api_update�sp�����

���zEndpoint.api_update)NN)8�__name__�
__module__�__qualname__�
__tablename__r�Column�Integerr7�StringrCrDrErFrGrH�Booleanr;�
ForeignKeyr3rIr8rJ�DateTimer=r:�device_token�selector�app_id�
install_id�imei�	unique_id�build�platform�platform_version�version�app_name�locale�cpu�device�production_build�last_sms_received_id�last_sms_sent_idrgrKrLrr-�
expressionr4�classmethodrBrQrSrUrYrwr+r+r+r,r	s����������



�


r	c@seZdZdZejejdd�Zeje�d�dd�Z	eje�d�ddd�Z
eje�d	�dd�Zeje�d�ddd�Zejejej
d
dddd
�ddd�Zeje��dd�Zeje��dddd�Zeje�d	�dd�Zeje��dddd�Zeje�d�ddd�Zeje�d�ddd�ZdS)rd�sip_domainsTrrFr�rr
zpartnerships.id�sip_domain_partnership_fkeyrrrr"r#rr$r%rN)rxryrzr{rr|r}r7r~rJrrCrDr�rfr�r=rr:ri�default_domain�call_urirlr+r+r+r,rd	s,����rd)�logging�sqlalchemy.ext.hybridr�buyercall.lib.util_sqlalchemyr�buyercall.extensionsr�buyercall.lib.util_bandwidthrr�
sqlalchemyr�sqlalchemy.ormr�	getLoggerrxrV�Modelr	rdr+r+r+r,�<module>s
{