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/sysadmin/__pycache__/endpoints.cpython-310.pyc
o

wen��@s�ddlZddlZddlZddlZddlmZddlmZddl	m
Z
mZmZm
Z
ddlmZmZmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZm Z m!Z!dd
lm"Z"ddl#m$Z$ddl%m&Z&ddl'm(Z(ddl)m*Z*ddl+m,Z,m-Z-ddl.m/Z/ddl0mZ1ddl2m3Z3ddl4m5Z5ddl6m7Z7ddl8m9Z9ddl:m;Z;e
de<dd�Z=e�>e<�Z?e(d�dd��Z@e(d�d d!��ZAe(d�d"d#��ZBd$d%�ZCe(d�d&d'��ZDe(d�d(d)��ZEd*d+�ZFd,d-�ZGd.d/�ZHe(d�d0d1��ZIe(d�d2d3��ZJe(d�d4d5��ZKe(d�d6d7��ZLe(d�d8d9��ZMe(d�d:d;��ZNe(d�d<d=��ZOe(d�d>d?��ZPe(d�d@dA��ZQe(d�dBdC��ZRe(d�dDdE��ZSe(d�dFdG��ZTdS)H�N)�datetime)�lazy_gettext)�	Blueprint�jsonify�request�current_app)�current_user�logout_user�
login_user)�Contact)�
EmailIdentity)�FormLead)�Issue)�Lead)�send_notifications)�Partnership�BILLING_TYPE�
BUSINESS_TYPE)�PartnershipAccount)�Phone)�Message)�api_role_required)�User)�
ses_client�
sns_client)�_try_renderer_template)r
)�generate_presigned_file_url)�
AESCipherDome)�tza_to_date)�get_by_partnership_account_expr)�api_jsonify�sysadminapiz/api)�
url_prefix�sysadminc	
Cs�z/d}d}d}g}tj�tj|k���}|sd}d}d}nttddd�t�t|ddd�Wnt	yI}zd}d}d	}g}WYd}~nd}~wwt
||||d
��}|S)N��Tz'Remote Access successfully established!�FzUser not found!)�remember�force��zRemote Access failed!��
statusCode�success�message�data)r�query�filter�sid�first�supervisor_login_userrr	r
�	Exceptionr)	�pid�uid�status_coder+r,r-�target_user�e�response�r:�I/home/arjun/projects/buyercall/buyercall/blueprints/sysadmin/endpoints.py�act_as#s8����r<c
Cs"zkd}d}d}g}t��}|rj|�d�}|�d�}|�d�}|rj|}tj�tj|k���}	|	rdtj�tj	|	j
k�}
|
D]	}||_|��q<t
j�t
j	|	j
kt
j�gd���}|D]	}
||
_|
��qYnd}d	}d
}Wnty�}zd}d	}d}g}WYd}~nd}~wwt||||d
��}|S)N��Tz4Partnership settings have been changed successfully!�	partnerID�restrictLoginAccess�suspendSubscription��partner�agent�admin�memberr%FzPartnership not found!r(z%Partnership settings updation failed!r))r�get_json�getrr.r/r0r1r�partnership_id�id�active�saver�role�in_r3r)r6r+r,r-�	form_data�
partner_id�restrict_login�restrict_subscription�status�partnership�partnership_accounts�pa�users�userr8r9r:r:r;�restrict_login_accessDsZ



