
    ցh                     2   S SK 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
  \" 5       r\" 5         \ R                  " SS5      r\R                  S5      \" \5      4S	\S
\\   S\4S jj5       r\R                  S5      \" \5      4S\S
\\   S\4S jj5       rg)    N)	APIRouterDependsHTTPException)"disable_installed_extensions_check)check_user_is_admin)modelsFILE_STORAGE_PATHfilesz&/programs/{program_id}/reorder-courses
program_idorderdependenciesc                   ^	 Uu  p4UR                  [        R                  5      R                  [        R                  R                  U :H  5      R                  5       nU(       d  [        SS5      eU Vs/ s H  ofR                  PM     nn[        U5      [        U5      :w  a  [        SS5      e[        U5       H!  u  nm	[        U	4S jU 5       5      nXl        M#     UR                  5         SS0$ s  snf )N  z!No courses found for this program  zInvalid course orderc              3   J   >#    U  H  oR                   T:X  d  M  Uv   M     g 7f)N)	course_id).0pcr   s     ID:\kofCorporation\kof-academy-backend\app\routers\admins\organisations.py	<genexpr>"reorder_courses.<locals>.<genexpr>*   s     L,,)2K""s   #	#messagezCourses reordered successfully)queryr   CourseProgramfilterr   allr   r   set	enumeratenextr   commit)
r   r   r   dbadminprogram_coursesr   pivot_course_idsindexr   s
            @r   reorder_coursesr&      s     IB hhv334 4 4 ? ?: MN  C!DEE 0???
5zS)**C!788 &e,yLLL - IIK788 @s   4C3z$/courses/{course_id}/reorder-modulesr   c                   #    Uu  p4UR                  [        R                  5      R                  [        R                  R                  U :H  5      R                  5       nU(       d  [        SS5      eU Vs/ s H  ofR                  PM     nn[        U5      [        U5      :w  a  [        SS5      eU Vs0 s H  ofR                  U_M     nn[        U5       H  u  pXU
   l
        M     UR                  5         SS0$ s  snf s  snf 7f)Nr   z No modules found for this courser   zInvalid module orderr   zModules reordered successfully)r   r   Moduler   r   r   r   idr   r   r   r    )r   r   r   r!   r"   modulesm
module_idsmodules_dictr%   	module_ids              r   reorder_modulesr/   1   s      IB hhv}}%,,V]]-D-D	-QRVVXGC!CDD '(1$$J( 5zS_$C!788 &--WDD!GWL- &e,(-Y% - IIK788! ) .s   A3D5C=
*D4D
=D)osfastapir   r   r   fastapi_pagination.utilsr   app.utils.authentificationr   appr   routergetenvr	   postintlisttupler&   r/        r   <module>r=      s    	 5 5 G :  
 " $II17; 56 ""569999 9 798 34 ""569999 9 59r<   