
    9h                        S SK J r   S SKJr  S SKJr  S SKJrJrJrJ	r	  S SK
JrJrJr  S SKJr  S SKJr  S SKJr   " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S \5      r " S! S"\5      r " S# S$\5      r  " S% S&\5      r! " S' S(\5      r" " S) S*\5      r# " S+ S,\5      r$ " S- S.\5      r% " S/ S0\5      r& " S1 S2\5      r' " S3 S4\5      r( " S5 S6\5      r) " S7 S8\5      r* " S9 S:\5      r+ " S; S<\5      r, " S= S>\5      r- " S? S@\5      r. " SA S
\5      r " SB SC\5      r/ " SD SE5      r0 " SF SG\5      r1 " SH SI\5      r2 " SJ SK\3\5      r4 " SL SM\3\5      r5 " SN SO\5      r6gP)Q    )datetime)Optional)Enum)	BaseModelconintEmailStr
ConfigDict)FormFile
UploadFile)BaseModelConfig)GeneralState)Listc                       \ rS rSr% Sr\\   \S'   Sr\\   \S'   Sr	\\   \S'   Sr
\\   \S'   Sr\\   \S'   Sr\\   \S'   S	r\\   \S
'   S	r\\   \S'   \\S'   \\S'   Sr\\   \S'   Srg)
UserCreate   N	firstnamelastnamephonecountry_codeaddressemailFemail_verifyphone_verifypasswordrolestate )__name__
__module____qualname____firstlineno__r   r   str__annotations__r   r   r   r   r   r   boolr   r   __static_attributes__r       9D:\kofCorporation\kof-academy-backend\app\schemas\user.pyr   r      s    #Ix}#"Hhsm"E8C="&L(3-&!GXc]!E8C=#(L(4.(#(L(4.(M
IE8C=r'   r   c                   >    \ rS rSr% Sr\\   \S'   Sr\\   \S'   Sr	g)	UserLogin   Nr   r   r   
r   r    r!   r"   r   r   r#   r$   r   r&   r   r'   r(   r*   r*      s    E8C=E8C=r'   r*   c                   *    \ rS rSr% \\S'   \\S'   Srg)
AdminLogin"   r   r   r   Nr   r    r!   r"   r#   r$   r&   r   r'   r(   r.   r.   "   s    JMr'   r.   c                   f    \ rS rSr% Sr\\   \S'   Sr\\   \S'   Sr	\\
   \S'   Sr\\   \S'   Srg)	UserSendOtp'   Nr   r   Fis_newuser_idr   )r   r    r!   r"   r   r   r#   r$   r   r4   r%   r5   r&   r   r'   r(   r2   r2   '   s:    E8C=E8C="FHTN"!GXc]!r'   r2   c                   *    \ rS rSr% \\S'   \\S'   Srg)UserCheckPassword.   idr   r   Nr0   r   r'   r(   r7   r7   .   s    GMr'   r7   c                   *    \ rS rSr% \\S'   \\S'   Srg)UserPasswordUpdate3   old_passwordnew_passwordr   Nr0   r   r'   r(   r;   r;   3   s    r'   r;   c                   H    \ rS rSr% Sr\\   \S'   Sr\\   \S'   \\S'   Sr	g)UserSetPassword8   Nr   r   r>   r   r,   r   r'   r(   r@   r@   8   s$    E8C=E8C=r'   r@   c                        \ rS rSr% \\S'   Srg)UserTokenData>   device_tokenr   Nr0   r   r'   r(   rC   rC   >   s    r'   rC   c                       \ rS rSr% Sr\\   \S'   Sr\\   \S'   Sr	\\   \S'   Sr
