
    U+i	                     R   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 d dlmZ d dlmZ d dlmZ  ed	d
g      Zej)                  d       edd       ee
       ee      fdee   dedefd       Zej)                  d       ee
       ee      fdededefd       Zy)    )	APIRouterDependsQuerystatus)JSONResponse)get_db)get_current_active_user)	UserLogin)DiversityStrategyOptionClass)Session)Optionalz/diversity_strategy_optionszDiversity Strategy Options)prefixtags Nz-1 o omitir = no filtrar)descriptiondiversity_criterion_idsession_userdbc           	         	 t        |      j                  |       }|j                  d      dk(  r/t        t        j                  d|j                  dd      g d      S t        t        j
                  d	d
|j                  dg       d      S # t        $ r2}t        t        j                  dt        |      g d      cY d}~S d}~ww xY w)zQLista opciones de estrategia activas. Filtro opcional por diversity_criterion_id.)r   r   error  messagezError al listarr   r   datastatus_codecontent   OKr   N)r   getr   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_200_OK	Exceptionstr)r   r   r   resultes        V/var/www/pie360backend.cl/public_html/app/backend/routes/diversity_strategy_options.pyget_listr(      s    
-b155Mc5d::h7*"AA#&6::iIZ3[egh  **"tVZZPR=ST
 	
  
=="s1vrB
 	

s$   AB  .B 	C
'C?C
C
z/{id}idc                    	 t        |      j                  |       }|j                  d      dk(  r/t        t        j
                  d|j                  dd      dd      S t        t        j                  d	d
|j                  d      d      S # t        $ r2}t        t        j                  dt        |      dd      cY d}~S d}~ww xY w)u   Obtiene una opción por id.r   r   i  r   zRegistro no encontradoNr   r   r   r   r   r   )
r   	get_by_idr    r   r   HTTP_404_NOT_FOUNDr"   r#   r!   r$   )r)   r   r   r%   r&   s        r'   r+   r+   )   s    
-b1;;B?::h7*"55#&6::iIa3blpq  **"tVZZ=OP
 	
  
=="s1vtD
 	

s$   AB -B 	C'C=CC)fastapir   r   r   r   fastapi.responsesr   app.backend.db.databaser   app.backend.auth.auth_userr	   app.backend.schemasr
   3app.backend.classes.diversity_strategy_option_classr   sqlalchemy.ormr   typingr   diversity_strategy_optionsr    intr(   r+        r'   <module>r9      s    5 5 * * > ) \ " &(
&	'  #,1$D^,_%&=>&/
$SM

 	
 $
0 ( &&=>&/


 	
 )
r8   