o
    [<h                     @   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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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idcategory	objectivedetailsai_rolelearner_roleskills_to_assessscenario_setupai_characterconversation_startersuccess_criteria
created_atreturnc                 C   s8   | t t ||||||d d |||	|
t  dS )N   )r	   r
   r   r   r   r   r   r   r   r   r   r   )struuiduuid4r   now	isoformat)clsr
   r   r   r   r   r   r   r   r   r    r   P/var/www/eduai.edurigo.com/doc_train/edurigo_ai/roleplay/prod/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   s   | di |S )Nr   r   )r   r"   r   r   r   	from_dict,   s   zRoleplayScenario.from_dictN)__name__
__module____qualname__r   __annotations__r   r   r   classmethodr   r!   r#   r   r   r   r   r      sD   
 

 r   )
dataclassesr   r   r   typingr   r   r   r   r   r   r   r   r   <module>   s    