
    Oeh                         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 ej"                  eej$                  e
iZd	ed
edefdZy)    HTTPExceptionstatus)Session)SQLAlchemyError)Location)Country)Region)File)ForeignKeyModels	model_key	record_idlabelc                    t         j                  t        t         j                  t        t         j
                  t        t         j                  t        i}|j                  |      }|st        d|       | j                  |      j                  |j                  |k(        j                         }|s"ddlm}m}  ||j$                  | d| d      y )NzNo model mapped for r   r   z	 with ID z does not exist.)status_codedetail)r   COUNTRYr	   REGIONr
   LOCATIONr   FILEr   get
ValueErrorqueryfilteridfirstfastapir   r   HTTP_404_NOT_FOUND)	dbr   r   r   	model_mapmodelexistsr   r   s	            N/var/www/html/wine-match-dev/backend/winematch-backend/src/utils/validators.pyvalidate_foreign_keyr$      s      '!!8t	I MM)$E/	{;<<XXe_##EHH	$9:@@BF111WIi[0@A
 	
     N)r   r   r   sqlalchemy.ormr   sqlalchemy.excr   src.apps.base.models.locationsr   src.apps.base.models.countryr	   src.apps.base.models.regionsr
   src.apps.files.models.filer   src.utils.enumsr   r   r   	MODEL_MAPintstrr$    r%   r#   <module>r1      sX    ) " * 3 0 / + , xg	

(8 
S 
QT 
r%   