
    b6iL                         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 j.                  e j0                  d      Z G d d      Z G d d      Zy)    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)AsyncHttpResponseHttpResponse)RequestOptions)construct_type)UnprocessableEntityError)HttpValidationError)SeatType)"UpdateWorkspaceMemberResponseModel.c                       e Zd ZdefdZeeedddedej                  e	   dej                  e
   dej                  e
   d	ej                  e   d
ee   fdZy)RawMembersClientclient_wrapperc                    || _         y N_client_wrapperselfr   s     r/root/.openclaw/workspace/visionaryfx/venv/lib/python3.12/site-packages/elevenlabs/workspace/members/raw_client.py__init__zRawMembersClient.__init__   
    -    N	is_lockedworkspace_roleworkspace_seat_typerequest_optionsemailr   r   r    r!   returnc                   | j                   j                  j                  dd||||dddi|t              }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                         	            }t        ||
      S |j                  dk(  rUt        t        |j                        t        j                  t        t        t        |j                         	                  |j                         }t!        |j                  t        |j                        |      # t        $ r6 t!        |j                  t        |j                        |j"                        w xY w)aj  
        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[SeatType]
            The workspace role of the user. This is deprecated, use `workspace_seat_type` instead.

        workspace_seat_type : typing.Optional[SeatType]
            The workspace seat type

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

        Returns
        -------
        HttpResponse[UpdateWorkspaceMemberResponseModel]
            Successful Response
        v1/workspace/membersPOSTr"   r   r   r    content-typeapplication/jsonmethodjsonheadersr!   omit   ,  type_object_responsedata  r-   bodystatus_coder-   r9   )r   httpx_clientrequestOMITr;   typingcastr   r   r,   r	   r   dictr-   r   r   r   text	r   r"   r   r   r    r!   	_response_data_response_jsons	            r   updatezRawMembersClient.update   sX   D ((55=="&"0':	  2 , > 
		ti++1c16"@ ) 0 $YUCC$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AD3 A4D3 3?E2)__name__
__module____qualname__r   r   r>   strr?   Optionalboolr   r
   r	   r   rG    r   r   r   r      s    .*; . ,0489=;?Ip Ip ??4(	Ip
 1Ip $__X6Ip  8Ip 
8	9Ipr   r   c                       e Zd ZdefdZeeedddedej                  e	   dej                  e
   dej                  e
   d	ej                  e   d
ee   fdZy)AsyncRawMembersClientr   c                    || _         y r   r   r   s     r   r   zAsyncRawMembersClient.__init__e   r   r   Nr   r"   r   r   r    r!   r#   c                  K   | j                   j                  j                  dd||||dddi|t               d{   }	 d|j                  cxk  rd	k  rGn nDt        j                  t        t        t        |j                         
            }t        ||      S |j                  dk(  rUt        t        |j                        t        j                  t        t        t        |j                         
                  |j                         }t!        |j                  t        |j                        |      7 # t        $ r6 t!        |j                  t        |j                        |j"                        w xY ww)ao  
        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[SeatType]
            The workspace role of the user. This is deprecated, use `workspace_seat_type` instead.

        workspace_seat_type : typing.Optional[SeatType]
            The workspace seat type

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

        Returns
        -------
        AsyncHttpResponse[UpdateWorkspaceMemberResponseModel]
            Successful Response
        r%   r&   r'   r(   r)   r*   Nr/   r0   r1   r4   r7   r8   r:   )r   r<   r=   r>   r;   r?   r@   r   r   r,   r   r   rA   r-   r   r   r   rB   rC   s	            r   rG   zAsyncRawMembersClient.updateh   sh    D ..;;CC"&"0':	  2 , D 
 
		ti++1c16"@ ) 0 ))%HH$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`nooO
J  	ty'<'<d9K\K\F]dmdrdrss	ts5   :FD=FAE  FA4E  ,F ?E??F)rH   rI   rJ   r   r   r>   rK   r?   rL   rM   r   r
   r   r   rG   rN   r   r   rP   rP   d   s    .*< . ,0489=;?Ip Ip ??4(	Ip
 1Ip $__X6Ip  8Ip 
=	>Ipr   rP   )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.seat_typer   ,types.update_workspace_member_response_modelr   r@   Anyr>   r   rP   rN   r   r   <module>r^      s]     ( & H A 2 7 I > ' ^ v{{6::s#Mp Mp`Mp Mpr   