�
�
�����rXc	
Cs�z&d}d}d}d}g}tj�tj|k���}|rt�|�}|s%d}d}d}Wnty@}zd}d}d}g}WYd}~nd}~wwt||||d��}|S)	Nr=Tz(Partnership account closed successfully!i�Fz#Partnership account closing failed!r(r))rr.r/r0r1�
close_accountr3r)	r4r6r+rRr,r-rSr8r9r:r:r;�close_partnership_account}s8
����rZcCsVg}|D]}d|�d|��|�d�d�}|�|�qd|d|�d�d�}|�|�|S)N�CNAME�._domainkey.�.dkim.amazonses.com)�Type�Name�Value�MXz10 inbound-smtp.z.amazonaws.com)�append)�dkim_tokens�domain�region�dns_records�token�_record�	mx_recordr:r:r;�create_domain_records�s�
�
rjcCst�|�}t|�S)N)r�verify_email_identityr )�email�email_add_respr:r:r;�verify_email�s
rnc1
Csdtj�dd�}�z~d}d}d}g}d}tj�dd�}tj�dd�}tj�dd�}tj�d	d�}	tjjdd
�}
d|
vrCt�|
dd�}
|
�d
d�}|
�dd�}|
�dd�}
ddl	m
}|r�|�|�}|d�di��|i��dd�}|dkr�|s�d}d}d}t|||d�WS|
r�|�|
�}|d�di��|
i��dd�}|dkr�|s�d}d}d}t|||d�WSt
�}|
�r-|
�dd�r�|
�d�|_|
�d
d�r�|
�d
�|_|
�dd�r�|
�d�|_|
�dd�r�|
�d�|_|
�dd�r�|
�d��d�|_|
�dd��r|
�d��d�|_|
�dd��r|
�d��d�|_d|
v�r"|
�dd�|_tt���|_|��dd lm}m}|�r||�r|d}|j�d!�d"}d#|j �d$|��}||tjd%|�}|�rdtjd%�d&|��}|�ro||_!|��n
t"�#d'�d}d}d(}g}|�r�|�r�d}|j�d!�d"}d#|j �d)|��}||tjd%|�}|�r�tjd%�d&|��}|�r�||_$|��n
t"�#d*�d}d}d+}g}|�r
|�r
d}|j�d!�d"}d,|j �d-|��}||tjd%|�}|�r�tjd%�d&|��}|�r�||_%|��n
t"�#d.�d}d}d/}g}|	�rQ|�rQd}|	j�d!�d"}d,|j �d0|��}||	tjd%|�}|�r9tjd%�d&|��}|�rD||_&|��n
t"�#d1�d}d}d2}g}|
�r�d}d3|
v�ra|
�d3d�}tjd4}t'|�}|�r|�r|�(|�}t)|�}|
�d5�\}}t*�+||j,�}|�-|
�}|�s�|
�d5�d|
�d5�d6|j,d7�} t*j.dNi| ��}d8|dv�r�d9|dd8v�r�|dd8d9}!|!�r�|�/|!�|_0|��|�rd:|dd;v�r|dd;d:}"tj�d<d�}#t1|"||#�}$d=|$i}|"�rg}%|"D]
}&|�/|&�}'|%�2|'��q�|%|_3|��d>|
d?|jd|j,d@�}(zSt4j5�6t4j7|
k��8�})ddAl9m:}*|)�s9t4dNi|(��})|)��|)�;�}+dB�<|j�},|)|+dC�}-t=dNdDdEdF�|-��}t=dNdDdEdF�|-��}.|*j>|,|g||.tj�dG�dH�Wnt?�y�}/zt@dI|/�WYd}/~/nd}/~/wwWn t?�y�}/zt@dJ|/�dK}d}dL}g}WYd}/~/nd}/~/wwtA||||dM��}0|0S)ON�DEBUGFr=Tz!Partnership created successfully!�file�fileAlt�	fileSmall�fileSmallAlt)�flatr-r�
partnerUrl�partneruseremail�systemEmail)r�VerificationAttributes�VerificationStatus��Successz!Partner domain already registeredi�)r,r6r+zSystem email already registered�partnershipName�sidebarColor�defaultBilling�value�businessType�partnerType�expandedMenu�r�upload_file_object�.����large_logos/partnership_logo_�_lg.�PARTNERSHIP_BUCKET�::z#Error in uploading the large logo.!�)Partnership large image uploading failed!�_lg_alt.�/Error in uploading the alternative large logo.!�5Partnership alternative large image uploading failed!�small_logos/partnership_logo_�_sm.z#Error in uploading the small logo.!�)Partnership small image uploading failed!�_sm_alt.�/Error in uploading the alternative small logo.!�5Partnership alternative small image uploading failed!�isDKIM�CRYPTO_SECRET_KEY�@�)�usernamerdrH�domain_identity�VerificationToken�
DkimTokens�domain_dkim�SES_REGION_NAMErfrB�password�rLrlr��company�
tos_agreementrH��send_generic_mail�Invitation to {}�rW�reset_token�partnership/mail/invitation�html��
template_path�ext�SES_EMAIL_SOURCE��subject�
recipients�textr��senderzError: zError : r(zPartnership creation failed!r)r:)Br�configrGr�files�form�to_dict�json�loads�buyercall.extensionsr�check_identity_verify_statusr r�name�partner_url�email_sender�
primary_color�default_billing_type�
business_type�partner_type�is_expanded_menu�str�uuid�uuid4�account_invitation_url_tokenrK�buyercall.lib.util_boto3_s3rr��filename�splitr0�logo�logger�error�alternative_logo�
logo_small�alternative_logo_smallr�
verify_domain�set_email_configr�get_by_usernamerIrk�create�encrypt�
domain_recordrjrb�dkim_recordsrr.r/rlr1�buyercall.blueprints.user.tasksr��serialize_token�formatr�delayr3�printr)1�is_debugr6r+r,r-rS�avatar_large�logo_large_alt�avatar_small�logo_small_alt�partnership_datar��
partner_email�system_emailr�identity_statusrRrr��result�
avatar_ext�key�resp�is_dkim�enc_key�cipher�domain_records�email_config_respr�rd�email_identityrm�email_identity_params�domain_verify_tokenrc�
aws_regionrf�
_dkim_records�
dkim_token�dkim_record�params�ur�r�r��ctxr�r8r9r:r:r;�create_partnership�s�
�
�












