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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projectget_tasks_with_project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 Projectuh   Devuelve tasks (zona=tasks) incluyendo el join 'project'. Útil para traer el proyecto asociado al task.GETreadTand|createdutc|>|2001-01-01r	   F)whereorderpagepageSizerawr   stringu   Cláusula WHERE estilo AroFlo.r   z(ORDER estilo AroFlo. Ej: createdutc|descr   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Consultar tasks con su projectz1Cruzar tasks por projectid (con WHERE, si aplica)low)codelabeldescriptionhttp_methodside_effect
idempotentdefault_paramsparamscategory	use_cases
risk_levelrequires_confirmation)r   OP_CODEr    r-   r-   P/var/www/html/flask_server/apps/aroflo_connector_app/zones/tasks/join_project.pyget_operations   s6   r/   operation_codestrboolc                 C  s   | t kS )N)r,   )r0   r-   r-   r.   supports3   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_project] 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.   execute7   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   

%