o
    B_iI
                     @  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m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coerce_orderbuild_list_paramsassetsget_tasks_with_assetsreturnList[ZoneOperation]c                   C  sn   t td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tddddgdddgdddgS )NzGet Tasks with Assetsz{Devuelve tasks (zona=tasks) incluyendo el join 'assets'. Recomendado filtrar por WHERE para no traer demasiados resultados.GETreadTand|createdutc|>|2001-01-01r	   F)whereorderpagepageSizerawr   stringu   Cláusula WHERE estilo AroFlo.r   z/Orden: campo|asc o campo|desc (AroFlo 'order').r   integeru   Número de página (1..N).r   u'   Tamaño de página (AroFlo 'pageSize').r   booleanz/Si true, devuelve respuesta cruda + meta debug.tasksz%Listar tasks con sus assets asociadosu1   Auditar qué assets están vinculados a cada tasklow)codelabeldescriptionhttp_methodside_effect
idempotentdefault_paramsparamscategory	use_cases
risk_levelrequires_confirmation)r   OP_CODEr    r-   r-   O/var/www/html/flask_server/apps/aroflo_connector_app/zones/tasks/join_assets.pyget_operations   s6   r/   operation_codestrboolc                 C  s   | t kS )N)r,   )r0   r-   r-   r.   supports2   s   r3   clientr   r'   Dict[str, Any]c           
      C  s   | t krtd|  t|dd}|dd}t|}t|dd}|dk r-tdt|}td	|t|||d
}t	|d|}	|rHt
|	|S |	S )Nu-   [Tasks.join_assets] Operación no soportada: r   Fr   r   r   r	   zpage debe ser >= 1.r   )zoner   joinr   r   r   r   )r,   
ValueErrorr2   getr   intr   r   	JOIN_NAMEr
   r   )
r0   r4   r'   r   r   r   r   r   params_listrespr-   r-   r.   execute6   s&   	r>   N)r   r   )r0   r1   r   r2   )r0   r1   r4   r   r'   r5   r   r   )
__future__r   typingr   r   r   baser   r   _join_utilsr
   r   r   r   r   r;   r,   r/   r3   r>   r-   r-   r-   r.   <module>   s   

%