o
    2i?                     @  sD   d dl mZ d dlmZmZ ddlmZmZ dd	d
ZdddZ	dS )    )annotations)AnyDict   )list_zones_metadataget_zoneclientr   returnDict[str, Any]c                 C  s   t | }d|iS )zB
    Devuelve metadata de las zonas, pensado para GET /zones.
    zones)r   )r   r    r   K/var/www/html/flask_server/apps/aroflo_connector_app/services/dispatcher.pyget_zones_overview	   s   r   	zone_codestrpayloadc                 C  sJ   | d}| dpi }|stdt| |}|j||d}||||dS )u   
    Lógica central para POST /zone/<zone_code>/query

    Espera un body tipo:
    {
      "operation": "get_users",
      "params": {
         ... filtros ...
      }
    }
    	operationparamsz/Campo 'operation' es obligatorio en el payload.)r   )zoner   r   result)get
ValueErrorr   execute)r   r   r   r   r   r   r   r   r   r   dispatch_zone_query   s   

r   N)r   r   r	   r
   )r   r   r   r   r   r
   r	   r
   )

__future__r   typingr   r   zones.registryr   r   r   r   r   r   r   r   <module>   s
   
