
    ]j                         d dl Zd dl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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   )AsyncClientWrapperSyncClientWrapper)RequestOptions)Hotkeys)LseUser)
LseUserApi)
WhoAmIUser   )AsyncRawUsersClientRawUsersClient)GetTokenUsersResponse)ResetTokenUsersResponse.c                      e Zd ZdefdZedefd       Zdddej                  e
   defdZeeeeeeeeeeeedd	d
ej                  e   dej                  e   dej                  ej                      dej                  ej$                     dej                  ej                      dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e
   defdZdddej                  e
   defdZedddej                  ej.                  eej                   f      dej                  e
   defdZdddej                  e
   defdZdddej                  e
   defdZdddej                  e
   defdZddddej                  e   dej                  e
   dej>                  e   fdZ eeeeeeeeedd 
dej                  e   d!ej                  e   d"ej                  e   dej                  e   d#ej                  e   d$ej                  e   dej                  e   dej                  e   dej                  e   dej                  e
   de!fd%Z"ddd#edej                  e
   de!fd&Z#ddd#edej                  e
   ddfd'Z$eeeeee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j                  e   d$ej                  e   dej                  e   dej                  e   dej                  e   dej                  e
   de!fd*Z%y)+UsersClientclient_wrapperc                &    t        |      | _        y N)r   )r   _raw_clientselfr   s     G/root/env/lib/python3.12/site-packages/label_studio_sdk/users/client.py__init__zUsersClient.__init__   s    )H    returnc                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawUsersClient
        r   r   s    r   with_raw_responsezUsersClient.with_raw_response        r   Nrequest_optionsr"   c                R    | j                   j                  |      }|j                  S )a  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Get info about the currently authenticated user.

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

        Returns
        -------
        LseUserApi


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.users.get_current_user()
        r!   r   get_current_userdatar   r"   	_responses      r   r%   zUsersClient.get_current_user#   s'    : $$55o5V	~~r   active_organizationallow_newsletterscustom_hotkeysdate_joinedemail_notification_settings
first_nameis_email_verified	last_nameonboarding_statepasswordphoneusernamer"   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   c                j    | j                   j                  |||||||||	|
|||      }|j                  S )a  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Update details for the currently authenticated user.

        Parameters
        ----------
        active_organization : typing.Optional[int]

        allow_newsletters : typing.Optional[bool]
            Allow sending newsletters to user

        custom_hotkeys : typing.Optional[typing.Any]
            Custom keyboard shortcuts configuration for the user interface

        date_joined : typing.Optional[dt.datetime]

        email_notification_settings : typing.Optional[typing.Any]

        first_name : typing.Optional[str]

        is_email_verified : typing.Optional[bool]

        last_name : typing.Optional[str]

        onboarding_state : typing.Optional[str]

        password : typing.Optional[str]

        phone : typing.Optional[str]

        username : typing.Optional[str]

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

        Returns
        -------
        LseUserApi


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.users.update_current_user()
        r)   r   update_current_userr&   r   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r"   r(   s                  r   r8   zUsersClient.update_current_userC   sS    N $$88 3/)#(C!/-+ 9 
	 ~~r   c                R    | j                   j                  |      }|j                  S )a  
        Retrieve the custom hotkeys configuration for the current user.

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

        Returns
        -------
        Hotkeys


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.users.get_hotkeys()
        r!   r   get_hotkeysr&   r'   s      r   r<   zUsersClient.get_hotkeys   '    . $$000Q	~~r   r,   r"   c                T    | j                   j                  ||      }|j                  S )a  
        Update the custom hotkeys configuration for the current user.

        Parameters
        ----------
        custom_hotkeys : typing.Optional[typing.Dict[str, typing.Any]]

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

        Returns
        -------
        Hotkeys


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.users.update_hotkeys()
        r>   r   update_hotkeysr&   r   r,   r"   r(   s       r   rA   zUsersClient.update_hotkeys   s*    < $$33>cr3s	~~r   c                R    | j                   j                  |      }|j                  S )a  
        Reset the user token for the current user.

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

        Returns
        -------
        ResetTokenUsersResponse
            User token response

        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.users.reset_token()
        r!   r   reset_tokenr&   r'   s      r   rE   zUsersClient.reset_token   r=   r   c                R    | j                   j                  |      }|j                  S )a   
        Get a user token to authenticate to the API as the current user.

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

        Returns
        -------
        GetTokenUsersResponse
            User token response

        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.users.get_token()
        r!   r   	get_tokenr&   r'   s      r   rH   zUsersClient.get_token   s'    . $$...O	~~r   c                R    | j                   j                  |      }|j                  S )a  
        Retrieve details of the account that you are using to access the API.

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

        Returns
        -------
        WhoAmIUser


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.users.whoami()
        r!   r   whoamir&   r'   s      r   rK   zUsersClient.whoami
  s'    . $$++O+L	~~r   orderingr"   rM   c                T    | j                   j                  ||      }|j                  S )a6  
        List the users that exist on the Label Studio server.

        Parameters
        ----------
        ordering : typing.Optional[str]
            Which field to use when ordering the results.

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

        Returns
        -------
        typing.List[LseUserApi]


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.users.list()
        rL   r   listr&   r   rM   r"   r(   s       r   rP   zUsersClient.list$  s)    8 $$))8_)]	~~r   
