
    mh              
       n   d dl Z d dlZd dlmZmZmZmZ d dlmZ d dl	m
Z
mZmZmZmZ d dlmZ d dlmZmZ d dlmZ d dlmZ  e       Z e         ej2                  d	d
      Z e       Zej7                  d       ed       ed       ed       ee      fdedededefd       ZejA                  d       ee      fdefd       Z!ejA                  d       ee      fdedefd       Z"ej7                  d       ee      fdededefd       Z#ejA                  d       ee      fdefd       Z$y)    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                    |\  }}|j                  t              j                  t        j                  |j                  k(  t        j
                  | k(  t        j                  t        j                  k(        j                         }|st        dd      t        |||j                        }|j                  |       |j                          |j                  |       ||j                  |j                   dd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           a/Users/theessential/Documents/Github/KofAcademy/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                    | \  }}|j                  t              j                  t        t        j                  t        j
                  k(        j                  t        j                  |j
                  k(        j                         }|S 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                    |\  }}|j                  t              j                  t        j                  |j                  k(  t        j
                  | k(        j                         }|st        dd      |j                  t              j                  t        j
                  | k(        j                  t        j                  j                               j                         }|S )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                    |\  }}|j                  t              j                  t        j                  |j                  k(  t        j
                  | k(        j                         }|st        dd      t        | |j                  |j                  t        j                               }|j                  |       |j                          |j                  |       |S )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                     | \  }}|j                  t              j                  t        j                  |j                  k(        j                  t        j                  j                               j                         }|S 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 ;	 " $BII17;  
Z3iS	9!"67	%%
% % 	% %N N)01E)F    $% ""67 &0 ./ ""67!  0< ,34H,I E  r0   