
    h                     "   d dl 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mZmZmZmZmZ d dl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	lmZ  e       Zej?                  d
ed       e        edd       eddd       eej@                  dejB                  d       ee      fdede"de#de#de	f
d       Z$ej?                  dd       e        ee      fdede	fd       Z%ejM                  d
eejN                  d        ee      fdede	fd!       Z(ej?                  d"ed#       ee      fd$e#de	fd%       Z)ejU                  d"ed&       ee      fd$e#dede	fd'       Z+ejY                  d"ed(       ee      fd$e#de	fd)       Z-y*)+    )	APIRouterDependsHTTPExceptionstatus)PathQuery)Session)get_all_global_noise_serviceget_global_noise_by_id_servicecreate_global_noiseupdate_global_noisedelete_global_noisedownload_noise_service)GlobalNoiseCreateSchemaGlobalNoiseFilterSchemaGlobalNoiseOutputSchemaGlobalNoiseUpdateSchema)get_db)	constants)get_current_user)ResponseModel zGet all global noise entries)response_modelsummaryz-created_atzSort by fields, prefix with '-' for descending order. Allowed fields: create_at, updated_at, noise. Multiple fields can be separated by commas.)defaultdescription   zPage number)r   ger   zItems per page)r   r   ler   payloadsort_bypageper_pagedbc           	         K   t        |||| |r|j                  d      ng        d {   }t        |t        j                  dd      S 7 !w)N,)r$   r"   r#   r    r!   TRecord fetched successfullydatastatus_codesuccessmessage)r
   splitr   r   HTTP_200_OK)r    r!   r"   r#   r$   responses         i/var/www/html/wine-match-dev/backend/winematch-backend/src/apps/wine/global_noise/routers/global_noise.pyget_all_global_noise_listr1      sY     ( 1&-c"2 H &&-	 s   'AA"Az	/downloadz!Download all global noise entries)r   c                 8   K   t        ||        d {   S 7 w)N)r$   r    )r   )r    r$   s     r0   download_global_noise_listr3   <   s     
 (2w????s   zCreate a new global noise entry)r   r*   r   c                 p   K   t        ||        d {   }t        |t        j                  dd      S 7 !w)NTzRecord created successfullyr(   )r   r   r   HTTP_201_CREATED)r    r$   r/   s      r0   create_new_global_noiser6   D   s;     
 )W55H++-	  6   64"6z/{global_noise_id}zGet a global noise entry by IDglobal_noise_idc                    K   t        ||        d {   }t        t        j                  |      t        j
                  dd      S 7 4w)NTr'   r(   )r   r   r   model_validater   r.   r8   r$   r/   s      r0   get_global_noise_by_idr<   R   sG     
 4BHHH$33H=&&-	  Is   A	A5A	z!Update a global noise entry by IDc                 r   K   t        || |       d {   }t        |t        j                  dd      S 7 !w)NTzRecord updated successfullyr(   )r   r   r   r.   )r8   r    r$   r/   s       r0   update_global_noise_by_idr>   _   s>      )_gFFH&&-	  Gs   75"7z!Delete a global noise entry by IDc                 p   K   t        ||        d {   }t        |t        j                  dd      S 7 !w)NTzRecord deleted successfullyr(   )r   r   r   r.   r;   s      r0   delete_global_noise_by_idr@   m   s;     
 )_==H&&-	  >r7   N).fastapir   r   r   r   fastapi.paramsr   r   sqlalchemy.ormr	   0src.apps.wine.global_noise.services.global_noiser
   r   r   r   r   r   /src.apps.wine.global_noise.schemas.global_noiser   r   r   r   src.core.dependenciesr   	src.utilsr   src.utils.guardr   $src.apps.base.schemas.response_modelr   routergetDEFAULT_PER_PAGEMAX_PER_PAGEstrintr1   r3   postr5   r6   r<   putr>   deleter@        r0   <module>rU      s*   = = & "   )  , >	 B}6TU'.y: aA=A**!!$	 &/#$  " 	# VB K!DE'.y&/@$@@ F@ R6;R;R\}~ &/
$

 
  Hhi &/


 j
  Hkl &/$ 	 m #MKno &/


 p
rT   