�
�


����
���r�c
Cs�z$ddlm}tj�d�}tj�d�}tj�d�}||||�}|��}Wnty?}ztdt|�dd�WYd}~Sd}~wwt|d	�S)
Nr)�EmailConfiguration�SNS_ENDPOINT�EMAIL_BUCKET�MAIL_CONFIG_PREFIXr(F)r6r,r+)r-)	�5buyercall.blueprints.email.utils.create_configurationr�rr�rG�	configurer3r r�)r��endpoint�bucket_name�prefix�email_configr9r8r:r:r;�email_configuration�s��
rc
Csjd}d}d}g}|j}z�|�d�}t�|�}td|�|�d�}t�|�}	td|	�|	�dd	�r�|	�d
�d}
|rV|
rV|�d�}|dgd
�d|
id�}t�||�}
td|
�tj	�d�}|�d�}tj	�dd�}d|�d�}g}t�
||
||||�}td|�tj	�d�}d}t�|
|�}td|�Wnty�}zd	}d}t
|�}WYd}~nd}~wwt||||�S)Nr=TzCreate config set successful!z-config_setz
config set : z-topiczsns topic : rRFr-�TopicArnz-event_destination)�send�reject�bounce�	complaint�delivery�open�click�renderingFailure�TopicARN)r_�Enabled�MatchingEventTypes�SNSDestinationzdestination : �SES_RULESET_NAMEz-ruler�zemails/�/zreceipt_rule : r��httpszsubscription : r()r0r�create_configuration_setr�r�create_topicrG�create_event_destinationrr��create_receipt_rule�	subscriber3r�r )rSr6r+r,r-r4�config_set_name�
config_set�
topic_name�	sns_topic�
sns_topic_arn�destination_name�destination_config�destination�ruleset_name�	rule_namer�
key_prefixr��receipt_rule�sns_endpoint�
url_scheme�subscriptionr8r:r:r;r��sZ






��


�

���r�c
Cs|d}d}d}g}zt��}|�d�}t�|�}t|�Wnty6}zd}d}t|�}WYd}~nd}~wwt||||�S)Nr=TzCreate receipt successful!z	-rule_setFr()r�r�r�create_receipt_rule_setr�r3r�r )r6r+r,r-�	unique_idr!�rulesetr8r:r:r;r�s 

