o
    i                      @   s   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mZ e e jd
ZG dd dZG dd dZdS )    N   )AsyncClientWrapperSyncClientWrapper)RequestOptions)CreateProjectInviteV1Response)DeleteProjectInviteV1Response)ListProjectInvitesV1Response   )AsyncRawInvitesClientRawInvitesClient.c                   @      e Zd ZdefddZedefddZddd	ed
e	j
e defddZddd	ededed
e	j
e def
ddZddd	eded
e	j
e defddZdS )InvitesClientclient_wrapperc                C      t |d| _d S N)r   )r   _raw_clientselfr    r   f/home/ubuntu/.local/lib/python3.10/site-packages/deepgram/manage/v1/projects/members/invites/client.py__init__      zInvitesClient.__init__returnc                 C      | j S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawInvitesClient
        r   r   r   r   r   with_raw_response      	zInvitesClient.with_raw_responseNrequest_options
project_idr   c                C   s   | j j||d}|jS )a  
        Generates a list of invites for a specific project

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

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

        Returns
        -------
        ListProjectInvitesV1Response
            A list of invites for a specific project

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

        client = DeepgramClient(
            api_key="YOUR_API_KEY",
        )
        client.manage.v1.projects.members.invites.list(
            project_id="123456-7890-1234-5678-901234",
        )
        r   r   listdatar   r    r   	_responser   r   r   r"      s   zInvitesClient.listemailscopec                C   s   | j j||||d}|jS )aY  
        Generates an invite for a specific project

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

        email : str
            The email address of the invitee

        scope : str
            The scope of the invitee

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

        Returns
        -------
        CreateProjectInviteV1Response
            The invite was successfully generated

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

        client = DeepgramClient(
            api_key="YOUR_API_KEY",
        )
        client.manage.v1.projects.members.invites.create(
            project_id="123456-7890-1234-5678-901234",
            email="email",
            scope="scope",
        )
        r&   r'   r   r   creater#   r   r    r&   r'   r   r%   r   r   r   r*   @   s   &zInvitesClient.createc                C   s   | j j|||d}|jS )a  
        Deletes an invite for a specific project

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

        email : str
            The email address of the member

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

        Returns
        -------
        DeleteProjectInviteV1Response
            The invite was successfully deleted

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

        client = DeepgramClient(
            api_key="YOUR_API_KEY",
        )
        client.manage.v1.projects.members.invites.delete(
            project_id="123456-7890-1234-5678-901234",
            email="john.doe@example.com",
        )
        r   r   deleter#   r   r    r&   r   r%   r   r   r   r-   i   s   "zInvitesClient.delete)__name__
__module____qualname__r   r   propertyr   r   strtypingOptionalr   r   r"   r   r*   r   r-   r   r   r   r   r      sD    
"
*r   c                   @   r   )AsyncInvitesClientr   c                C   r   r   )r
   r   r   r   r   r   r      r   zAsyncInvitesClient.__init__r   c                 C   r   )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawInvitesClient
        r   r   r   r   r   r      r   z$AsyncInvitesClient.with_raw_responseNr   r    r   c                   s   | j j||dI dH }|jS )a%  
        Generates a list of invites for a specific project

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

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

        Returns
        -------
        ListProjectInvitesV1Response
            A list of invites for a specific 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.invites.list(
                project_id="123456-7890-1234-5678-901234",
            )


        asyncio.run(main())
        r   Nr!   r$   r   r   r   r"      s   &zAsyncInvitesClient.listr&   r'   c                   s"   | j j||||dI dH }|jS )a  
        Generates an invite for a specific project

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

        email : str
            The email address of the invitee

        scope : str
            The scope of the invitee

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

        Returns
        -------
        CreateProjectInviteV1Response
            The invite was successfully generated

        Examples
        --------
        import asyncio

        from deepgram import AsyncDeepgramClient

        client = AsyncDeepgramClient(
            api_key="YOUR_API_KEY",
        )


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


        asyncio.run(main())
        r(   Nr)   r+   r   r   r   r*      s   .zAsyncInvitesClient.createc                   s    | j j|||dI dH }|jS )a  
        Deletes an invite for a specific project

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

        email : str
            The email address of the member

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

        Returns
        -------
        DeleteProjectInviteV1Response
            The invite was successfully deleted

        Examples
        --------
        import asyncio

        from deepgram import AsyncDeepgramClient

        client = AsyncDeepgramClient(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.manage.v1.projects.members.invites.delete(
                project_id="123456-7890-1234-5678-901234",
                email="john.doe@example.com",
            )


        asyncio.run(main())
        r   Nr,   r.   r   r   r   r-      s   *zAsyncInvitesClient.delete)r/   r0   r1   r   r   r2   r
   r   r3   r4   r5   r   r   r"   r   r*   r   r-   r   r   r   r   r6      sD    
*
2r6   )r4   core.client_wrapperr   r   core.request_optionsr   &types.create_project_invite_v1responser   &types.delete_project_invite_v1responser   %types.list_project_invites_v1responser   
raw_clientr
   r   castAnyOMITr   r6   r   r   r   r   <module>   s   