o
    W6i                     @   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< dZeeeef  ed< dZ	eed< dZ
eed< dZeed< dZeed< dZeed< e			d!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eeeef  dede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_atNroleplay_questions roleplay_namerolemedium
difficulty,  duration   max_attemptsreturnc                 C   s   | di d|d|d|d|d|d|d|d d d	|d
|	d|
d|d|d|d|d|d|d|d|dt   S )Nr	   r
   r   r   r   r   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   r   r   r   r   r   r"   r"   A/var/www/eduai.edurigo.com/roleplay/production/models/scenario.py
create_new   sN   	
zRoleplayScenario.create_newc                 C   s   t | S )N)r   )selfr"   r"   r&   to_dict;   s   zRoleplayScenario.to_dictdatac                 C   s   d|vrd| dd d|d< d|v rd|vr|d|d< d|vr'd |d< d	|vr/d
|d	< d|vr;| dd
|d< d|vrK| di  dd|d< d|vrSd|d< 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   r   r   r   r   r   difficulty_levelr   r   r   r   r   r"   )getpop)r%   r*   r"   r"   r&   	from_dict>   s"   zRoleplayScenario.from_dict)Nr   r   r   r   r   )__name__
__module____qualname__str__annotations__r   r   r   r   r   r   r   r   intr   classmethodr'   r)   r0   r"   r"   r"   r&   r      st   
 

 r   )
dataclassesr   r   r   typingr   r   r   uuidr   r"   r"   r"   r&   <module>   s    