��rc
Cs�z<d}d}d}g}tj�tj|k���}tj�tj|k���}|r7|r7|��}ddlm}	|	�	|j
||j�nd}d}WntyZ}
zt
|
�d}d}d}g}WYd}
~
nd}
~
wwt||||d	��}|S)
Nr=TzResend invite successful!r)�send_partners_invitation_emailFzResend invite failed!r(r))rr.r/r0r1rr�r�r+r�rIr�r3r�r)r4r5r6r+r,r-rBrSr�r+r8r9r:r:r;�
resend_invite�s:����r,c	
Cs�z2d}tj�tj�����}g}|D]}|j|j|j|j	t
|j�t
|j�d�}|�|�qd}d}Wnt
yP}zt|�d}d}d}g}WYd}~nd}~wwt||||d	��}|S)
z%
    Retrieves all partnerships.
    r=)rIr0�isActiver|�
created_on�
updated_onTz&Partnership List Fetched Successfully!r(Fz!Partnership List Fetching Failed!Nr))rr.�order_byr/�desc�allrIr0rJr�rr.rbr3r�r)	r6�partnershipsr-�p�_datar+r,r8r9r:r:r;r3s<����r3cICs��z:d}tj�tj|k���}d}d}|j}|j}d}|D]}|jr$d}q|D]}	|	jr3|	jdvr3d}q'd}
t	j
d}t|�}g}
|jra|jD]}
|�
|
�}|
�d|�d	|j��|�d
�d��qG|j|jg}t�|�}g}d|d
vr�|d
d��D]\}}i}||d<|d|d<d|vr�dnd|d<|�|�q|d}d}d}d}|jr�d|jvr�|j�d�\}}t||�}|jr�d|jvr�|j�d�\}}t||�}|jr�d|jvr�|j�d�\}}t||�}|jr�d|jvr�|j�d�\}}t||�}id|j�d|j�d|j�dt|j��dt|j��d|j�d|j�d|j �d|j�d|j�d |j!�d!|�d"|�d#|�d$|�d%|�d&d�|j"|j�d'|j#��|
|d(��}g}|jD]1}|j�r�|j$�r�|jd)v�r�|j%|j|j&|j'|j$|j|j(|j|j)t|j*�|j+d*�}|�|��qP||d+<|j}d,} d,}!d,}"d,}#d,}$d,}%d,}&d,}'d,}(d,})d,}*d,}+d,},d,}-d,}.d,}/d,}0d,}1d,}2d,}3d,}4t,j-|j%dd-d.�}5t,j-|j%dd/d.�}6t,j-|j%dd0�}7t.j-|j%dd-d.�}8t.j-|j%dd/d.�}9t.j-|j%dd0�}:|D]�};|&t/t0|;j%dd-d.�7}&|'t/t0|;j%dd/d.�7}'|(t/t0|;j%dd0�7}(|)t/t1|;j%dd-d.�7})|*t/t1|;j%dd/d.�7}*|+t/t1|;j%dd0�7}+|,t/t2|;j%dd-d.�7},|-t/t2|;j%dd/d.�7}-|.t/t2|;j%dd0�7}.|2t/t3|;j%dd-d.�7}2|3t/t3|;j%dd/d.�7}3|4t/t3|;j%dd0�7}4t/t4|;j%d-d1�}<|<D]}=|=j5�r�|/|=j57}/�qut/t4|;j%d/d1�}>|>D]}?|?j5�r�|0|?j57}0�q�t/t4|;j%�}@|@D]}A|Aj5�r�|1|Aj57}1�q��q�t6t7�8|/d2��}Bt6t7�8|0d2��}Ct6t7�8|1d2��}Dd3|&|'|(d4�d5d,d,t9|�d4�d6|5|6|7d4�d7d,d,| d4�d8|8|9|:d4�d9|)|*|+d4�d:|#|$|%d4�d;|,|-|.d4�d<d,d,|!d4�d=|B|C|Dd4�d>|2|3|4d4�d?d,d,|"d4�g|d@<t:jdAdB|jgt:j&�dCt:j'��|jg|j�dD�dE�}Et;dIi|E��}FWnt<�yZ}Gzt=|G�dF}d}dG}g}WYd}G~Gnd}G~Gwwt>||||dH��}H|HS)Jz0
    Retrieves a single partnership by sid.
    r=z!Partnership fetched successfully!TFrANr�r[r\r])�typer�rrxr-�identityNamery�identityStatusr�rlrd�identityTyperzr�r�r0r-�	createdOn�updateOn�billingTyper�r�rur}�partnerImage�partnerImageAlt�partnerImageSmall�partnerImageSmallAltr?r@z/signup?partnership=)�isExpandedMenu�
