
    ,Of                    b    d dl mZ d dlmZ d dlmZ d dlZd dlZd dlmZm	Z	m
Z
  G d de	      Zy)    )annotations)datetime)AnyN)	AttributeNonCompletableGithubObjectNotSetc                      e Zd ZdZddZddZedd       Zedd       Zedd       Z	edd       Z
edd       Zedd	       Zedd
       Zedd       ZddZddZddZddZy)PullRequestReviewz
    This class represents PullRequestReviews.

    The reference can be found here
    https://docs.github.com/en/rest/reference/pulls#reviews

    c                    t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        y N)	r   _id_user_body
_commit_id_state	_html_url_pull_request_url_submitted_atselfs    8lib/python3.12/site-packages/github/PullRequestReview.py_initAttributesz!PullRequestReview._initAttributes@   s<    #)<B
%+
*0&,)/1728    c                z    | j                  | j                  j                  | j                  j                  d      S )N)iduser)get__repr__r   valuer   r   s    r   __repr__zPullRequestReview.__repr__J   s*    txx~~tzz?O?O PQQr   c                .    | j                   j                  S r   )r   r   r   s    r   r   zPullRequestReview.idM   s    xx~~r   c                .    | j                   j                  S r   )r   r   r   s    r   r   zPullRequestReview.userQ       zzr   c                .    | j                   j                  S r   )r   r   r   s    r   bodyzPullRequestReview.bodyU   r"   r   c                .    | j                   j                  S r   )r   r   r   s    r   	commit_idzPullRequestReview.commit_idY   s    $$$r   c                .    | j                   j                  S r   )r   r   r   s    r   statezPullRequestReview.state]   s    {{   r   c                .    | j                   j                  S r   )r   r   r   s    r   html_urlzPullRequestReview.html_urla   s    ~~###r   c                .    | j                   j                  S r   )r   r   r   s    r   pull_request_urlz"PullRequestReview.pull_request_urle   s    %%+++r   c                .    | j                   j                  S r   )r   r   r   s    r   submitted_atzPullRequestReview.submitted_ati   s    !!'''r   c                    d|i}| j                   j                  d| j                   d| j                   d|      \  }}| j	                  |       y)z
        :calls: `PUT /repos/{owner}/{repo}/pulls/{number}/reviews/{review_id}/dismissals <https://docs.github.com/en/rest/reference/pulls#reviews>`_
        messagePUT	/reviews/z/dismissalsinputN)
_requesterrequestJsonAndCheckr,   r   _useAttributes)r   r0   post_parametersheadersdatas        r   dismisszPullRequestReview.dismissm   s\     %g.;;$$%Ytwwi{C! < 

 	D!r   c                t    | j                   j                  d| j                   d| j                         \  }}y)z
        :calls: `DELETE /repos/:owner/:repo/pulls/:number/reviews/:review_id <https://developer.github.com/v3/pulls/reviews/>`_
        DELETEr2   N)r5   r6   r,   r   )r   r9   r:   s      r   deletezPullRequestReview.deletey   s9     ;;HI^I^H__himipiphqFrsr   c                    t        |t              sJ |       d|i}| j                  j                  d| j                   d| j
                   |      \  }}| j                  |       y)z
        :calls: `PUT /repos/{owner}/{repo}/pulls/{number}/reviews/{review_id}
                <https://docs.github.com/en/rest/pulls/reviews#update-a-review-for-a-pull-request>`_
        r$   r1   r2   r3   N)
isinstancestrr5   r6   r,   r   r7   )r   r$   r8   r9   r:   s        r   editzPullRequestReview.edit   ss    
 $$*d*$D
 ;;$$%Ytwwi8! < 

 	D!r   c                   d|v r| j                  |d         | _        d|v r2| j                  t        j                  j                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  |d         | _	        d|v r| j                  |d         | _
        d|v r| j                  |d         | _        d|v r| j                  |d         | _        y y )	Nr   r   r$   r&   r(   r*   r,   r.   )_makeIntAttributer   _makeClassAttributegithub	NamedUserr   _makeStringAttributer   r   r   r   r   _makeDatetimeAttributer   )r   
attributess     r   r7   z PullRequestReview._useAttributes   s   :--j.>?DHZ11&2B2B2L2LjY_N`aDJZ22:f3EFDJ*$"77
;8OPDOj 33Jw4GHDK#!66z*7MNDN+%)%>%>zJ\?]%^D"Z'!%!<!<Z=W!XD (r   N)returnNone)rK   rA   )rK   int)rK   zgithub.NamedUser.NamedUser)rK   r   )r0   rA   rK   rL   )r$   rA   rK   rL   )rJ   zdict[str, Any]rK   rL   )__name__
__module____qualname____doc__r   r   propertyr   r   r$   r&   r(   r*   r,   r.   r;   r>   rB   r7    r   r   r
   r
   7   s    9R           % % ! ! $ $ , , ( (
"t" Yr   r
   )
__future__r   r   typingr   github.GithubObjectrF   github.NamedUserr   r   r   r
   rS   r   r   <module>rX      s.   Z #     M MhY2 hYr   