o
    $hU                     @   sN   d dl mZmZ d dlmZ d dlmZmZmZ d dlZeG dd dZ	dS )    )	dataclassasdict)datetime)ListDictAnyNc                   @   s$  e Zd ZU eed< eed< eed< eeef ed< eed< eed< ee ed< eeef ed< eeef ed	< eed
< eed< eed< eed< ededededeeef dededee deeef d	eeef d
edededd fddZ	deeef fddZ
edeeef dd fddZdS )RoleplayScenario
session_idcategory	objectivedetailsai_rolelearner_roleskills_to_assessscenario_setupai_characterscenario_introconversation_startersuccess_criteria
created_atreturnc                 C   s2   | |||||||d d ||	|
||t   dS )N   )r	   r
   r   r   r   r   r   r   r   r   r   r   r   )r   now	isoformat)clsr	   r
   r   r   r   r   r   r   r   r   r   r    r   >/var/www/eduai.edurigo.com/roleplay/staging/models/scenario.py
create_new   s   

zRoleplayScenario.create_newc                 C   s   t | S )N)r   )selfr   r   r   to_dict+   s   zRoleplayScenario.to_dictdatac                 C   sL   d|vrd| dd d|d< d|v rd|vr|d|d< | di |S )	Nr   z+You are about to engage in a roleplay as a r   participantzH. The scenario will begin when the other person starts the conversation.idr	   r   )getpop)r   r    r   r   r   	from_dict.   s
   zRoleplayScenario.from_dictN)__name__
__module____qualname__str__annotations__r   r   r   classmethodr   r   r%   r   r   r   r   r      sJ   
 

 r   )
dataclassesr   r   r   typingr   r   r   uuidr   r   r   r   r   <module>   s    