
    FgEii                        d Z ddlmZmZmZmZmZ ddl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mZ  e       Zej5                  dee          edd       edd       edd       edd       ee       ee      fdee   dee   dee   dee   dedefd       Zej5                  de       ee       ee      fdededefd       Zy)zA
Endpoints admin pour la gestion des recherches de prescriptions
    )	APIRouterDependsQueryHTTPExceptionstatus)Session
joinedload)get_db)User)PrescriptionSearch)Prescription)AdminPrescriptionSearchResponse)get_current_admin)ListOptional/)response_modelNu/   Filtrer par disponibilité de tous les produits)descriptionzFiltrer par ID du partenairez!Filtrer par ID de la prescriptionu=   Filtrer par ID de l'utilisateur ayant initié la prescriptionall_products_available
partner_idprescription_iduser_idcurrent_admindbc                   K   |j                  t              j                  t        t        j                              }| "|j                  t        j                  | k(        }|"|j                  t        j                  |k(        }|"|j                  t        j                  |k(        }|j                  t        j                  j                               j                         }|S w)u   
    Liste de toutes les recherches de prescriptions effectuées par les partenaires.
    Permet de filtrer par disponibilité des produits, partenaire, prescription ou utilisateur.
    )queryr   optionsr	   prescriptionfilterr   r   r   order_by
created_atdescall)r   r   r   r   r   r   r   searchess           X/home/www/lebenam.kofcorporation.com/app/api/v1/endpoints/admin/prescription_searches.pyget_prescription_searchesr&      s      HH'(00%223E )/FFJ``a/::jHI"/???RS ~~0;;@@BCGGIHOs   C%C'z/{search_id}	search_idc                 T  K   |j                  t              j                  t        t        j                        j                  t
        j                              j                  t        j                  | k(        j                         }|st        t        j                  d      |S w)u?   
    Détails d'une recherche de prescription spécifique.
    u&   Recherche de prescription non trouvée)status_codedetail)r   r   r   r	   r   r   userr   idfirstr   r   HTTP_404_NOT_FOUND)r'   r   r   searchs       r%   get_prescription_search_detailsr0   2   s      XX()11%223>>|?P?PQf""i/0  11;
 	

 Ms   B&B()__doc__fastapir   r   r   r   r   sqlalchemy.ormr   r	   app.db.sessionr
   app.models.userr   app.models.prescription_searchr   app.models.prescriptionr   app.schemas.prescriptionr   app.core.securityr   typingr   r   routergetboolintr&   r0        r%   <module>rA      s,   E D . !   = 0 D / !	C%D EF-24Ev-w %d8V W%*4=`%a"45tu!"34&/$TN c] c]	
  	 G@ N+JK ""34&/ 	 Lr@   