o
    lWi
                     @   s   d dl Z d dlmZ ddlmZ ddlmZmZ ddlm	Z	m
Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ G dd dZG dd dZdS )    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)AsyncHttpResponseHttpResponse)RequestOptions)construct_type)UnprocessableEntityError)HttpValidationError)!WorkspaceGroupByNameResponseModelc                	   @   F   e Zd ZdefddZdddedeje de	ej
e  fd	d
ZdS )RawGroupsClientclient_wrapperc                C   
   || _ d S N_client_wrapperselfr    r   j/var/www/html/asistente-voz-ia/venv/lib/python3.10/site-packages/elevenlabs/workspace/groups/raw_client.py__init__      
zRawGroupsClient.__init__Nrequest_optionsnamer   returnc             	   C   s   | j jjddd|i|d}zDd|j  krdk r4n nttjt ttjt |	 d}t
||dW S |jd	krLtt|jtttt|	 dd
|	 }W n tyd   t|jt|j|jdw t|jt|j|d)a  
        Searches for user groups in the workspace. Multiple or no groups may be returned.

        Parameters
        ----------
        name : str
            Name of the target group.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[typing.List[WorkspaceGroupByNameResponseModel]]
            Successful Response
        v1/workspace/groups/searchGETr   methodparamsr      ,  type_object_responsedata  headersbodystatus_coder.   r/   )r   httpx_clientrequestr1   typingcastListr   r
   jsonr   r   dictr.   r   r   r   textr   r   r   	_response_data_response_jsonr   r   r   search   sB   

zRawGroupsClient.search)__name__
__module____qualname__r   r   strr4   Optionalr	   r   r6   r   r>   r   r   r   r   r          r   c                	   @   r   )AsyncRawGroupsClientr   c                C   r   r   r   r   r   r   r   r   K   r   zAsyncRawGroupsClient.__init__Nr   r   r   r   c             	      s   | j jjddd|i|dI dH }zDd|j  krdk r8n nttjt ttjt |	 d}t
||d	W S |jd
krPtt|jtttt|	 dd|	 }W n tyh   t|jt|j|jdw t|jt|j|d)a  
        Searches for user groups in the workspace. Multiple or no groups may be returned.

        Parameters
        ----------
        name : str
            Name of the target group.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[typing.List[WorkspaceGroupByNameResponseModel]]
            Successful Response
        r   r    r   r!   Nr$   r%   r&   r)   r,   r-   r0   )r   r2   r3   r1   r4   r5   r6   r   r
   r7   r   r   r8   r.   r   r   r   r9   r:   r   r   r   r>   N   sD   

zAsyncRawGroupsClient.search)r?   r@   rA   r   r   rB   r4   rC   r	   r   r6   r   r>   r   r   r   r   rE   J   rD   rE   )r4   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.http_responser   r   core.request_optionsr	   core.unchecked_base_modelr
   !errors.unprocessable_entity_errorr   types.http_validation_errorr   ,types.workspace_group_by_name_response_modelr   r   rE   r   r   r   r   <module>   s   :