
    溭h              
          S SK r S SKrS SKJrJrJrJr  S SKJr  S SK	J
r
JrJrJrJr  S SKJr  S SKJrJr  S SKJr  S SKJr  \" 5       r\" 5         \R2                  " S	S
5      r\" 5       r\R7                  S5      \" S5      \" S5      \" S5      \" \5      4S\S\S\S\4S jj5       r\RA                  S5      \" \5      4S\4S jj5       r!\RA                  S5      \" \5      4S\S\4S jj5       r"\R7                  S5      \" \5      4S\S\S\4S jj5       r#\RA                  S5      \" \5      4S\4S jj5       r$g)    N)	APIRouterDependsHTTPExceptionForm)"disable_installed_extensions_check)NotificationReviewChatWaveUserWave)Registration)ReviewCreateChatMessageCreate)RegistrationTrackingState)check_token_validityFILE_STORAGE_PATHfilesz/reviews.
program_idnotecommentdependenciesc                    Uu  pEUR                  [        5      R                  [        R                  UR                  :H  [        R
                  U :H  [        R                  [        R                  :H  5      R                  5       nU(       d
  [        SSS9e[        UUUR                  S9nUR                  U5        UR                  5         UR                  U5        UUR                  UR                   S.S.$ )N  u7   Vous devez compléter le programme pour laisser un avisstatus_codedetail)r   r   registration_id)	firstnamelastname)reviewuser)queryr   filteruser_ididr   tracking_stater   FINISHEDfirstr   r	   addcommitrefreshr   r   )r   r   r   r   dbr!   registrationr    s           CD:\kofCorporation\kof-academy-backend\app\routers\students\chats.pycreate_reviewr/      s     HB 88L)00':-##'@'I'II eg	  L
 	
 $F FF6NIIKJJv!^^ MM     z/chats/wavesc                    U u  pUR                  [        5      R                  [        [        R                  [        R
                  :H  5      R                  [        R                  UR
                  :H  5      R                  5       nU$ N)	r"   r   joinr   wave_idr%   r#   r$   all)r   r,   r!   wavess       r.   get_user_wavesr7   E   s]    HB 		h((DGG3	4	  DGG+	,		 
 Lr0   z/chats/waves/{wave_id}r4   c                    Uu  p#UR                  [        5      R                  [        R                  UR                  :H  [        R
                  U :H  5      R                  5       nU(       d
  [        SSS9eUR                  [        5      R                  [        R
                  U :H  5      R                  [        R                  R                  5       5      R                  5       nU$ )Nr      Non inscrit à cette vaguer   )r"   r   r#   r$   r%   r4   r(   r   r
   order_by
created_atascr5   )r4   r   r,   r!   r-   messagess         r.   get_wave_messagesr>   U   s    
 HB 88L)00'' eg 
 4PQQxx~$$ht""$%cce  Or0   z/chats/waves/{wave_id}/messages
message_inc                    Uu  p4UR                  [        5      R                  [        R                  UR                  :H  [        R
                  U :H  5      R                  5       nU(       d
  [        SSS9e[        U UR                  UR                  [        R                  " 5       S9nUR                  U5        UR                  5         UR                  U5        U$ )Nr   r9   r   )r4   r$   contentr;   )r"   r   r#   r$   r%   r4   r(   r   r
   rA   datetimeutcnowr)   r*   r+   )r4   r?   r   r,   r!   r-   messages          r.   post_messagerE   n   s     HB 88L)00'' eg 
 4PQQ""??$	G FF7OIIKJJwNr0   z/notificationsc                     U u  pUR                  [        5      R                  [        R                  UR                  :H  5      R                  [        R                  R                  5       5      R                  5       nU$ r2   )	r"   r   r#   r$   r%   r:   r;   descr5   )r   r,   r!   notificationss       r.   get_notificationsrI      s^    HBHH\*11'h|&&++-.ssu  r0   )%rB   osfastapir   r   r   r   fastapi_pagination.utilsr   app.models.baser   r	   r
   r   r   app.models.registrationr   app.schemas.userr   r   %app.enums.registration_tracking_stater   app.utils.authentificationr   routergetenvr   postintstrtupler/   getr7   r>   rE   rI    r0   r.   <module>rZ      s    	 < ; G
 G F 0 < K ;	 " $II17;  
Z3iS	9!"67	%%
% % 	% %N N)01E)F    $% ""67 &0 ./ ""67!  0< ,34H,I E  r0   