o
    *f                     @   s   d dl Z d dlmZmZmZ d dlmZ d dlZd dlmZmZ edddd G d	d
 d
eZ	de
de
de
de
fddZde
defddZdS )    N)DocumentStringFieldDateTimeField)datetime)connect
disconnectZjardin_azuayoz192.168.1.5ii  )hostportc                   @   sN   e Zd ZeddZeddZeddZeddZee	j
dZdddgdZdS )	ChatT)required)defaultZhistorial_chatchatRoom	createdAt)
collectionindexesN)__name__
__module____qualname__r   humanMessagesystemMessage	aiMessager   r   r   nowr   meta r   r   DC:\Users\Smart\PycharmProjects\BackAgrotaPY\app\mongo\scheme\chat.pyr
      s    




r
   systemhumanair   c                 C   s4   t || ||d}|  td|j d|j  d S )N)r   r   r   r   zNuevo chat creado con ID: z
 y fecha: )r
   saveprintidr   )r   r   r   r   Znew_chatr   r   r   saveNewChat   s   r!   room_idlimit_chatsc                 C   sX   g d}t j| dd|j| }t| t|dkr)dd |D }t|S t	 S )u   
    Recupera todos los chats de un chatRoom específico.
    :param room_id: Identificador del cuarto de chat.
    :param limit : Limit of chats
    :return: Lista de documentos Chat.
    r   r   r   )r   z
-createdAtr   c                 S   s   g | ]}|j |j|jd qS )r$   r$   ).0chatr   r   r   
<listcomp>3   s    z%get_chats_by_room.<locals>.<listcomp>)
r
   objectsorder_bylimitonlyr   lenjsondumpslist)r"   r#   Zfields_to_retrievechats
chats_jsonr   r   r   get_chats_by_room(   s   
r2   )r-   Zmongoenginer   r   r   r   uuidr   r   r
   strr!   intr2   r   r   r   r   <module>   s    