r+   avataremailr/   idinitialsr1   r4   r5   r"   rS   rT   rU   rV   c       
         d    | j                   j                  |||||||||	|

      }|j                  S )aO  
        Create a user in Label Studio.

        Parameters
        ----------
        allow_newsletters : typing.Optional[bool]
            Whether the user allows newsletters

        avatar : typing.Optional[str]
            Avatar URL of the user

        email : typing.Optional[str]
            Email of the user

        first_name : typing.Optional[str]
            First name of the user

        id : typing.Optional[int]
            User ID

        initials : typing.Optional[str]
            Initials of the user

        last_name : typing.Optional[str]
            Last name of the user

        phone : typing.Optional[str]
            Phone number of the user

        username : typing.Optional[str]
            Username of the user

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

        Returns
        -------
        LseUser


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.users.create()
        rR   r   creater&   r   r+   rS   rT   r/   rU   rV   r1   r4   r5   r"   r(   s               r   rY   zUsersClient.createC  sJ    ~ $$++/!+ , 
	 ~~r   c                T    | j                   j                  ||      }|j                  S )a  
        Get info about a specific Label Studio user, based on the user ID.

        Parameters
        ----------
        id : int
            User ID

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

        Returns
        -------
        LseUser


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.users.get(
            id=1,
        )
        r!   r   getr&   r   rU   r"   r(   s       r   r]   zUsersClient.get  s)    8 $$((_(M	~~r   c                T    | j                   j                  ||      }|j                  S )a  
        Delete a specific Label Studio user. Only available in community edition.

        <Warning>Use caution when deleting a user, as this can cause issues such as breaking the "Annotated by" filter or leaving orphaned records.</Warning>

        Parameters
        ----------
        id : int
            User ID

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

        Returns
        -------
        None

        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.users.delete(
            id=1,
        )
        r!   r   deleter&   r^   s       r   ra   zUsersClient.delete  s)    : $$++B+P	~~r   
r+   rS   rT   r/   update_users_request_idrV   r1   r4   r5   r"   rc   c       
         f    | j                   j                  |||||||||	|