signUpLink�dkimRecords�sesIdentityStatus)r#)rIr0�	firstName�lastNamerlr-�phoneNumber�roleId�signInCount�
signInDate�signInIprVr�
this_month)�
count_only�date_range_expr�
last_month)rM)rN�<�Leads)�label�currentMonthTotal�lastMonthTotal�total�Accounts�Users�	Campaigns�SupportTickets�PhoneNumbers�WidgetInteractions�WebFormSubmissions�LandingPageVisitors�CallMinutes�TextMessages�ThirdPartySubmissions�usage�PARTNERSHIP_SETTINGS_VIEWED�You've� �	/settings��user_id�notify_message_type�user_related_entities�other_user_related_entities�	hyperlinkr(�Partnership Fetching Failed!r)r:)?rr.r/r0r1rTrVrJrLrr�rr��decryptrbr�r�rr��itemsr�r�rr�r�r�r�rr.r/r�r�r�r�r�r�rlrI�	firstname�lastname�phonenumber�
sign_in_count�last_sign_in_on�last_sign_in_ipr� get_by_partnership_datetime_exprrrrrr
rr�duration�int�math�ceil�lenrrr3r�r)Ir4r6rSr,r+�p_acs�p_users�
is_restrictedrU�pur�r�r��dkimr�dkimr_decrypted�ses_identitiesr��ses_identity_status�idt�val�_idt�partner_image_lg�partner_image_lg_alt�partner_image_lg_small�partner_image_lg_small_altrr�r-rVr��_user�accounts�	campaigns�landing_page_visits�third_party_subs�widget_i10s_count_this_month�widget_i10s_count_last_month�widget_i10s_count_total�leads_count_this_month�leads_count_last_month�leads_count_total�phone_nums_count_this_month�phone_nums_count_last_month�phone_nums_count_total�web_form_subs_count_this_month�web_form_subs_count_last_month�web_form_subs_count_total�call_seconds_this_month�call_seconds_last_month�call_seconds_total�text_msgs_this_month�text_msgs_last_month�text_msgs_total�users_count_this_month�users_count_last_month�users_count_total�issues_count_this_month�issues_count_last_month�issues_count_total�ac�leads_this_month�lead1�leads_last_month�lead2�leads_total�leadt�call_minutes_this_month�call_minutes_last_month�call_minutes_total�es_data�es_responser8r9r:r:r;�partnership_by_id8s8��


��	








���
�
����	�
���
������
�

�����
�
�
�
�
�
�
�
�
�
�
���������������M
����r�c	
C�g}z t��D]\}}i}||d<||d<|�|�qd}d}d}Wnty<}zd}d}d}g}WYd	}~nd	}~wwt||||d
��}|S)z%
    Retrieves all billing types
    rRrz/Partnership billing types fetched successfully!r=Tr(Fz*Partnership billing types fetching failed!Nr))rrnrbr3r�	r-�k�v�_btr,r6r+r8r9r:r:r;�partnership_billing_typesc�0���r�c	
