Ë
    daºi„  ã                   ó”   — d dl mZ  G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ d	e«      Z G d
„ de«      Z G d„ de«      Zy)é   )ÚBitbucketServerBasec                   ó^   ‡ — e Zd ZdZdZdZˆ fd„Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zdd
„Zdd„Zd„ Zˆ xZS )ÚPermissionsÚADMINÚWRITEÚREADc                 óB   •— || _         t        t        | �  |g|¢­i |¤Ž y ©N)Ú_Permissions__permission_prefixÚsuperr   Ú__init__©ÚselfÚurlÚpermission_prefixÚargsÚkwargsÚ	__class__s        €úe/var/www/timesheet/venv/lib/python3.12/site-packages/atlassian/bitbucket/server/common/permissions.pyr   zPermissions.__init__   s$   ø€ Ø#4ˆÔ ÜŒk˜4Ñ)¨#Ð?°Ò?¸Ó?ó    c                 ó$   — | j                   › d|› �S )z<Internal function to get the permission for the put request.Ú_)r   )r   Ú
permissions     r   Ú__permissionzPermissions.__permission   s   € à×*Ñ*Ð+¨1¨Z¨LÐ9Ð9r   c                 óX   — | j                  || j                  | j                  «      «      S )z<
        Add the admin permission for a group/user.
        )ÚaddÚ_Permissions__permissionr   ©r   Únames     r   ÚadminzPermissions.admin   ó$   € ð �x‰x˜˜d×/Ñ/°·
±
Ó;Ó<Ð<r   c                 óX   — | j                  || j                  | j                  «      «      S )z;
        Add to write permission for a group/user.
        )r   r   r   r   s     r   ÚwritezPermissions.write   r!   r   c                 óX   — | j                  || j                  | j                  «      «      S )z;
        Add the read permission for a group/user.
        )r   r   r   r   s     r   ÚreadzPermissions.read   s$   € ð �x‰x˜˜d×/Ñ/°·	±	Ó:Ó;Ð;r   c                 ó(   — | j                  ||«       y)a‘  
        Add the permission for a group/user.

        :param name: string: The names of the groups/users
        :param permission: string: The permission to grant.

        API docs:
        - For project groups see https://docs.atlassian.com/bitbucket-server/rest/7.8.0/bitbucket-rest.html#idp160
        - For project users see https://docs.atlassian.com/bitbucket-server/rest/7.8.0/bitbucket-rest.html#idp166
        - For repository groups see https://docs.atlassian.com/bitbucket-server/rest/7.8.0/bitbucket-rest.html#idp282
        - For repository users see https://docs.atlassian.com/bitbucket-server/rest/7.8.0/bitbucket-rest.html#idp288
        N)Úput)r   r   r   s      r   r   zPermissions.add%   s   € ð 	�‰��zÔ"Ør   c              #   óš   K  — i }|�||d<   | j                  d|¬«      D ](  }| j                  |«      }| j                  |_        |–— Œ* y­w)aÂ  
        Get all groups/users.

        :params filter: string: If specified only group/usernames containing the supplied string will be returned

        :return: A generator for the group/user permission objects

        API docs:
        - For project groups see https://docs.atlassian.com/bitbucket-server/rest/7.8.0/bitbucket-rest.html#idp159
        - For project users see https://docs.atlassian.com/bitbucket-server/rest/7.8.0/bitbucket-rest.html#idp165
        - For repository groupss see https://docs.atlassian.com/bitbucket-server/rest/7.8.0/bitbucket-rest.html#idp280
        - For repository users see https://docs.atlassian.com/bitbucket-server/rest/7.8.0/bitbucket-rest.html#idp286
        NÚfilter©Úparams)Ú
