
    +h                     Z    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             Z	y)    )	dataclassasdict)datetime)ListDictAnyNc                   T   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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       Z	deeef   fdZ
edeeef   dd fd       Zy)RoleplayScenarioidcategory	objectivedetailsai_rolelearner_roleskills_to_assessscenario_setupai_characterscenario_introconversation_startersuccess_criteria
created_atreturnc                      | t        t        j                               ||||||d d |||	|
|t        j                         j                               S )N   )r   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   s               FC:\Users\pusha\Downloads\roleplay_prototype_edurigo\models\scenario.py
create_newzRoleplayScenario.create_new   sY    
 4::< %-bq1)%)!5-||~//1
 	
    c                     t        |       S )N)r   )selfs    r!   to_dictzRoleplayScenario.to_dict+   s    d|r#   datac                 L    d|vrd|j                  dd       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. )get)r    r'   s     r!   	from_dictzRoleplayScenario.from_dict.   sE     4''RSWS[S[\jlySzR{  |D  &ED!"{T{r#   N)__name__
__module____qualname__r   __annotations__r   r   r   classmethodr"   r&   r,   r*   r#   r!   r
   r
      s>   GMN#s(^L3icN"sCx. O
# 
# 
S#X 

/2
FJ3i
#'S>
AEc3h
 $'
 ?B
 VY
 ^p
 
(c3h  T#s(^ 0B  r#   r
   )
dataclassesr   r   r   typingr   r   r   r   r
   r*   r#   r!   <module>r4      s+    )  " " 
, , ,r#   