|      }|j                  S )a  

                Update details for a specific user, such as their name or contact information, in Label Studio.


        Parameters
        ----------
        id : int
            User ID

        allow_newsletters : typing.Optional[bool]
            Whether the user allows newsletters

        avatar : typing.Optional[str]
            Avatar URL of the user

        email : typing.Optional[str]
            Email of the user

        first_name : typing.Optional[str]
            First name of the user

        update_users_request_id : typing.Optional[int]
            User ID

        initials : typing.Optional[str]
            Initials of the user

        last_name : typing.Optional[str]
            Last name of the user

        phone : typing.Optional[str]
            Phone number of the user

        username : typing.Optional[str]
            Username of the user

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

        Returns
        -------
        LseUser


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.users.update(
            id=1,
        )
        rb   r   updater&   r   rU   r+   rS   rT   r/   rc   rV   r1   r4   r5   r"   r(   s                r   rf   zUsersClient.update  sM    N $$++/!$;+ , 
	 ~~r   )&__name__
__module____qualname__r   r   propertyr   r   typingOptionalr   r	   r%   OMITintboolAnydtdatetimestrr8   r   r<   DictrA   r   rE   r   rH   r
   rK   ListrP   r   rY   r]   ra   rf    r   r   r   r      s   I*; I  >     VZ 6??>3R ^h F 59376:48CG+/37*.15)-&*)-;?V $__S1V "??40	V
 