_get_pagedÚ_get_objectr   ©r   r)   r+   Úentrys       r   ÚeachzPermissions.each5   sY   è ø€ ð ˆØÐØ%ˆF�8ÑØ—_‘_ T°&�_Ó9ò 	ˆEØ×$Ñ$ UÓ+ˆEØŸ™ˆEŒIØ‹Kñ	ùs   ‚A	Ac              #   ót   K  — i }|�||d<   | j                  d|¬«      D ]  }| j                  |«      –— Œ y­w)aÍ  
        Get all not granted groups/users.

        :params filter: string: If specified only group/usernames containing the supplied string will be returned

        :return: A generator for the group/user permission objects

        API docs:
        - For project groups see https://docs.atlassian.com/bitbucket-server/rest/7.8.0/bitbucket-rest.html#idp163
        - For project users see https://docs.atlassian.com/bitbucket-server/rest/7.8.0/bitbucket-rest.html#idp169
        - For repository groups see https://docs.atlassian.com/bitbucket-server/rest/7.8.0/bitbucket-rest.html#idp284
        - For repository users see https://docs.atlassian.com/bitbucket-server/rest/7.8.0/bitbucket-rest.html#idp290
        Nr)   Únoner*   )r,   r-   r.   s       r   Ú	each_nonezPermissions.each_noneK   sJ   è ø€ ð ˆØÐØ%ˆF�8ÑØ—_‘_ V°F�_Ó;ò 	*ˆEØ×"Ñ" 5Ó)Ó)ñ	*ùs   ‚68c                 ót   — | j                  |¬«      D ]  }|j                  |k(  sŒ|c S  t        d|› d�«      ‚)zž
        Returns the requested group/user

        :param name: string: The requested element name.

        :return: The requested group/user object
        )r)   zUnknown group/user 'ú')r0   r   Ú	Exception)r   r   r/   s      r   ÚgetzPermissions.get_   sF   € ð —Y‘Y d�YÓ+ò 	ˆEØ�z‰z˜TÓ!Ø’ð	ô Ð.¨t¨f°AÐ6Ó7Ð7r   r
   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r    r#   r%   r   r0   r3   r7   Ú__classcell__©r   s   @r   r   r      s@   ø„ Ø€EØ€EØ€Dô@ò:ò=ò=ò<òó ó,*ö(8r   r   c                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )ÚGroupsc                 ó6   •— t        t        | �
  ||g|¢­i |¤Ž y r
   )r   r>   r   r   s        €r   r   zGroups.__init__o   s   ø€ ÜŒf�dÑ$ SÐ*;ÐM¸dÒMÀfÓMr   c                 ó.   — t        |fi | j                  ¤ŽS r
   )ÚGroupÚ_new_session_args©r   Údatas     r   r-   zGroups._get_objectr   s   € Ü�TÑ4˜T×3Ñ3Ñ4Ð4r   ©r8   r9   r:   r   r-   r;   r<   s   @r   r>   r>   n   s   ø„ ôNö5r   r>   c                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )ÚUsersc                 ó6   •— t        t        | �
  ||g|¢­i |¤Ž y r
   )r   rG   r   r   s        €r   r   zUsers.__init__w   s   ø€ ÜŒe�TÑ# CÐ):ÐL¸TÒLÀVÓLr   c                 ó.   — t        |fi | j                  ¤ŽS r
   )ÚUserrB   rC   s     r   r-   zUsers._get_objectz   s   € Ü�DÑ3˜D×2Ñ2Ñ3Ð3r   rE   r<   s   @r   rG   rG   v   s   ø„ ôMö4r   rG   c                   ón   ‡ — e Zd Zˆ fd„Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Z	ˆ xZ
