o
    B_i                     @  sj   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 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build_list_paramslist_permissiongroupsreturnList[ZoneOperation]c                   C  sD   t tdddd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 PermissionGroupsud   Obtiene todos los Permission Groups del tenant AroFlo. Zona READ ONLY según documentación oficial.GETreadTr	   F)pagerawr   integeru   Número de página (1..N).r   booleanz/Si true, devuelve respuesta cruda + meta debug.permissiongroupszListar grupos de permisosu/   Auditar configuración de accesos por rol/grupolow)codelabeldescriptionhttp_methodside_effect
idempotentdefault_paramsparamscategory	use_cases
risk_levelrequires_confirmation)r   OP_LISTr    r%   r%   S/var/www/html/flask_server/apps/aroflo_connector_app/zones/permissiongroups/base.pyget_operations   s*   r'   operation_codestrboolc                 C  s   | t kS )N)r$   )r(   r%   r%   r&   supports.   s   r+   clientr   r   Dict[str, Any]c                 C  s`   | t krtd|  t|dd}t|dd}td|d}t|d|}|r.t||S |S )	Nu1   [PermissionGroups.base] Operación no soportada: r   Fr   r	   r   )zoner   r   )r$   
ValueErrorr*   getintr   r
   r   )r(   r,   r   r   r   params_listrespr%   r%   r&   execute2   s   r4   N)r   r   )r(   r)   r   r*   )r(   r)   r,   r   r   r-   r   r   )
__future__r   typingr   r   r   baser   r   _join_utilsr
   r   r   r$   r'   r+   r4   r%   r%   r%   r&   <module>   s   

