
    j                         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                  e j                  d	      Z G d
 d      Z G d d      Zy)    N   )AsyncClientWrapperSyncClientWrapper)RequestOptions)AuthDetailsHolder)WorkspaceNameHolder   )AsyncRawCheckClientRawCheckClient.c                       e Zd ZdefdZedefd       Zdddede	j                  e   ddfd	Zddde	j                  e   defd
Zy)CheckClientclient_wrapperc                &    t        |      | _        y N)r   )r   _raw_clientselfr   s     s/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/rest_api/check/client.py__init__zCheckClient.__init__   s    )H    returnc                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawCheckClient
        r   r   s    r   with_raw_responsezCheckClient.with_raw_response        r   Nrequest_optionsrequestr   c                T    | j                   j                  ||      }|j                  S )a  
        Check user access to workspace

        Parameters
        ----------
        request : AuthDetailsHolder

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

        Returns
        -------
        None

        Examples
        --------
        from Opik import OpikApi
        client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        client.check.access(request={'key': 'value'
        }, )
        r   r   r   accessdatar   r   r   	_responses       r   r#   zCheckClient.access   s)    , $$++G_+]	~~r   c                R    | j                   j                  |      }|j                  S )a  
        User's default workspace name

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

        Returns
        -------
        WorkspaceNameHolder
            Authentication resource

        Examples
        --------
        from Opik import OpikApi
        client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        client.check.get_workspace_name()
        r   r   get_workspace_namer$   r   r   r&   s      r   r)   zCheckClient.get_workspace_name7   s'    ( $$777X	~~r   )__name__
__module____qualname__r   r   propertyr   r   r   typingOptionalr   r#   r   r)    r   r   r   r      s}    I*; I  >     hl !2 V__UcEd pt 2 X\ V__^5T `s r   r   c                       e Zd ZdefdZedefd       Zdddede	j                  e   ddfd	Zddde	j                  e   defd
Zy)AsyncCheckClientr   c                &    t        |      | _        y r   )r
   r   r   s     r   r   zAsyncCheckClient.__init__P   s    .nMr   r   c                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawCheckClient
        r   r   s    r   r   z"AsyncCheckClient.with_raw_responseS   r   r   Nr   r   r   c                p   K   | j                   j                  ||       d{   }|j                  S 7 w)a[  
        Check user access to workspace

        Parameters
        ----------
        request : AuthDetailsHolder

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

        Returns
        -------
        None

        Examples
        --------
        from Opik import AsyncOpikApi
        import asyncio
        client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        async def main() -> None:
            await client.check.access(request={'key': 'value'
            }, )
        asyncio.run(main())
        r!   Nr"   r%   s       r   r#   zAsyncCheckClient.access^   s7     6 **11'Sb1cc	~~ ds   !646c                n   K   | j                   j                  |       d{   }|j                  S 7 w)aM  
        User's default workspace name

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

        Returns
        -------
        WorkspaceNameHolder
            Authentication resource

        Examples
        --------
        from Opik import AsyncOpikApi
        import asyncio
        client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        async def main() -> None:
            await client.check.get_workspace_name()
        asyncio.run(main())
        r   Nr(   r*   s      r   r)   z#AsyncCheckClient.get_workspace_name|   s4     2 **==o=^^	~~ _s    535)r+   r,   r-   r   r   r.   r
   r   r   r/   r0   r   r#   r   r)   r1   r   r   r3   r3   O   s    N*< N  #6     ae+>Doon>]	> EI"(//."A	r   r3   )r/   core.client_wrapperr   r   core.request_optionsr   types.auth_details_holderr   types.workspace_name_holderr   
raw_clientr
   r   castAnyOMITr   r3   r1   r   r   <module>r@      sH     G 1 9 = ; v{{6::s#= =@G Gr   