File: //home/arjun/projects/buyercall/buyercall/blueprints/activity/__pycache__/models.cpython-310.pyc
o
�weL � @ s� d dl Zd dlmZ d dlZd dlmZ d dlmZ d dl m
Z
mZ d dlm
Z
mZ d dlmZ G dd � d ee�ZG d
d� dee�ZG dd
� d
eej�ZdS )� N)�Enum)�DateTime)�db)�
AwareDateTime�
ResourceMixin)�tzware_datetime�timedelta_months)�Userc @ s e Zd ZdZdZdZdZdZdS )�ActivityType)�
authorization)�page)�modal)�data�creditN)�__name__�
__module__�__qualname__�
AUTHORIZATION�PAGE�MODAL�DATA�CREDIT� r r �F/home/arjun/projects/buyercall/buyercall/blueprints/activity/models.pyr
s r
c @ s8 e Zd ZdZdZdZdZdZdZdZ dZ
d Zd
ZdZ
dS )
�ActivityName)zlogout.success)z
login.success)zlogin.failed)zlogin.twofactauth.success)zlogin.twofactauth.failed)zlogin.acceptterms)zlogin.declineterms)�view)�edit)�pdf�downloadN)r r r �LOGOUT�
LOGIN_SUCCESS�LOGIN_FAILED�TWOFACTAUTH_SUCCESS�TWOFACTAUTH_FAILED�LOGIN_ACCEPTTERMS�LOGIN_DECLINETERMS�VIEW�EDIT�PDF�DOWNLOADr r r r r s r c @ sv e Zd ZdZejejdd�Zejejejddddd�ddd �Z eje�
d
�ddd�Zeje�
d
�ddd�Zeje�
d
�ddd�Z
eje�
d
�ddd�Zeje�
d
�ddd�Zeje�
d
�ddd�Zeje�
d
�ddd�Zejejdd
�Zejejejdddd�ddd �Zejejejdddd�ddd �Zeddd��Zedd� �Zedd� �Zedd� �Zedd� �Zedd� �ZdS )�ActivityLogs�
activity_logsT)�primary_keyzusers.id�activity_logs_user_id_fkey�CASCADE)�name�onupdate�ondeleteF)�index�nullable�@ � )r3 �server_default)r3 zpartnerships.id)r0 r1 zpartnership_accounts.idNc
C s� d}d}t j�t j|k��� } | r| j}| j}z)t||||| �|�| � |�| �
|�| �|�|||d�}
tj
�|
� tj
�� W dS ty\ } zt�dt|� � W Y d}~dS d}~ww )z5
Create new user activity log entry
N)�user_id�typer/ �description�
ip_address�device_browser� device_os�resource_address�resource_id�partnership_id�partnership_account_idz%Error adding to activity log. Error: )r �query�filter�id�firstr? r@ r* �get_ip_address_from_request�get_device_browser_from_request�get_device_os_from_request�!get_resource_address_from_requestr �session�add�commit� Exception�log�error�str)�clsr7 r8 r/ �requestr>