
    h                     f   S SK r S SKJrJrJrJrJrJr  S SKJ	r	  S SK
Jr  S SKJr  S SKrS SKJr  S SKJr  S SKJr  S S	KJr  \" 5       r\	" 5         \ R2                  " S
S5      r\R7                  S5      \" S5      \" S5      \" S5      \" S5      \" S 5      \" \5      4S\S\S\S\S\S\S\4S jj5       r\RA                  S5      \" S5      \" S5      \" S5      \" S5      \" S5      \" \5      4S\S\S\S\S\S\S\S\4S jj5       r!\RE                  S5      \" \5      4S\S\4S jj5       r#g)    N)	APIRouterDependsHTTPExceptionFile
UploadFileForm)"disable_installed_extensions_check)check_user_is_admin)select)GeneralState)Lesson)Module)adminFILE_STORAGE_PATHfilesz/modules/{module_id}/lessons.	module_idtitlecontentresourceorderxp_countdependenciesc                 n   Uu  pxUR                  [        5      R                  [        R                  U :H  5      R	                  5       n	U	(       d
  [        SSS9eUR                  [        5      R                  [        R                  U :H  5      R	                  5       n	U	(       d
  [        SSS9eUUUUU S.n
U(       a  [        R                  R                  UR                  5      S   n[        R                  " 5        U 3n[        R                  R                  [        U5      n[        US5       nUR                  UR                   R#                  5       5        S S S 5        XS'   [%        S0 U
D6nUR'                  U5        UR)                  5         UR+                  U5        U$ ! , (       d  f       NQ= f)	N  Module not foundstatus_codedetail)r   r   r   r   r      wbr    )queryr   filteridfirstr   ospathsplitextfilenameuuiduuid4joinr   openwritefilereadr   addcommitrefresh)r   r   r   r   r   r   r   dbr   modulelesson_dataextr)   filepathflessons                   CD:\kofCorporation\kof-academy-backend\app\routers\admins\lessons.pycreate_lessonr<      sU    IBXXf$$VYY)%;<BBDF4FGGXXf$$VYY)%;<BBDF4FGG K ggx001!4jjl^C5)77<< 18<(D!QGGHMM&&() ""*J"k"FFF6NIIKJJvM "!s   1*F&&
F4z/lessons/{lesson_id}	lesson_idc                    Uu  pUR                  [        5      R                  [        R                  U:H  5      R	                  5       n
U
(       d
  [        SSS9eU bZ  UR                  [        5      R                  [        R                  U :H  5      R	                  5       nU(       d
  [        SSS9eX
l        Ub  X*l        Ub  X:l	        Ub  XZl
        Ub  Xjl        U(       a  [        R                  R                  UR                  5      S   n[         R"                  " 5        U 3n[        R                  R%                  [&        U5      n[)        US5       nUR+                  UR,                  R/                  5       5        S S S 5        Xl        UR3                  5         UR5                  U
5        U
$ ! , (       d  f       N7= f)Nr   Lesson not foundr   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/   r0   r   r2   r3   )r   r=   r   r   r   r   r   r   r4   r   r:   r5   r7   r)   r8   r9   s                   r;   update_lessonr@   G   sZ    IBXXf$$VYY)%;<BBDF4FGG&!((i)?@FFHC8JKK$ " ggx001!4jjl^C5)77<< 18<(D!QGGHMM&&() ""IIKJJvM "!s   *F11
F?c                 @   Uu  p#UR                  [        [        5      R                  [        R                  U :H  5      5      nUR                  5       nU(       d  [        SS5      e[        R                  Ul	        UR                  5         UR                  U5        SS0$ )Nr   r?   messagezLesson deleted successfully)executer   r   wherer$   scalar_one_or_noner   r   DELETEDstater2   r3   )r=   r   r4   r   resultr:   s         r;   delete_lessonrI   w   s|    IBZZv,,VYY)-CDEF&&(FC!344''FLIIKJJv455    )$r&   fastapir   r   r   r   r   r   fastapi_pagination.utilsr	   app.utils.authentificationr
   sqlalchemy.futurer   r*   app.enums.general_stater   app.models.lessonr   app.models.moduler   app.schemasr   schemasroutergetenvr   postintstrtupler<   putr@   deleterI   r!   rJ   r;   <module>r\      s   	 M M G : $  0 $ $ (	 " $II17; +, c::cG!"56))) ) 	)
 ) ) ) -)Z "# d::dJ!"56+++ + 	+
 + + + + $+^ %&8?@S8T 	6S 	6 	6 '	6rJ   