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/email/__pycache__/models.cpython-310.pyc
o

we2�@s�ddlZddlZddlmZddlmZddlmZddlm	Z	ddl
mZGdd�dee	j�Z
Gd	d
�d
ee	j�ZGdd�dee	j�ZdS)
�N)�
postgresql)�UUID)�hybrid_property)�db)�
ResourceMixinc@s�eZdZdZejejdd�Zejedd�de	j
dd�Ze�e�d��Z
eje�d�dd�Zeje�d�dd	�Zejejejd
ddd�ddd
�Zejejejdddd�ddd
�Zeje��ddd�Zeje��ddd�Zeje��ejdddd�ddd
�Zeje�d�dd�Zejejddd�Zejejejdddd�ddd
�Ze�e�e�d���Zdd�Zedd��Z dd�Z!e	d"d d!��Z"dS)#�Email�emailT��primary_key��as_uuid��unique�default�index����nullable�x�rz	source.id�CASCADE��onupdate�ondelete�rrz
channel.idF�true�r�server_default�falsezcontacts.id�SET_NULL��{}�partnership_accounts.idi@cC�|jS�N)r��self�r'�C/home/arjun/projects/buyercall/buyercall/blueprints/email/models.py�__str__:�z
Email.__str__cCs|j�|j|k���Sr$)�query�filter�
message_id�first)�clsr-r'r'r(�get_by_message=szEmail.get_by_messagecCs,t�|j�}||d<t�|�|_|��|S)N�status)�json�loads�	meta_data�dumps�save)r&r1�mdatar'r'r(�
update_statusAs
zEmail.update_statusNc
	Cspt�}|�d�d|_||_||_||_|
|_||_|r|jnd|_	||_
t�|||||
|	d��|_
|��|S)N�@r�)�subject�plain�htmlr1r-�raw)r�split�
first_name�source�channelrr-�
is_inbound�id�partnership_account_id�
recipientsr2r5r4r6)
r/�
from_emailrFr;�body�partnership_accountr1rBrAr>r-rCrr'r'r(�create_from_rawHs&
�zEmail.create_from_raw)NNT)#�__name__�
__module__�__qualname__�
__tablename__r�Column�IntegerrDr�uuid�uuid4�sid�Stringr@�	last_namer�
ForeignKeyrArB�BooleanrC�
is_forward�
contact_idr-r�JSONr4rE�ARRAYrFr)�classmethodr0r8rJr'r'r'r(rsT�����
�rc@s�eZdZdZejejdd�Zejedd�de	j
dd�Zeje�d�dd�Z
eje�d�dd�Zejejejd	d
d
d�ddd�Zejejejd
d
d
d�ddd�Zejde��ddd�Zdd�Zedd��Zedd��Zedefdd��Zedd��ZdS)�
EmailIdentity�email_identityTr	rr
�r�r"rrr�partnerships.idF�is_verified�0rcCr#r$)�usernamer%r'r'r(r)sr*zEmailIdentity.__str__cCs|j�d|j��S�Nr9)rd�domainr%r'r'r(rvszEmailIdentity.emailcCs|j�|j|k���r
dSdS)NTF)r+r,rr.)r/rr'r'r(�	is_existszszEmailIdentity.is_existsrcCsDz|�d�\}}|j�|j|k|j|k���WSty!YdSwre)r?r+r,rdrfr.�	Exception)r/rrdrfr'r'r(�get_by_email�s �zEmailIdentity.get_by_emailcCs|j�|j|k|j|k���Sr$)r+r,rd�partnership_idr.)r/rdrjr'r'r(�get_by_username�szEmailIdentity.get_by_usernameN)rKrLrMrNrrOrPrDrrQrRrSrTrdrfrVrErjrWrbr)rrr\rg�strrirkr'r'r'r(r]`s4����

r]c@seZdZdZejejdd�Zejedd�de	j
dd�Zeje�d�dd�Z
eje�d�dd�Zeje�d�dd	�Zejejd
dd�Zeje��d
d
d�Zeje��d
d
d�Zeje�d�dd	�Zejejejdddd�ddd�Zejejejdddd�dd
d�Zdd�ZdS)�
EmailTemplate�email_templateTr	rr
r_rr`rFr!rrr"rrrracCr#r$)�titler%r'r'r(r)�r*zEmailTemplate.__str__N)rKrLrMrNrrOrPrDrrQrRrSrTror;�descriptionrrZ�contentrW�	is_active�is_plaintext�imagerVrErjr)r'r'r'r(rm�s,����rm)r2rQ�sqlalchemy.dialectsr�sqlalchemy.dialects.postgresqlr�sqlalchemy.ext.hybridr�buyercall.extensionsr�buyercall.lib.util_sqlalchemyr�Modelrr]rmr'r'r'r(�<module>sT-