Cr�)z&
    Retrieves all business types
    rRrz0Partnership business types fetched successfully!r=Tr(Fz+Partnership business types fetching failed!Nr))rrnrbr3rr�r:r:r;�partnership_business_types�r�r�c
Cs�zVtj�tj|k���}|sd}d}d}n>d|_t��|_|�	�t
j�t
j|jk���}|s5t
j�
d�}|jd|j�|j�|j�d�d�}tdi|��}d}d	}d
}g}	Wntyp}
zd}d}d}g}	WYd}
~
nd}
~
wwt||||	d
��}|S)NFzUser not found.r=r��USER_DEACTIVATEDz
/dashboardrfTzUser deactivation successful!��r(zUser deactivation Failed!r)r:)rr.r/r0r1rJr�now�deactivated_onrKrrIrHrGrlr�rr3r)r4r5rWr+r,r6rSr�r�r-r8r9r:r:r;�deactivate_user�sJ

����r�cCs:ddd�ddd�g}d}d}d}|}t||||d	��}|S)
z+
    Get the list of partnership types
    �General�general)rRr�API�apiTz'Partnership types fetched successfully!r=r))r)�partnership_typesr+r,r6r-r9r:r:r;r��s$����r�c
Cs��z�d}d}d}g}d}tj�dd�}tj�dd�}tj�dd�}tj�dd�}	tj�d	d�}
|
r?zt�|
�}
Wni}
Ytj�tj	|k��
�}|
r�|r�|
�d
d�rZ|
�d
�|_|
�dd�ri|
�d��d�|_|
�d
d�rx|
�d
��d�|_
|
�dd�r�|
�d��d�|_|
�dd�r�d|_|
�dd�r�d|_|��ddlm}m}|r�|r�d}
|j�d�d}d|j	�d|��}||tjd|�}|r�tjd�d|��|_|��nd}d}d}g}|�r!|�r!d}
|j�d�d}d|j	�d|��}||tjd|�}|�rtjd�d|��|_|��n
t�d�d}d}d}g}|�r^|�r^d}
|j�d�d}d|j	�d |��}||tjd|�}|�rVtjd�d|��|_|��nd}d}d!}g}|	�r�|�r�d}
|	j�d�d}d|j	�d"|��}||	tjd|�}|�r�tjd�d|��|_|��n
t�d#�d}d}d$}g}tj	d%d&|jgtj�d'tj��|jg|j �d(�d)�}t!d-i|��}Wnt"�y�}zt#|�d*}d}d+}g}WYd}~nd}~wwt$||||d,��}|S).z
    Updates partnership.
    r=T�)Partnership details updated successfully!Nrprqrrrsr-r|r~rr�r��isLargeImageDeletedrz�isSmallImageDeletedrr�r�r�r�r�r�r�Fr�r�r�r�r�r�r�r�r�r��PARTNERSHIP_SETTINGS_EDITEDrcrdrerfr(rlr)r:)%rr�rGr�r�r�rr.r/r0r1r�r�r�r�r�r�rKr�rr�r�r�rr�r�r�r�r�rrorpr�rr3r�r)r4r6r+r,r-rS�
logo_larger�r�r�r�rr�r�r�r�r��notify_datar9r8r:r:r;�update_partnership_settings�s�






����r�c
Csd�zd}d}d}g}d}t��}td|�tj�tj|k���}|s(tj�d�}|�r|�r|�dd�r:|�d�|_	|�dd�rF|�d�|_
|�dd�rR|�d�|_d	|vrdt|�d	�t
�rd|�d	�|_|��|�d
d�}|r�d|d|jd
|jd�}zRtj�tj|k���}	|	s�td i|��}	|	��|	��}
|	|
d�}td ddd�|��}td ddd�|��}d�|j�}
ddlm}|j|
|g||tj�d�d�Wnty�}z
t|�WYd}~nd}~wwtjdd|jgtj�dtj��|jg|j	�d�d�}t d i|��}Wn t�y&}zd}d
}dt!|���}g}WYd}~nd}~wwt"||||d��}|S)!Nr=Tr�zpartnership_data : r�rurwr}rArvrBr�Fr�r�r�r�r�r�rr�r�r�r�rcrdrerfr(z&Partnership details updation failed!: r)r:)#rrFr�rr.r/r0r1rGr�r�r��
isinstance�boolr�rKr�rIrrlr�rr�r�r�r�rr�r3rrorprr�r)r0r6r+r,r-rSr�r�r�rWr�r�r�r�r�r8r�r9r:r:r;�update_white_label_configjs�
�


