
    hH                     \   d dl Z d dlmZmZmZ d dlmZ d dlmZ  e       Z	 e         e j                  dd      Zd dlZd dlmZmZmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ  e       Z	e	j?                  d       ee      fde de!de"fd       Z#y)    N)	APIRouterDependsHTTPException)"disable_installed_extensions_check)check_user_is_adminFILE_STORAGE_PATHfiles)desc)User)Program)Certificate)Course)Module)Lesson)Registration)CourseProgramz/certificates/activateuser_id
program_iddependenciesc                    |\  }}|j                  t              j                  t        j                  | k(        j	                         }|st        dd      |j                  t              j                  t        j                  |k(        j	                         }|st        dd      |j                  t              j                  t        j                  |j                  k(  t        j                  |j                  k(  t        j                  d k7        j	                         }|rt        dd      |j                  t              j                  t        t        j                  t        j                  k(        j                  t        t        j                  t        j                  k(        j                  t        j                  |j                  k(        j!                  t#        t        j$                              j	                         }|st        dd      |j                  t&              j                  t&        j(                  |j                  k(        j!                  t#        t&        j$                              j	                         }	|	st        dd      d	t+        j,                         j.                  d d
 j1                          }
t3        |
      }|j5                  |       |j7                          |j9                  |       d|j                  |j:                  |j                  |j                  ddS )Ni  zUtilisateur introuvable)status_codedetailzProgramme introuvablei  u   Certificat déjà existantu   Aucun module trouvéu   Aucune leçon trouvéezCERT-   )	referenceu   Certificat activé avec succès)idr   r   r   )messagecertificate)queryr   filterr   firstr   r   r   r   r   certificate_idr   joinr   	course_idr   order_byr
   orderr   	module_iduuiduuid4hexupperr   addcommitrefreshr   )r   r   r   dbadminuserprogramexistinglast_modulelast_lessonr   r   s               f/Users/theessential/Documents/Github/KofAcademy/kof-academy-backend/app/routers/admins/certificates.pyactivate_certificater6   $   s^    IB 88D>  G!34::<D4MNN hhw&&wzzZ'?@FFHG4KLL 		$$/1H1HGJJ1VXdXsXsw{X{	|	 
 4PQQ HHV	T&&""fii/0	T-00FII=>VM$$

23Xd6<< !
UW  4JKK 		  KNN2	3	$v||$	%		  4LMM$ 

((!,22456I3KFF;IIKJJ{ 5..$..!**ww
	 	    )$osfastapir   r   r   fastapi_pagination.utilsr   app.utils.authentificationr   routergetenvr   r'   
sqlalchemyr
   app.models.userr   app.models.programr   app.models.certificater   app.models.courser   app.models.moduler   app.models.lessonr   app.models.registrationr   app.models.course_programr   poststrinttupler6    r7   r5   <module>rL      s    	 5 5 G : 
 " $BII17;   5 5  ! & . $ $ $ 0 3	%& ""56UUU U 'Ur7   