o
    lWiA                     @   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 ddlmZ ddlmZ e e jdZG dd dZG dd dZdS )    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)AsyncHttpResponseHttpResponse)jsonable_encoder)RequestOptions)construct_type)UnprocessableEntityError) GetWorkspaceSecretsResponseModel)HttpValidationError) PostWorkspaceSecretResponseModel.c                   @      e Zd ZdefddZdddeje dee	 fdd	Z
ddd
ededeje dee fddZdddedeje ded fddZddded
ededeje dee f
ddZdS )RawSecretsClientclient_wrapperc                C   
   || _ d S N_client_wrapperselfr    r   s/var/www/html/asistente-voz-ia/venv/lib/python3.10/site-packages/elevenlabs/conversational_ai/secrets/raw_client.py__init__      
zRawSecretsClient.__init__Nrequest_optionsr   returnc             	   C   s   | j jjdd|d}z>d|j  krdk r+n ntttt| d}t	||dW S |jdkrCt
t|jtttt| dd	| }W n ty[   t|jt|j|jd
w t|jt|j|d
)a=  
        Get all workspace secrets for the user

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

        Returns
        -------
        HttpResponse[GetWorkspaceSecretsResponseModel]
            Successful Response
        v1/convai/secretsGETmethodr      ,  type_object_responsedata  headersbodystatus_coder.   r/   )r   httpx_clientrequestr1   typingcastr   r   jsonr   r   dictr.   r   r   r   textr   r   	_response_data_response_jsonr   r   r   list   s>   

zRawSecretsClient.listnamevaluec             	   C   s   | j jjdd||ddddi|td}z>d|j  krd	k r4n nttt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)ae  
        Create a new secret for the workspace

        Parameters
        ----------
        name : str

        value : str

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

        Returns
        -------
        HttpResponse[PostWorkspaceSecretResponseModel]
            Successful Response
        r    POSTnewr>   r?   typecontent-typeapplication/jsonr#   r6   r.   r   omitr$   r%   r&   r)   r,   r-   r0   )r   r2   r3   OMITr1   r4   r5   r   r   r6   r   r   r7   r.   r   r   r   r8   r   r>   r?   r   r:   r;   r<   r   r   r   createH   sL   

zRawSecretsClient.create	secret_idc             	   C   s   | j jjdt| d|d}z2d|j  krdk r$n nt|ddW S |jdkr<tt|jt	
ttt| d	d
| }W n tyT   t|jt|j|jdw t|jt|j|d)a   
        Delete a workspace secret if it's not in use

        Parameters
        ----------
        secret_id : str

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

        Returns
        -------
        HttpResponse[None]
        v1/convai/secrets/DELETEr"   r$   r%   Nr)   r,   r&   r-   r0   )r   r2   r3   r	   r1   r   r   r7   r.   r4   r5   r   r   r6   r   r   r8   r   rK   r   r:   r<   r   r   r   delete   s0   

zRawSecretsClient.deletec             	   C   s   | j jjdt| d||ddddi|td}z>d|j  kr$d	k r9n nttt	t|
 d
}t||dW S |jdkrQtt|jttt	t|
 d
d|
 }W n tyi   t|jt|j|jdw t|jt|j|d)a  
        Update an existing secret for the workspace

        Parameters
        ----------
        secret_id : str

        name : str

        value : str

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

        Returns
        -------
        HttpResponse[PostWorkspaceSecretResponseModel]
            Successful Response
        rL   PATCHupdaterB   rD   rE   rF   r$   r%   r&   r)   r,   r-   r0   )r   r2   r3   r	   rH   r1   r4   r5   r   r   r6   r   r   r7   r.   r   r   r   r8   r   rK   r>   r?   r   r:   r;   r<   r   r   r   rQ      sL   

zRawSecretsClient.update)__name__
__module____qualname__r   r   r4   Optionalr
   r   r   r=   strr   rJ   rO   rQ   r   r   r   r   r      s>    
0
&<(r   c                   @   r   )AsyncRawSecretsClientr   c                C   r   r   r   r   r   r   r   r      r   zAsyncRawSecretsClient.__init__Nr   r   r   c             	      s   | j jjdd|dI dH }z>d|j  krdk r/n ntttt| d}t	||dW S |jd	krGt
t|jtttt| dd
| }W n ty_   t|jt|j|jdw t|jt|j|d)aB  
        Get all workspace secrets for the user

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

        Returns
        -------
        AsyncHttpResponse[GetWorkspaceSecretsResponseModel]
            Successful Response
        r    r!   r"   Nr$   r%   r&   r)   r,   r-   r0   )r   r2   r3   r1   r4   r5   r   r   r6   r   r   r7   r.   r   r   r   r8   r9   r   r   r   r=      s@   

zAsyncRawSecretsClient.listr>   r?   c             	      s   | j jjdd||ddddi|tdI dH }z>d	|j  kr#d
k r8n nttt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)aj  
        Create a new secret for the workspace

        Parameters
        ----------
        name : str

        value : str

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

        Returns
        -------
        AsyncHttpResponse[PostWorkspaceSecretResponseModel]
            Successful Response
        r    r@   rA   rB   rD   rE   rF   Nr$   r%   r&   r)   r,   r-   r0   )r   r2   r3   rH   r1   r4   r5   r   r   r6   r   r   r7   r.   r   r   r   r8   rI   r   r   r   rJ     sN   

zAsyncRawSecretsClient.createrK   c             	      s   | j jjdt| d|dI dH }z2d|j  krdk r(n nt|ddW S |jdkr@tt|jt	
ttt| d	d
| }W n tyX   t|jt|j|jdw t|jt|j|d)a%  
        Delete a workspace secret if it's not in use

        Parameters
        ----------
        secret_id : str

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

        Returns
        -------
        AsyncHttpResponse[None]
        rL   rM   r"   Nr$   r%   r)   r,   r&   r-   r0   )r   r2   r3   r	   r1   r   r   r7   r.   r4   r5   r   r   r6   r   r   r8   rN   r   r   r   rO   Y  s2   

zAsyncRawSecretsClient.deletec             	      s   | j jjdt| d||ddddi|tdI dH }z>d	|j  kr(d
k r=n nttt	t|
 d}t||dW S |jdkrUtt|jttt	t|
 dd|
 }W n tym   t|jt|j|jdw t|jt|j|d)a  
        Update an existing secret for the workspace

        Parameters
        ----------
        secret_id : str

        name : str

        value : str

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

        Returns
        -------
        AsyncHttpResponse[PostWorkspaceSecretResponseModel]
            Successful Response
        rL   rP   rQ   rB   rD   rE   rF   Nr$   r%   r&   r)   r,   r-   r0   )r   r2   r3   r	   rH   r1   r4   r5   r   r   r6   r   r   r7   r.   r   r   r   r8   rR   r   r   r   rQ     sN   

zAsyncRawSecretsClient.update)rS   rT   rU   r   r   r4   rV   r
   r   r   r=   rW   r   rJ   rO   rQ   r   r   r   r   rX      sL    
0
=
*rX   )r4   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.http_responser   r   core.jsonable_encoderr	   core.request_optionsr
   core.unchecked_base_modelr   !errors.unprocessable_entity_errorr   *types.get_workspace_secrets_response_modelr   types.http_validation_errorr   *types.post_workspace_secret_response_modelr   r5   AnyrH   r   rX   r   r   r   r   <module>   s     V