\\   \S'   \\S'   Sr\\   \S'   Sr\\   \S	'   S
r\\   \S'   S
r\\   \S'   \\S'   Srg)UserRegisterPersonalB   Nr   r   countryr   r   r   r   Fr   r   r   r   )r   r    r!   r"   r   r   r#   r$   r   rI   r   r   r   r   r%   r   r&   r   r'   r(   rG   rG   B   s|    E8C=E8C=!GXc]!"&L(3-&
I#Ix}#"Hhsm"#(L(4.(#(L(4.(Mr'   rG   c                       \ rS rSr% Sr\\   \S'   Sr\\   \S'   Sr	\\   \S'   Sr
\\   \S'   Sr\\   \S'   Sr\\   \S'   \\S	'   S
rg)UserRegisterStudentP   Nr   r   r   r   r   r   r   r   )r   r    r!   r"   r   r   r#   r$   r   r   r   r   r   r&   r   r'   r(   rK   rK   P   s[    E8C=E8C=!GXc]!"&L(3-&#Ix}#"Hhsm"Mr'   rK   c                       \ rS rSr% Sr\\   \S'   Sr\\   \S'   Sr	\\   \S'   Sr
\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S	'   Sr\\   \S
'   Srg)
UserUpdateZ   Nr   r   r   r   r   r   r   r   r   )r   r    r!   r"   r   r   r#   r$   r   r   r   r%   r   r   r   r   r&   r   r'   r(   rN   rN   Z   sr    #Ix}#"Hhsm"E8C=#'L(4.'#'L(4.'"&L(3-&E8C=!GXc]!r'   rN   c                       \ rS rSr% \\S'   \\   \S'   \\   \S'   \\   \S'   \\   \S'   \\   \S'   \\   \S'   \\   \S	'   \\   \S
'   \\   \S'   \\S'   \\S'   \\   \S'   \\   \S'   Sr	g)UserBasee   r9   r   r   r   r   r   rE   
created_atr   r   r   r   r   avatarr   N)
r   r    r!   r"   r#   r$   r   r   r%   r&   r   r'   r(   rQ   rQ   e   s    G}smC=3-C=3-""4. 4. M
Ic]SMr'   rQ   c                        \ rS rSr% \\S'   Srg)RegistrationRequestw   
program_idr   N)r   r    r!   r"   intr$   r&   r   r'   r(   rV   rV   w   s    Or'   rV   c                   *    \ rS rSr% \\\4   \S'   Srg)QuizAnswersz   reponsesr   N)r   r    r!   r"   dictr#   r$   r&   r   r'   r(   r[   r[   z   s    38nr'   r[   c                       \ rS rSr% \\S'   \\S'   Sr\S-  \S'   Sr\S-  \S'   \\S'   Sr	\S-  \S'   Sr
\S-  \S	'   S
rg)ProgramCreate}   namedurationNdescriptionprerequisitespriceprice_discountimager   )r   r    r!   r"   r#   r$   rY   rd   re   rg   rh   r&   r   r'   r(   r`   r`   }   sI    
IM"Kt" $M3:$J!%NC$J%E3:r'   r`   c                       \ rS rSr% Sr\\   \S'   Sr\\	   \S'   Sr
\\   \S'   Sr\\   \S'   Sr\\	   \S'   Sr\\	   \S'   Sr\\   \S	'   Sr\\   \S
'   Srg)ProgramUpdate   Nrb   rc   rd   re   rf   rg   rh   r   r   )r   r    r!   r"   rb   r   r#   r$   rc   rY   rd   re   rf   rg   rh   r   r   r&   r   r'   r(   rj   rj      ss    D(3-"Hhsm"!%K#%#'M8C='E8C=$(NHSM(E8C=$(E8L!(r'   rj   c                   H    \ rS rSr% \\S'   Sr\\   \S'   Sr\\   \S'   Sr	g)CourseCreate   titleNrd   rh   r   )
r   r    r!   r"   r#   r$   rd   r   rh   r&   r   r'   r(   rm   rm      s#    J!%K#%E8C=r'   rm   c                   R    \ rS rSr% \\S'   Sr\\   \S'   Sr	\\   \S'   \\S'   Sr
g)ModuleCreate   ro   N	quizCountrh   	course_idr   )r   r    r!   r"   r#   r$   rs   r   rY   rh   r&   r   r'   r(   rq   rq      s(    J#Ix}#E8C=Nr'   rq   c                   f    \ rS rSr% \\S'   Sr\\   \S'   Sr\\   \S'   \	\S'   \	\S'   \	\S'   S	r
g)
LessonCreate   ro   Ncontentresourceorderxp_count	module_idr   )r   r    r!   r"   r#   r$   rx   r   ry   rY   r&   r   r'   r(   rv   rv      s2    J!GXc]!"Hhsm"JMNr'   rv   c                   *    \ rS rSr% \\S'   \\S'   Srg)AnswerCreate   rx   
is_correctr   Nr   r    r!   r"   r#   r$   r%   r&   r   r'   r(   r~   r~          Lr'   r~   c                   0    \ rS rSr% \\S'   \\   \S'   Srg)QuestionCreate   rx   answersr   N)	r   r    r!   r"   r#   r$   r   r~   r&   r   r'   r(   r   r          L,r'   r   c                       \ rS rSr% Sr\S-  \S'   Sr\S-  \S'   Sr\S-  \S'   Sr	\S-  \S'   Sr
\S-  \S'   Sr\S-  \S'   Sr\S-  \S	'   Sr\S-  \S
'   Sr\S-  \S'   Srg)AdminUpdateUser   Nr   r   r   r   r   r   rT   r   r   r   )r   r    r!   r"   r   r#   r$   r   r   r   r   r   rT   r   r   r&   r   r'   r(   r   r      s     IsTz HcDjE3:E3:#L#*#GS4ZFC$JD#*E3:r'   r   c                   &    \ rS rSr% \\   \S'   Srg)AddCoursesToProgram   
course_idsr   N)r   r    r!   r"   r   rY   r$   r&   r   r'   r(   r   r      s    S	r'   r   c                   *    \ rS rSr% \\S'   \\S'   Srg)AnswerUpdate   rx   r   r   Nr   r   r'   r(   r   r      r   r'   r   c                   0    \ rS rSr% \\S'   \\   \S'   Srg)QuestionWithAnswersUpdate   rx   r   r   N)	r   r    r!   r"   r#   r$   r   r   r&   r   r'   r(   r   r      r   r'   r   c                       \ rS rSr% \" S5      4r\\S'   \" S5      4r\\S'   \" S5      4r	\
\S'   \" S5      4r\
\S'   \" S5      4r\\S'   S	rg)
LessonRequest   .ro   rx   rz   r{   Nry   r   )r   r    r!   r"   r
   ro   r#   r$   rx   rz   rY   r{   r   ry   r   r&   r   r'   r(   r   r      sR    cE39:GScE3IJHc:;Hj&r'   r   c                   H    \ rS rSr% \\S'   \" SSS9\S'   Sr\\	   \S'   S	r
