o
    ìcj1                     @   s@   d dl mZ d dlmZmZ eG dd dZG dd dZdS )    )	dataclass)datetimetimezonec                   @   s<   e Zd ZU eed< eed< eed< eed< defddZdS )	AgentCredentialsusername	extensionpasswordconnected_atreturnc                 C   s   | j | j| j dS )N)r   r   r	   )r   r   r	   	isoformatself r   @/var/www/html/bot-asterisk-ari/backend/services/agent_session.py	to_public   s   zAgentCredentials.to_publicN)__name__
__module____qualname__str__annotations__r   dictr   r   r   r   r   r      s   
 r   c                   @   s^   e Zd ZdddZededB fddZdeded	edefd
dZdddZ	de
fddZdS )AgentSessionStorer
   Nc                 C   
   d | _ d S N_currentr   r   r   r   __init__      
zAgentSessionStore.__init__c                 C   s   | j S r   r   r   r   r   r   current   s   zAgentSessionStore.currentr   r   r   c                 C   s(   t | | |ttjd| _| jS )N)r   r   r   r	   )r   stripr   nowr   utcr   )r   r   r   r   r   r   r   register   s   
zAgentSessionStore.registerc                 C   r   r   r   r   r   r   r   clear%   r   zAgentSessionStore.clearc                 C   s
   | j d uS r   r   r   r   r   r   is_connected(   r   zAgentSessionStore.is_connected)r
   N)r   r   r   r   propertyr   r   r   r"   r#   boolr$   r   r   r   r   r      s    

	r   N)dataclassesr   r   r   r   r   r   r   r   r   <module>   s
    