S )ÚPermissionBasec                 ót   •— | j                   €t        d«      ‚t        t        | �  dd| j
                  i¬«      S )zR
        Delete the permission.

        :return: The response on success
        Nz,Delete not implemented for this object type.r   r*   )r   ÚNotImplementedErrorr   r   Údeleter   )r   r   s    €r   rO   zPermissionBase.delete   s<   ø€ ð �8‰8ÐÜ%Ð&TÓUÐUÜÔ(¨$Ñ6°tÀVÈTÏYÉYÐDWÐ6ÓXÐXr   c                 óR   — | j                   €t        d«      ‚| j                  d«      S )Nz/Pemission not implemented for this object type.r   )r   rN   Úget_data©r   s    r   r   zPermissionBase.permission‰   s'   € à�8‰8ÐÜ%Ð&WÓXÐXØ�}‰}˜\Ó*Ð*r   c                 óD   — | j                   t        j                  k(  rdS dS )zTrue if group/user is adminTF)r   r   r   rR   s    r   Úis_adminzPermissionBase.is_admin�   ó    € ð —‘¬+×*;Ñ*;Ò;ˆtÐFÀÐFr   c                 óD   — | j                   t        j                  k(  rdS dS )z'True if group/user has write permissionTF)r   r   r   rR   s    r   Úis_writezPermissionBase.is_write”   rU   r   c                 óD   — | j                   t        j                  k(  rdS dS )z&True if group/user has read premissionTF)r   r   r   rR   s    r   Úis_readzPermissionBase.is_read™   s    € ð —‘¬+×*:Ñ*:Ò:ˆtÐEÀÐEr   c                 ób   — | j                   t        j                  t        j                  fv rdS dS )zTrue if group/user can writeTF)r   r   r   r   rR   s    r   Ú	can_writezPermissionBase.can_writež   s,   € ð —‘¬;×+<Ñ+<¼k×>OÑ>OÐ*PÑPˆtÐ[ÐV[Ð[r   )r8   r9   r:   rO   Úpropertyr   rT   rW   rY   r[   r;   r<   s   @r   rL   rL   ~   su   ø„ ôYð ñ+ó ð+ð
 ñGó ðGð ñGó ðGð ñFó ðFð ñ\ó ô\r   rL   c                   ó.   ‡ — e Zd Zˆ fd„Zed„ «       Zˆ xZS )rA   c                 ó8   •— t        t        | �
  d g|¢­d|i|¤Ž y ©NrD   )r   rA   r   ©r   rD   r   r   r   s       €r   r   zGroup.__init__¥   s!   ø€ ÜŒe�TÑ# DÐE¨4ÒE°dÐE¸fÓEr   c                 ód   — | j                   €| j                  d«      S | j                  d«      d   S )zThe name of the groupr   Úgroup©r   rQ   rR   s    r   r   z
Group.name¨   s1   € ð �8‰8ÐØ—=‘= Ó(Ð(Ø�}‰}˜WÓ% fÑ-Ð-r   )r8   r9   r:   r   r\   r   r;   r<   s   @r   rA   rA   ¤   s   ø„ ôFð ñ.ó ô.r   rA   c                   ó„   ‡ — e Zd Zˆ fd„Zd„ Zed„ «       Zed„ «       Zed„ «       Zed„ «       Z	ed„ «       Z
ed„ «       Zˆ xZS )	rJ   c                 ó8   •— t        t        | �
  d g|¢­d|i|¤Ž y r_   )r   rJ   r   r`   s       €r   r   zUser.__init__±   s!   ø€ ÜŒd�DÑ" 4ÐD¨$ÒD°TÐD¸VÓDr   c                 ód   — | j                   €| j                  |«      S | j                  d«      |   S )z�
        Internal getter for the user data.

        :param key: string: The user data to get

        :return: The requested user data
        Úuserrc   )r   Úkeys     r   Ú
__userdatazUser.__userdata´   s1   € ð �8‰8ÐØ—=‘= Ó%Ð%Ø�}‰}˜VÓ$ SÑ)Ð)r   c                 ó$   — | j                  d«      S )zThe name of the userr   ©Ú_User__userdatarR   s    r   r   z	User.nameÀ   ó   € ð �‰˜vÓ&Ð&r   c                 ó$   — | j                  d«      S )zThe email of the userÚemailAddressrk   rR   s    r   Úemailz
User.emailÅ   s   € ð �‰˜~Ó.Ð.r   c                 ó$   — | j                  d«      S )zThe displayname of the userÚdisplayNamerk   rR   s    r   ÚdisplaynamezUser.displaynameÊ   s   € ð �‰˜}Ó-Ð-r   c                 ó$   — | j                  d«      S )zThe active flag of the userÚactiverk   rR   s    r   ru   zUser.activeÏ   s   € ð �‰˜xÓ(Ð(r   c                 ó$   — | j                  d«      S )zThe slug of the userÚslugrk   rR   s    r   rw   z	User.slugÔ   rm   r   c                 ó$   — | j                  d«      S )zThe id of the userÚidrk   rR   s    r   ry   zUser.idÙ   s   € ð �‰˜tÓ$Ð$r   )r8   r9   r:   r   rl   r\   r   rp   rs   ru   rw   ry   r;   r<   s   @r   rJ   rJ   °   s†   ø„ ôEò
*ð ñ'ó ð'ð ñ/ó ð/ð ñ.ó ð.ð ñ)ó ð)ð ñ'ó ð'ð ñ%ó ô%r   rJ   N)Úbaser   r   r>   rG   rL   rA   rJ   © r   r   ú<module>r|      sZ   ðõ 'ôe8Ð%ô e8ôP5ˆ[ô 5ô4ˆKô 4ô#\Ð(ô #\ôL	.ˆNô 	.ô,%ˆ>õ ,%r   