
    lho                         d dl 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
 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edefdZy)    )datetimetimezone)Session)HTTPExceptionstatus)QueryPaginator)Country)UUID)IntegrityError)Optional)WineDb)APIExceptiondbreturnc                 X  K   	 | j                  t        j                        j                         j	                         }|D cg c]  }|d   s	|d    }}|D cg c]  }| c}S c c}w c c}w # t
        $ r-}t        ddt        |      it        j                  d      d }~ww xY ww)Nr   
get_colors	exceptionzFailed to fetch colors.)moduleerrorstatus_codemessage)
queryr   colordistinctall	Exceptionr   strr   HTTP_500_INTERNAL_SERVER_ERROR)r   colorsc
color_listr   es         V/var/www/html/wine-match-dev/backend/winematch-backend/src/apps/base/services/color.pyr   r      s     
&,,'002668$*3qadad3
3#-.%.. 4. #"CF+"AA1	 	sL   B*?A1 
A'A'A1 	A,$A1 &B*'
A1 1	B':(B""B''B*N)r   r   sqlalchemy.ormr   fastapir   r   src.utils.paginationr   src.apps.base.models.countryr	   uuidr
   sqlalchemy.excr   typingr   src.apps.wine.wine.models.winer   src.core.exceptionsr   listr        r#   <module>r0      s6    ' " ) / 0  )  1 , T r/   