���
�����r�c
Cs�z�d}d}d}i}tj�tj|k���}|stj�d�}t��}|s$i}|�dd�}|�dd�}|r6||_n|j}i}	d}
d}d|	dvrYd	|	ddvrY|	ddd	}
|
|d	<|rod
|	ddvro|	ddd
}||d
<t	j
d}t|�}
|
r�|
�|
�|_
|r�g}|D]}|
�|�}|�|�q�||_|
s�|r�|��nd
}d}d}Wnty�}zd
}d}dt|���}g}WYd}~nd}~wwt||||d��}|S)Nr=Tz.Domain verification request sent successfully!r��
isDkimEnabledrur�r-r�r�r�r�r(Fz#Domain verification request failed!z%Domain verification request failed!: r))rr.r/r0r1rGrrFr�rr�rr�r�rbr�rKr3r�r)r4r6r+r,r-rS�domain_verify_datar�r�r�r�rcr�r�r��	dkimtokenr�r8r9r:r:r;�verify_ses_domain�sr


����r�c
Cs�zId}d}d}i}tj�tj|k���}|stj�d�}t��}|s$i}|�dd�}|r4||_|�	�n|j}t
�|�}|�dd�sHd}d}d	}Wntyh}	zd}d}d
t
|	���}g}WYd}	~	nd}	~	wwt||||d��}
|
S)Nr=Tz-Email verification request sent successfully!r�rwFrRr(z"Email verification request failed!�$Email verification request failed!: r))rr.r/r0r1rGrrFr�rKrrnr3r�r)r4r6r+r,r-rS�email_verify_datar��email_verify_responser8r9r:r:r;�verify_ses_email�sH

����r�c
Cs
zZd}d}d}i}tj�tj|k���}|stj�d�}|j|jg}t�	|�}g}d|dvrW|dd�
�D]\}	}
i}|	|d<|
d|d	<d
|	vrMdnd|d
<|�|�q7|}Wntyy}zd}d}dt
|���}g}WYd}~nd}~wwt||||d��}
|
S)Nr=Tz1Identity verification status fetched succesfully!r�rxr-r7ryr8r�rlrdr9r(Fr�r))rr.r/r0r1rGr�r�rr�rnrbr3r�r)r4r6r+r,r-rSr�r�r�r�r�r�r8r9r:r:r;� check_ses_identity_verify_status+sB
���r�)Ur��logging�logrxr�r�flask_babelr�_�flaskrrrr�flask_loginrr	r
�$buyercall.blueprints.contacts.modelsr�!buyercall.blueprints.email.modelsr�&buyercall.blueprints.form_leads.modelsr
�!buyercall.blueprints.issue.modelsr�!buyercall.blueprints.leads.modelsr�+buyercall.blueprints.notification.utilitiesr�'buyercall.blueprints.partnership.modelsrrrr�(buyercall.blueprints.phonenumbers.modelsr�buyercall.blueprints.sms.modelsr�$buyercall.blueprints.user.decoratorsr� buyercall.blueprints.user.modelsrr�rr�buyercall.lib.flask_mailplusr� buyercall.lib.supervisor_managerr2r�r�buyercall.lib.util_cryptor�buyercall.lib.util_datetimer�buyercall.lib.util_queryr�buyercall.lib.util_restr �__name__�sysadmin_api�	getLoggerr�r<rXrZrjrnr�rr�rr,r3r�r�r�r�r�r�r�r�r�r�r:r:r:r;�<module>s�

 
8


\<
"
&
,


-

z
N
E
+