o
    B_i                     @  sv   d dl mZ d dlmZmZmZ ddlmZmZ ddl	m
Z
mZmZmZ dZdZd	ZdddZdddZdddZd	S )    )annotations)AnyDictList   )ZoneOperation	ParamSpec   )requestraw_wrapcoerce_page_sizebuild_list_paramslist_businessunitslist_archived_businessunitsNreturnList[ZoneOperation]c                   C  s   t tdddddd dd ddtd	d
ddtddddtddddtddddgdddgdddt tdddddddd ddtd	d
ddtddddtddddtddddgdddgdddgS )NzList BusinessUnitsu^   Devuelve businessunits (zone=businessunits). WHERE opcional. JOIN no aplica aquí (ver joins).GETreadTr	   F)wherepagepageSizerawr   stringuB   Cláusula WHERE estilo AroFlo. (orgid, archived, businessunitname)r   integeru   Número de página (1..N).r   u4   Cantidad de registros por página (AroFlo pageSize).r   booleanz/Si true, devuelve respuesta cruda + meta debug.businessunitszListar businessunitsz"Filtrar businessunits usando WHERElow)codelabeldescriptionhttp_methodside_effect
idempotentdefault_paramsparamscategory	use_cases
risk_levelrequires_confirmationzList Archived BusinessUnitsu`   Devuelve businessunits archivadas: where=and|archived|=|true (puedes combinar con más filtros).and|archived|=|truez4WHERE estilo AroFlo. Por defecto and|archived|=|truezListar businessunits archivadasz,Filtrar archivadas por orgid u otros filtros)r   OP_LISTr   OP_ARCHIVED r,   r,   P/var/www/html/flask_server/apps/aroflo_connector_app/zones/businessunits/base.pyget_operations   sZ   r.   operation_codestrboolc                 C  s   | t thv S )N)r*   r+   )r/   r,   r,   r-   supportsF   s   r2   clientr   r$   Dict[str, Any]c           	      C  s   t |dd}t|}t|dd}|dk rtd| tkr>|dd }td|d ||d}t|d	|}|r<t||S |S | t	kra|dpHd
}td|d ||d}t|d	|}|r_t||S |S td|  )Nr   Fr   r	   zpage debe ser >= 1.r   r   )zoner   joinr   r   r   r)   u.   [BusinessUnits.base] Operación no soportada: )
r1   getr   int
ValueErrorr*   r   r
   r   r+   )	r/   r3   r$   r   r   r   r   params_listrespr,   r,   r-   executeJ   s8   r<   )r   r   )r/   r0   r   r1   )r/   r0   r3   r   r$   r4   r   r   )
__future__r   typingr   r   r   baser   r   _join_utilsr
   r   r   r   r*   r+   DEFAULT_WHEREr.   r2   r<   r,   r,   r,   r-   <module>   s   

5