o
    lWiY                     @   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 e e jd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)"UpdateWorkspaceMemberResponseModel   )3BodyUpdateMemberV1WorkspaceMembersPostWorkspaceRole.c                   @   X   e Zd ZdefddZeedddedeje	 deje
 d	eje d
ee f
ddZdS )RawMembersClientclient_wrapperc                C   
   || _ d S N_client_wrapperselfr    r   k/var/www/html/asistente-voz-ia/venv/lib/python3.10/site-packages/elevenlabs/workspace/members/raw_client.py__init__      
zRawMembersClient.__init__N	is_lockedworkspace_rolerequest_optionsemailr   r   r    returnc             	   C   s   | j jj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)a  
        Updates attributes of a workspace member. Apart from the email identifier, all parameters will remain unchanged unless specified. This endpoint may only be called by workspace administrators.

        Parameters
        ----------
        email : str
            Email of the target user.

        is_locked : typing.Optional[bool]
            Whether to lock or unlock the user account.

        workspace_role : typing.Optional[BodyUpdateMemberV1WorkspaceMembersPostWorkspaceRole]
            Role dictating permissions in the workspace.

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

        Returns
        -------
        HttpResponse[UpdateWorkspaceMemberResponseModel]
            Successful Response
        v1/workspace/membersPOSTr!   r   r   content-typeapplication/jsonmethodjsonheadersr    omit   ,  type_object_responsedata  r+   bodystatus_coder+   r7   )r   httpx_clientrequestOMITr9   typingcastr   r
   r*   r   r   dictr+   r   r   r   textr   r!   r   r   r    	_response_data_response_jsonr   r   r   update   sL   

zRawMembersClient.update)__name__
__module____qualname__r   r   r<   strr=   Optionalboolr   r	   r   r   rE   r   r   r   r   r           r   c                   @   r   )AsyncRawMembersClientr   c                C   r   r   r   r   r   r   r   r   b   r   zAsyncRawMembersClient.__init__Nr   r!   r   r   r    r"   c             	      s   | j jj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)a  
        Updates attributes of a workspace member. Apart from the email identifier, all parameters will remain unchanged unless specified. This endpoint may only be called by workspace administrators.

        Parameters
        ----------
        email : str
            Email of the target user.

        is_locked : typing.Optional[bool]
            Whether to lock or unlock the user account.

        workspace_role : typing.Optional[BodyUpdateMemberV1WorkspaceMembersPostWorkspaceRole]
            Role dictating permissions in the workspace.

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

        Returns
        -------
        AsyncHttpResponse[UpdateWorkspaceMemberResponseModel]
            Successful Response
        r#   r$   r%   r&   r'   r(   Nr-   r.   r/   r2   r5   r6   r8   )r   r:   r;   r<   r9   r=   r>   r   r
   r*   r   r   r?   r+   r   r   r   r@   rA   r   r   r   rE   e   sN   

zAsyncRawMembersClient.update)rF   rG   rH   r   r   r<   rI   r=   rJ   rK   r   r	   r   r   rE   r   r   r   r   rM   a   rL   rM   )r=   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.update_workspace_member_response_modelr   Btypes.body_update_member_v_1_workspace_members_post_workspace_roler   r>   Anyr<   r   rM   r   r   r   r   <module>   s   K