
    ]j$                         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  G d d      Z G d d      Zy)    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)AsyncHttpResponseHttpResponse)RequestOptions)construct_type)NotFoundError)ActivityLogResponse   )ListActivityLogsRequestMethodc                      e Zd ZdefdZdddddddddd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j                  e
   deej                  e      fdZy)RawActivityLogsClientclient_wrapperc                    || _         y N_client_wrapperselfr   s     S/root/env/lib/python3.12/site-packages/label_studio_sdk/activity_logs/raw_client.py__init__zRawActivityLogsClient.__init__   
    -    Nend_datemethodorderingpage	page_sizeprojectsearch
start_dateuser	workspacerequest_optionsr   r   r    r!   r"   r#   r$   r%   r&   r'   r(   returnc                R   | j                   j                  j                  dd|||||||||	|
d
|      }	 d|j                  cxk  rdk  rin nft	        j
                  t        j                  t           t        t        j                  t           |j                                     }t        ||      S |j                  d	k(  rit        t        |j                        t	        j
                  t        j                  t        t        j                  |j                                     
      |j                         }t!        |j                  t        |j                        |      # t        $ r6 t!        |j                  t        |j                        |j"                        w xY 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>
        Retrieve activity logs filtered by workspace, project, user, HTTP method, date range or search query.

        Parameters
        ----------
        end_date : typing.Optional[str]
            End date/time (ISO-8601) for log filtering.

        method : typing.Optional[ListActivityLogsRequestMethod]
            HTTP request method used in the log.

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

        page : typing.Optional[int]
            [or "start"] Current page index.

        page_size : typing.Optional[int]
            [or "length"] Logs per page, use -1 to obtain all logs (might be slow).

        project : typing.Optional[int]
            Project ID to filter logs.

        search : typing.Optional[str]
            Search expression using "AND"/"OR" to filter by request URL.

        start_date : typing.Optional[str]
            Start date/time (ISO-8601) for log filtering.

        user : typing.Optional[int]
            User ID to filter logs.

        workspace : typing.Optional[int]
            Workspace owner ID to filter logs.

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

        Returns
        -------
        HttpResponse[typing.List[ActivityLogResponse]]
            Activity logs
        api/activity-logs/GET
r   r   r    r!   r"   r#   r$   r%   r&   r'   r   paramsr(      ,  type_object_responsedata  headersbodystatus_coder:   r;   )r   httpx_clientrequestr=   typingcastListr   r   jsonr	   r   dictr:   Anyr   r   textr   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   	_response_data_response_jsons                  r   listzRawActivityLogsClient.list   sv   @ ((55== $ $&" (& , > 
	"	ti++1c1KK 34"$kk*=> ) 0 $YUCC$$+# !2!23

&"(**$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   A=E' 4BE' '?F&)__name__
__module____qualname__r   r   r@   Optionalstrr   intr
   r	   rB   r   rK    r   r   r   r      s<   .*; . *.AE)-%)*.(,'++/%)*.;?ip //#&ip  =>	ip
 //#&ip ooc"ip ??3'ip %ip $ip OOC(ip ooc"ip ??3'ip  8ip 
fkk"56	7ipr   r   c                      e Zd ZdefdZdddddddddd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j                  e
   deej                  e      fdZy)AsyncRawActivityLogsClientr   c                    || _         y r   r   r   s     r   r   z#AsyncRawActivityLogsClient.__init__   r   r   Nr   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   c                p  K   | j                   j                  j                  dd|||||||||	|
d
|       d{   }	 d|j                  cxk  rdk  rin nft	        j
                  t        j                  t           t        t        j                  t           |j                                     }t        ||	      S |j                  d
k(  rit        t        |j                        t	        j
                  t        j                  t        t        j                  |j                                           |j                         }t!        |j                  t        |j                        |      7 7# t        $ r6 t!        |j                  t        |j                        |j"                        w xY ww)aC  
        <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>
        Retrieve activity logs filtered by workspace, project, user, HTTP method, date range or search query.

        Parameters
        ----------
        end_date : typing.Optional[str]
            End date/time (ISO-8601) for log filtering.

        method : typing.Optional[ListActivityLogsRequestMethod]
            HTTP request method used in the log.

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

        page : typing.Optional[int]
            [or "start"] Current page index.

        page_size : typing.Optional[int]
            [or "length"] Logs per page, use -1 to obtain all logs (might be slow).

        project : typing.Optional[int]
            Project ID to filter logs.

        search : typing.Optional[str]
            Search expression using "AND"/"OR" to filter by request URL.

        start_date : typing.Optional[str]
            Start date/time (ISO-8601) for log filtering.

        user : typing.Optional[int]
            User ID to filter logs.

        workspace : typing.Optional[int]
            Workspace owner ID to filter logs.

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

        Returns
        -------
        AsyncHttpResponse[typing.List[ActivityLogResponse]]
            Activity logs
        r+   r,   r-   r.   Nr0   r1   r2   r5   r8   r9   r<   )r   r>   r?   r=   r@   rA   rB   r   r   rC   r   r   rD   r:   rE   r   r   rF   rG   s                  r   rK   zAsyncRawActivityLogsClient.list   s    @ ..;;CC $ $&" (& , D 
 
	"	ti++1c1KK 34"$kk*=> ) 0 ))%HH$$+# !2!23

&"(**$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`nooS
N  	ty'<'<d9K\K\F]dmdrdrss	ts5   8F6E1F6 A=E4 =F6>BE4 ,F64?F33F6)rL   rM   rN   r   r   r@   rO   rP   r   rQ   r
   r   rB   r   rK   rR   r   r   rT   rT      s<   .*< . *.AE)-%)*.(,'++/%)*.;?ip //#&ip  =>	ip
 //#&ip ooc"ip ??3'ip %ip $ip OOC(ip ooc"ip ??3'ip  8ip 
6;;':;	<ipr   rT   )r@   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.http_responser   r	   core.request_optionsr
   core.unchecked_base_modelr   errors.not_found_errorr   types.activity_log_responser   'types.list_activity_logs_request_methodr   r   rT   rR   r   r   <module>r`      sB     ( % G @ 1 6 2 = Rmp mp`mp mpr   