
    xh                         d dl m Z  d dl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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 d dlmZ 	 	 	 ddedede de de!f
dZ"y)    )datetime)UUID)Session)HTTPExceptionstatus)APIException)QueryPaginator)funccastIntegerand_or_)	WordAlias)WordAliasCreateSchemaWordAliasFilterSchemaWordAliasOutputSchemaWordAliasUpdateSchemaWordAliasSchema)WordChangeOutputSchema)API_PREFIXES)settingsNdbpayloadpageper_pagereturnc           
      t  K   	 |dz
  |z  }| j                  t        j                  t        j                        j	                  t        j
                  j                  d            }|r8|j                  r,|j	                  t        j                  |j                  k(        }t        |t        dj                  t        t        j                               t        j                   g      ||d      }|j#                         S # t$        $ r-}t'        ddt        |      it(        j*                  d	      d}~ww xY ww)
zARetrieve all word changes with optional filtering and pagination.   N F)queryschemaurloffsetlimituse_ormget_all_word_changes	exceptionzError retrieving word changes.)moduleerrorstatus_codemessage)r    r   wordaliasfilter
deleted_atis_type
alias_typer	   r   joinstrr   api_base_urlr   WORD_CHANGEpaginate	Exceptionr   r   HTTP_500_INTERNAL_SERVER_ERROR)r   r   r   r   r#   r    	paginatores           g/var/www/html/wine-match-dev/backend/winematch-backend/src/apps/wine/word_alias/services/word_change.pyr&   r&      s     
(h& HHY^^Y__5VI((,,T23 	
 w||LL!5!5!EFE")X2245|7O7OPQ
	 !!## 
)A'==4	
 	

s)   D8C:C? >D8?	D5(D00D55D8)Nr   
   )#r   uuidr   sqlalchemy.ormr   fastapir   r   src.core.exceptionsr   src.utils.paginationr	   
sqlalchemyr
   r   r   r   r   *src.apps.wine.word_alias.models.word_aliasr   +src.apps.wine.word_alias.schemas.word_aliasr   r   r   r   r   ,src.apps.wine.word_alias.schemas.word_changer   src.utils.constantsr   src.core.configr   intanyr&        r<   <module>rM      ss      " ) , / 3 3 @ `  ` O , $
 &*	#
#
"#
 #
 	#

 	#
rL   