
    |Gi
                         d dl mZmZmZ d dlmZ d dlmZ d dlmZ  G d de	e      Z
 G d de      Z G d	 d
e      Z G d de      Z G d de      Zy)    )	BaseModelFieldEmailStr)Optional)datetime)Enumc                       e Zd ZdZdZdZdZy)CourseStatusdraftactivearchiveddeletedN)__name__
__module____qualname__r   r   r   r        ;/var/www/html/syllabuild_admin/backend/db/schemas/course.pyr
   r
   
   s    EFHGr   r
   c                   *   e Zd ZU dZee   ed<   dZee   ed<   dZee   ed<   dZ	ee   ed<   dZ
ee   ed<   dZee   ed<   dZee   ed<   dZee   ed	<   dZee   ed
<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZ ee   ed<   dZ!ee"   ed<   dZ#ee   ed<   y)
CourseBaseN	course_idtopictask_idskillsdegreeallocated_timemode_of_deliverytoneweblinkslanguagecontent_descriptioncontent_outcomestaxonomycontent_objectivescontent_summaryoutlinelearning_approachno_of_moduleslevel_of_difficultytype_of_assessmentno_of_questionsemailstatus   course_stepcourse_imscc_urlF
is_deleteduser_id)$r   r   r   r   r   str__annotations__r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   intr)   r*   r+   r,   r   r-   r/   r0   r1   boolr2   r   r   r   r   r      s   #Ix}#E8C=!GXc]! FHSM  FHSM $(NHSM(&*hsm*D(3-"Hhsm""Hhsm")-#-&*hsm*"Hhsm"(,,%)OXc])!GXc]!'+x}+#'M8C=')-#-(,,%)OXc]) $E8H$ FHSM !"K#"&*hsm*!&J&!GXc]!r   r   c                   N    e Zd ZU dZ edd      Zeed<    edd      Ze	ed<   y)	CourseCreatez!Schema for creating a new course..zThe main topic of the course)descriptionr   z&The ID of the user creating the courser2   N)
r   r   r   __doc__r   r   r3   r4   r2   r5   r   r   r   r8   r8   6   s)    +s(FGE3G*RSGSSr   r8   c                       e Zd ZdZy)CourseUpdatez'Schema for updating an existing course.N)r   r   r   r:   r   r   r   r<   r<   ?   s    1r   r<   c                   D    e Zd ZU dZeed<   eed<   eed<    G d d      Zy)	CourseOutz!Schema for returning course data.id
created_at
updated_atc                       e Zd ZdZy)CourseOut.ConfigTN)r   r   r   from_attributesr   r   r   ConfigrC   M   s    r   rE   N)r   r   r   r:   r5   r4   r   rE   r   r   r   r>   r>   G   s     +G r   r>   N)pydanticr   r   r   typingr   r   enumr   r3   r
   r   r8   r<   r>   r   r   r   <module>rI      sU    / /   3 " "DT: T	: 	
 r   