
    ,Of                    v    d dl mZ d dlmZmZ d dlZd dlZd dlm	Z	m
Z
mZ erd dlmZ d dlmZ  G d de
      Zy)	    )annotations)TYPE_CHECKINGAnyN)	AttributeCompletableGithubObjectNotSet)	NamedUser)Teamc                      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ddZy)RequiredPullRequestReviewsz
    This class represents Required Pull Request Reviews.

    The reference can be found here
    https://docs.github.com/en/rest/reference/repos#get-pull-request-review-protection

    c                    t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        y N)r   _dismiss_stale_reviews_require_code_owner_reviews _required_approving_review_count_users_teams_require_last_push_approvalselfs    Alib/python3.12/site-packages/github/RequiredPullRequestReviews.py_initAttributesz*RequiredPullRequestReviews._initAttributesB   s0    7=#<B(@F-28-3<B(    c                    | j                  | j                  j                  | j                  j                  | j                  j                  | j
                  j                  d      S )N)urldismiss_stale_reviewsrequire_code_owner_reviewsrequire_last_push_approval)get__repr___urlvaluer   r   r   r   s    r   __repr__z#RequiredPullRequestReviews.__repr__J   sR    yy)-)D)D)J)J.2.N.N.T.T.2.N.N.T.T	
 	
r   c                d    | j                  | j                         | j                  j                  S r   )_completeIfNotSetr   r!   r   s    r   r   z0RequiredPullRequestReviews.dismiss_stale_reviewsT   s(    t::;**000r   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   r   z5RequiredPullRequestReviews.require_code_owner_reviewsY   (    t??@//555r   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   required_approving_review_countz:RequiredPullRequestReviews.required_approving_review_count^   s(    tDDE44:::r   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   r   z5RequiredPullRequestReviews.require_last_push_approvalc   r&   r   c                d    | j                  | j                         | j                  j                  S r   )r$   r    r!   r   s    r   r   zRequiredPullRequestReviews.urlh   s"    tyy)yyr   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   dismissal_usersz*RequiredPullRequestReviews.dismissal_usersm   $    t{{+{{   r   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   dismissal_teamsz*RequiredPullRequestReviews.dismissal_teamsr   r-   r   c                    d|v rxd|d   v r5| j                  t        j                  j                  |d   d         | _        d|d   v r5| j                  t        j                  j                  |d   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 )	Ndismissal_restrictionsusersteamsr   r   r(   r   r   )_makeListOfClassesAttributegithubr	   r   r
   r   _makeBoolAttributer   r   _makeIntAttributer   r   _makeStringAttributer    )r   
attributess     r   _useAttributesz)RequiredPullRequestReviews._useAttributesw   s2   #z1*%=>>">>$$..78A *%=>>">>KK$$j1I&J7&S #j0*.*A*A*MdBe*fD'':5/3/F/FzRnGo/pD,,
:484J4J<=5D1 (:5/3/F/FzRnGo/pD,J11*U2CDDI r   N)returnNone)r;   str)r;   bool)r;   int)r;   zlist[NamedUser])r;   z
list[Team])r9   zdict[str, Any]r;   r<   )__name__
__module____qualname____doc__r   r"   propertyr   r   r(   r   r   r,   r/   r:    r   r   r   r   9   s    C
 1 1 6 6 ; ; 6 6   ! ! ! !Er   r   )
__future__r   typingr   r   github.NamedUserr5   github.Teamgithub.GithubObjectr   r   r   r	   r
   r   rE   r   r   <module>rK      s4   X # %   J J* TE!8 TEr   