g)
ReviewCreate   rX         )geleratingNcommentr   )r   r    r!   r"   rY   r$   r   r   r   r#   r&   r   r'   r(   r   r      s"    OaA!GXc]!r'   r   c                        \ rS rSr% \\S'   Srg)ChatMessageCreate   rx   r   Nr0   r   r'   r(   r   r      s    Lr'   r   c                   H    \ rS rSr% \\S'   \\S'   \\S'   \\S'   \\S'   Srg)	r      r   r   r   r   r   r   N)r   r    r!   r"   r#   r$   r   r&   r   r'   r(   r   r      s    NMOM
Ir'   c                   h    \ rS rSr% \\S'   \\S'   \\S'   \\S'   \\S'   \\S'   \\S'   \" S	S
9rSr	g)UserResponse   r9   r   r   r   rT   r   r   T)from_attributesr   N)
r   r    r!   r"   r#   r$   r   r	   model_configr&   r   r'   r(   r   r      s/    GNMOK
IJd3Lr'   r   c                       \ rS rSrSrSrg)Config   Tr   N)r   r    r!   r"   orm_moder&   r   r'   r(   r   r      s    Hr'   r   c                   *    \ rS rSr% \\S'   \\S'   Srg)ProgressionItem   rt   statusr   N)r   r    r!   r"   rY   r$   r#   r&   r   r'   r(   r   r      s    NKr'   r   c                   0    \ rS rSr% \\S'   \\   \S'   Srg)ProfileResponse   userprogressionr   N)	r   r    r!   r"   r   r$   listr   r&   r   r'   r(   r   r      s    
o&&r'   r   c                       \ rS rSrSrSrSrg)
OTPContext   loginregisterr   N)r   r    r!   r"   r   r   r&   r   r'   r(   r   r      s    EHr'   r   c                       \ rS rSrSrSrSrg)RegistrationTrackingState   IN_PROGRESSFINISHEDr   N)r   r    r!   r"   r   r   r&   r   r'   r(   r   r      s    KHr'   r   c                   f    \ rS rSr% \\S'   \\S'   \\S'   \\S'   \R                  r\	\   \S'   Sr
g)	RegistrationCreate   rX   rt   r|   	lesson_idtracking_stater   N)r   r    r!   r"   rY   r$   r   r   r   r   r&   r   r'   r(   r   r      s,    ONNN:S:_:_NH67_r'   r   N)7r   typingr   enumr   pydanticr   r   r   r	   fastapir
   r   r   app.schemas.baser   app.enums.general_stater   r   r   r*   r.   r2   r7   r;   r@   rC   rG   rK   rN   rQ   rV   r[   r`   rj   rm   rq   rv   r~   r   r   r   r   r   r   r   r   r   r   r   r   r#   r   r   r   r   r'   r(   <module>r      s      < < * * , 0     	   
") "	 
 
i I 
9 
) " " $) ) I )I ) 9  
9 9 9  Y  	i 	) 9  	  
'I '"9 "	  	49 	4 i 'i 'd 
T 
` `r'   