o
    i`                     @  s   d dl m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mZ ejr?dd
lmZmZ ddlmZmZ G dd dZG dd dZdS )    )annotationsN   )AsyncClientWrapperSyncClientWrapper)RequestOptions)DeleteProjectMemberV1Response)ListProjectMembersV1Response   )AsyncRawMembersClientRawMembersClient)AsyncInvitesClientInvitesClient)AsyncScopesClientScopesClientc                   @  \   e Zd ZdddZedddZd	d
dddZd	d
dddZedd Zedd Z	d	S )MembersClientclient_wrapperr   c                C  "   t |d| _|| _d | _d | _d S Nr   )r   _raw_client_client_wrapper_invites_scopesselfr    r   ^/home/ubuntu/.local/lib/python3.10/site-packages/deepgram/manage/v1/projects/members/client.py__init__      
zMembersClient.__init__returnr   c                 C     | j S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawMembersClient
        r   r   r   r   r   with_raw_response      	zMembersClient.with_raw_responseNrequest_options
project_idstrr'   typing.Optional[RequestOptions]r   c                C  s   | j j||d}|jS )a  
        Retrieves a list of members for a given project

        Parameters
        ----------
        project_id : str
            The unique identifier of the project

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

        Returns
        -------
        ListProjectMembersV1Response
            A list of members for a given project

        Examples
        --------
        from deepgram import DeepgramClient

        client = DeepgramClient(
            api_key="YOUR_API_KEY",
        )
        client.manage.v1.projects.members.list(
            project_id="123456-7890-1234-5678-901234",
        )
        r&   r   listdatar   r(   r'   	_responser   r   r   r,   $   s   zMembersClient.list	member_idr   c                C  s   | j j|||d}|jS )a4  
        Removes a member from the project using their unique member ID

        Parameters
        ----------
        project_id : str
            The unique identifier of the project

        member_id : str
            The unique identifier of the Member

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

        Returns
        -------
        DeleteProjectMemberV1Response
            Delete the specific member from the project

        Examples
        --------
        from deepgram import DeepgramClient

        client = DeepgramClient(
            api_key="YOUR_API_KEY",
        )
        client.manage.v1.projects.members.delete(
            project_id="123456-7890-1234-5678-901234",
            member_id="123456789012345678901234",
        )
        r&   r   deleter-   r   r(   r0   r'   r/   r   r   r   r2   E   s   "zMembersClient.deletec                 C  *   | j d u rddlm} || jd| _ | j S )Nr	   )r   r   )r   invites.clientr   r   )r   r   r   r   r   invitesj      
zMembersClient.invitesc                 C  r4   )Nr	   )r   r   )r   scopes.clientr   r   )r   r   r   r   r   scopesr   r7   zMembersClient.scopes)r   r   )r    r   r(   r)   r'   r*   r    r   r(   r)   r0   r)   r'   r*   r    r   
__name__
__module____qualname__r   propertyr$   r,   r2   r6   r9   r   r   r   r   r      s    
"%
r   c                   @  r   )AsyncMembersClientr   r   c                C  r   r   )r
   r   r   r   r   r   r   r   r   r   |   r   zAsyncMembersClient.__init__r    r
   c                 C  r!   )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawMembersClient
        r"   r#   r   r   r   r$      r%   z$AsyncMembersClient.with_raw_responseNr&   r(   r)   r'   r*   r   c                  s   | j j||dI dH }|jS )a  
        Retrieves a list of members for a given project

        Parameters
        ----------
        project_id : str
            The unique identifier of the project

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

        Returns
        -------
        ListProjectMembersV1Response
            A list of members for a given project

        Examples
        --------
        import asyncio

        from deepgram import AsyncDeepgramClient

        client = AsyncDeepgramClient(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.manage.v1.projects.members.list(
                project_id="123456-7890-1234-5678-901234",
            )


        asyncio.run(main())
        r&   Nr+   r.   r   r   r   r,      s   &zAsyncMembersClient.listr0   r   c                  s    | j j|||dI dH }|jS )a  
        Removes a member from the project using their unique member ID

        Parameters
        ----------
        project_id : str
            The unique identifier of the project

        member_id : str
            The unique identifier of the Member

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

        Returns
        -------
        DeleteProjectMemberV1Response
            Delete the specific member from the project

        Examples
        --------
        import asyncio

        from deepgram import AsyncDeepgramClient

        client = AsyncDeepgramClient(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.manage.v1.projects.members.delete(
                project_id="123456-7890-1234-5678-901234",
                member_id="123456789012345678901234",
            )


        asyncio.run(main())
        r&   Nr1   r3   r   r   r   r2      s   *zAsyncMembersClient.deletec                 C  r4   )Nr	   )r   r   )r   r5   r   r   )r   r   r   r   r   r6      r7   zAsyncMembersClient.invitesc                 C  r4   )Nr	   )r   r   )r   r8   r   r   )r   r   r   r   r   r9      r7   zAsyncMembersClient.scopes)r   r   )r    r
   r:   r;   r<   r   r   r   r   rA   {   s    
*-
rA   )
__future__r   typingcore.client_wrapperr   r   core.request_optionsr   &types.delete_project_member_v1responser   %types.list_project_members_v1responser   
raw_clientr
   r   TYPE_CHECKINGr5   r   r   r8   r   r   r   rA   r   r   r   r   <module>   s   i