3V __R[[1V &,__VZZ%@V OOC(V "??40V ??3'V !//#.V //#&V s#V //#&V  8V  
!Vp QU foon.M Y` : IM;?	 CO(DE  8	
 
B QU foon.M Yp 4 OS FOON,K Wl 4 LP )H T^ 6 37ko!??3/IOYgIh	Z	 D 48'+&*+/#')-*.&*)-;?K "??40K $	K
 s#K OOC(K OOC K //#&K ??3'K s#K //#&K  8K 
KZ RV c v~/N Za > UY  &//.2Q ]a H 48'+&*+/8<)-*.&*)-;?TT "??40	T
 $T s#T OOC(T "(!5T //#&T ??3'T s#T //#&T  8T 
Tr   r   c                      e Zd ZdefdZedefd       Zdddej                  e
   defdZeeeeeeeeeeeedd	d
ej                  e   dej                  e   dej                  ej                      dej                  ej$                     dej                  ej                      dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e
   defdZdddej                  e
   defdZedddej                  ej.                  eej                   f      dej                  e
   defdZdddej                  e
   defdZdddej                  e
   defdZdddej                  e
   defdZddddej                  e   dej                  e
   dej>                  e   fdZ eeeeeeeeedd 
dej                  e   d!ej                  e   d"ej                  e   dej                  e   d#ej                  e   d$ej                  e   dej                  e   dej                  e   dej                  e   dej                  e
   de!fd%Z"ddd#edej                  e
   de!fd&Z#ddd#edej                  e
   ddfd'Z$eeeeee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j                  e   d$ej                  e   dej                  e   dej                  e   dej                  e   dej                  e
   de!fd*Z%y)+AsyncUsersClientr   c                &    t        |      | _        y r   )r   r   r   s     r   r   zAsyncUsersClient.__init__'  s    .nMr   r   c                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawUsersClient
        r   r   s    r   r   z"AsyncUsersClient.with_raw_response*  r    r   Nr!   r"   c                n   K   | j                   j                  |       d{   }|j                  S 7 w)a7  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Get info about the currently authenticated user.

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

        Returns
        -------
        LseUserApi


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.users.get_current_user()


        asyncio.run(main())
        r!   Nr$   r'   s      r   r%   z!AsyncUsersClient.get_current_user5  s5     J **;;O;\\	~~ ]    535r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   c                   K   | j                   j                  |||||||||	|
|||       d{   }|j                  S 7 w)a  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Update details for the currently authenticated user.

        Parameters
        ----------
        active_organization : typing.Optional[int]

        allow_newsletters : typing.Optional[bool]
            Allow sending newsletters to user

        custom_hotkeys : typing.Optional[typing.Any]
            Custom keyboard shortcuts configuration for the user interface

        date_joined : typing.Optional[dt.datetime]

        email_notification_settings : typing.Optional[typing.Any]

        first_name : typing.Optional[str]

        is_email_verified : typing.Optional[bool]

        last_name : typing.Optional[str]

        onboarding_state : typing.Optional[str]

        password : typing.Optional[str]

        phone : typing.Optional[str]

        username : typing.Optional[str]

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

        Returns
        -------
        LseUserApi


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.users.update_current_user()


        asyncio.run(main())
        r)   Nr7   r9   s                  r   r8   z$AsyncUsersClient.update_current_user]  sa     ^ **>> 3/)#(C!/-+ ? 
 
	 ~~
s   ,A?Ac                n   K   | j                   j                  |       d{   }|j                  S 7 w)aB  
        Retrieve the custom hotkeys configuration for the current user.

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

        Returns
        -------
        Hotkeys


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.users.get_hotkeys()


        asyncio.run(main())
        r!   Nr;   r'   s      r   r<   zAsyncUsersClient.get_hotkeys  4     > **666WW	~~ Xr}   r>   c                p   K   | j                   j                  ||       d{   }|j                  S 7 w)a  
        Update the custom hotkeys configuration for the current user.

        Parameters
        ----------
        custom_hotkeys : typing.Optional[typing.Dict[str, typing.Any]]

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

        Returns
        -------
        Hotkeys


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.users.update_hotkeys()


        asyncio.run(main())
        r>   Nr@   rB   s       r   rA   zAsyncUsersClient.update_hotkeys  s?     L **99)? : 
 
	 ~~
   !646c                n   K   | j                   j                  |       d{   }|j                  S 7 w)a\  
        Reset the user token for the current user.

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

        Returns
        -------
        ResetTokenUsersResponse
            User token response

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.users.reset_token()


        asyncio.run(main())
        r!   NrD   r'   s      r   rE   zAsyncUsersClient.reset_token
  r   r}   c                n   K   | j                   j                  |       d{   }|j                  S 7 w)an  
        Get a user token to authenticate to the API as the current user.

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

        Returns
        -------
        GetTokenUsersResponse
            User token response

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.users.get_token()


        asyncio.run(main())
        r!   NrG   r'   s      r   rH   zAsyncUsersClient.get_token,  s4     > **44_4UU	~~ Vr}   c                n   K   | j                   j                  |       d{   }|j                  S 7 w)aF  
        Retrieve details of the account that you are using to access the API.

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

        Returns
        -------
        WhoAmIUser


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.users.whoami()


        asyncio.run(main())
        r!   NrJ   r'   s      r   rK   zAsyncUsersClient.whoamiN  s4     > **11/1RR	~~ Sr}   rL   rM   c                p   K   | j                   j                  ||       d{   }|j                  S 7 w)a  
        List the users that exist on the Label Studio server.

        Parameters
        ----------
        ordering : typing.Optional[str]
            Which field to use when ordering the results.

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

        Returns
        -------
        typing.List[LseUserApi]


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.users.list()


        asyncio.run(main())
        rL   NrO   rQ   s       r   rP   zAsyncUsersClient.listp  s8     H **//Sb/cc	~~ dr   rR   rS   rT   rU   rV   c       
            K   | j                   j                  |||||||||	|

       d{   }|j                  S 7 w)a  
        Create a user in Label Studio.

        Parameters
        ----------
        allow_newsletters : typing.Optional[bool]
            Whether the user allows newsletters

        avatar : typing.Optional[str]
            Avatar URL of the user

        email : typing.Optional[str]
            Email of the user

        first_name : typing.Optional[str]
            First name of the user

        id : typing.Optional[int]
            User ID

        initials : typing.Optional[str]
            Initials of the user

        last_name : typing.Optional[str]
            Last name of the user

        phone : typing.Optional[str]
            Phone number of the user

        username : typing.Optional[str]
            Username of the user

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

        Returns
        -------
        LseUser


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.users.create()


        asyncio.run(main())
        rR   NrX   rZ   s               r   rY   zAsyncUsersClient.create  sX     N **11/!+ 2 
 
	 ~~
s   )><>c                p   K   | j                   j                  ||       d{   }|j                  S 7 w)a  
        Get info about a specific Label Studio user, based on the user ID.

        Parameters
        ----------
        id : int
            User ID

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

        Returns
        -------
        LseUser


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.users.get(
                id=1,
            )


        asyncio.run(main())
        r!   Nr\   r^   s       r   r]   zAsyncUsersClient.get  s7     H **..r?.SS	~~ Tr   c                p   K   | j                   j                  ||       d{   }|j                  S 7 w)a+  
        Delete a specific Label Studio user. Only available in community edition.

        <Warning>Use caution when deleting a user, as this can cause issues such as breaking the "Annotated by" filter or leaving orphaned records.</Warning>

        Parameters
        ----------
        id : int
            User ID

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

        Returns
        -------
        None

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.users.delete(
                id=1,
            )


        asyncio.run(main())
        r!   Nr`   r^   s       r   ra   zAsyncUsersClient.delete  s7     J **11"o1VV	~~ Wr   rb   rc   c       
            K   | j                   j                  |||||||||	|
|       d{   }|j                  S 7 w)af  

                Update details for a specific user, such as their name or contact information, in Label Studio.


        Parameters
        ----------
        id : int
            User ID

        allow_newsletters : typing.Optional[bool]
            Whether the user allows newsletters

        avatar : typing.Optional[str]
            Avatar URL of the user

        email : typing.Optional[str]
            Email of the user

        first_name : typing.Optional[str]
            First name of the user

        update_users_request_id : typing.Optional[int]
            User ID

        initials : typing.Optional[str]
            Initials of the user

        last_name : typing.Optional[str]
            Last name of the user

        phone : typing.Optional[str]
            Phone number of the user

        username : typing.Optional[str]
            Username of the user

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

        Returns
        -------
        LseUser


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.users.update(
                id=1,
            )


        asyncio.run(main())
        rb   Nre   rg   s                r   rf   zAsyncUsersClient.update;  s[     ^ **11/!$;+ 2 
 
	 ~~
s   *?=?)&rh   ri   rj   r   r   rk   r   r   rl   rm   r   r	   r%   rn   ro   rp   rq   rr   rs   rt   r8   r   r<   ru   rA   r   rE   r   rH   r
   rK   rv   rP   r   rY   r]   ra   rf   rw   r   r   ry   ry   &  s   N*< N  #6     \` &9X &dn &V 59376:48CG+/37*.15)-&*)-;?^ $__S1^ "??40	^
 

3^ __R[[1^ &,__VZZ%@^ OOC(^ "??40^ ??3'^ !//#.^ //#&^ s#^ //#&^  8^  
!^@ W[  FOON4S  _f  J IM;?	) CO(DE)  8	)
 
)V W[  FOON4S  _v  D UY  &//.2Q  ]r  D RV  v~/N  Zd  F 37ko%!??3/%IOYgIh%	Z	 %T 48'+&*+/#')-*.&*)-;?S "??40S $	S
 s#S OOC(S OOC S //#&S ??3'S s#S //#&S  8S 
Sj X\ %C %V__^5T %`g %N [_ &s &8W &cg &X 48'+&*+/8<)-*.&*)-;?\\ "??40	\
 $\ s#\ OOC(\ "(!5\ //#&\ ??3'\ s#\ //#&\  8\ 
\r   ry   )rs   rr   rl   core.client_wrapperr   r   core.request_optionsr   types.hotkeysr   types.lse_userr   types.lse_user_apir	   types.who_am_i_userr
   
raw_clientr   r   types.get_token_users_responser    types.reset_token_users_responser   castrq   rn   r   ry   rw   r   r   <module>r      sY      G 1 # $ + , ; A E v{{6::s#O Odq	 q	r   