o
    6dO1                     @   s  d dl mZ d dlmZ d dlmZ d dlmZ G dd dej	Z
e	e
ZG dd dejZeeZG d	d
 d
ej	Ze	eZG dd dej	Ze	eZG dd dejZeeZe Ze ZejddZe Ze Ze Ze e
_e e
_e e
_e e
_ e
je
je
je
j de
_!e
de
_"e
de
_#e
de
_$e
de
_%e ej&_'eej(_'e)eej*_'e)e+ ej,_'eej-_'e.g de_/dej&j'fdej(j'fdej*j'fdej,j'fdej-j'fge_0e e_1e e_e e_ ej1ejej de_!ede_2ede_"ede_%e e_3e e_4e e_5e e_ ej3ej4ej5ej de_!ede_6ed e_7ed!e_8ede_%e)ej9ej:_'e)ej9ej;_'e.d"d#ge_/d"ej:j'fd#ej;j'fge_0i Z<d$S )%    )unicode_literals)
stone_base)stone_validators)commonc                       T   e Zd ZdZdZdZdZdZdZdd Z	dd Z
dd	 Zd
d Z fddZ  ZS )GroupManagementTypeaO  
    The group type determines how a group is managed.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team_common.GroupManagementType.user_managed: A group which is managed
        by selected users.
    :ivar team_common.GroupManagementType.company_managed: A group which is
        managed by team admins only.
    :ivar team_common.GroupManagementType.system_managed: A group which is
        managed automatically by Dropbox.
    otherNc                 C   
   | j dkS zS
        Check if the union tag is ``user_managed``.

        :rtype: bool
        user_managedZ_tagself r   jC:\Users\jesus\OneDrive\Desktop\erpjis_fastapi\backend\jisbackend\Lib\site-packages\dropbox/team_common.pyis_user_managed&      
z#GroupManagementType.is_user_managedc                 C   r	   )zV
        Check if the union tag is ``company_managed``.

        :rtype: bool
        company_managedr   r   r   r   r   is_company_managed.   r   z&GroupManagementType.is_company_managedc                 C   r	   )zU
        Check if the union tag is ``system_managed``.

        :rtype: bool
        system_managedr   r   r   r   r   is_system_managed6   r   z%GroupManagementType.is_system_managedc                 C   r	   zL
        Check if the union tag is ``other``.

        :rtype: bool
        r   r   r   r   r   r   is_other>   r   zGroupManagementType.is_otherc                       t t| ||| d S N)superr   _process_custom_annotationsr   Zannotation_typeZ
field_path	processor	__class__r   r   r   F      z/GroupManagementType._process_custom_annotations)__name__
__module____qualname____doc__
_catch_allr   r   r   r   r   r   r   r   r   __classcell__r   r   r   r   r      s    r   c                       s~   e Zd ZdZg dZdZ					dddZedZ	edZ
ejd	dd
Zejddd
ZejdddZ fddZ  ZS )GroupSummaryay  
    Information about a group.

    :ivar team_common.GroupSummary.group_external_id: External ID of group. This
        is an arbitrary ID that an admin can attach to a group.
    :ivar team_common.GroupSummary.member_count: The number of members in the
        group.
    :ivar team_common.GroupSummary.group_management_type: Who is allowed to
        manage the group.
    )_group_name_value_group_id_value_group_external_id_value_member_count_value_group_management_type_valueTNc                 C   sv   t j| _t j| _t j| _t j| _t j| _|d ur|| _|d ur"|| _|d ur)|| _	|d ur0|| _
|d ur9|| _d S d S r   )bbNOT_SETr)   r*   r+   r,   r-   
group_namegroup_idgroup_external_idmember_countgroup_management_type)r   r0   r1   r4   r2   r3   r   r   r   __init__a   s    
zGroupSummary.__init__r0   r1   r2   Znullabler3   r4   )Zuser_definedc                    r   r   )r   r(   r   r   r   r   r   r      r!   z(GroupSummary._process_custom_annotations)NNNNN)r"   r#   r$   r%   	__slots___has_required_fieldsr5   r.   	Attributer0   r1   r2   r3   r4   r   r'   r   r   r   r   r(   K   s     


r(   c                       sH   e Zd ZdZdZdZdZdZdd Zdd Z	dd	 Z
 fd
dZ  ZS )	GroupTypea  
    The group type determines how a group is created and managed.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team_common.GroupType.team: A group to which team members are
        automatically added. Applicable to `team folders
        <https://www.dropbox.com/help/986>`_ only.
    :ivar team_common.GroupType.user_managed: A group is created and managed by
        a user.
    r   Nc                 C   r	   )zK
        Check if the union tag is ``team``.

        :rtype: bool
        teamr   r   r   r   r   is_team   r   zGroupType.is_teamc                 C   r	   r
   r   r   r   r   r   r      r   zGroupType.is_user_managedc                 C   r	   r   r   r   r   r   r   r      r   zGroupType.is_otherc                    r   r   )r   r:   r   r   r   r   r   r      r!   z%GroupType._process_custom_annotations)r"   r#   r$   r%   r&   r;   r   r   r<   r   r   r   r'   r   r   r   r   r:      s    r:   c                       r   )MemberSpaceLimitTypea  
    The type of the space limit imposed on a team member.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team_common.MemberSpaceLimitType.off: The team member does not have
        imposed space limit.
    :ivar team_common.MemberSpaceLimitType.alert_only: The team member has soft
        imposed space limit - the limit is used for display and for
        notifications.
    :ivar team_common.MemberSpaceLimitType.stop_sync: The team member has hard
        imposed space limit - Dropbox file sync will stop after the limit is
        reached.
    r   Nc                 C   r	   )zJ
        Check if the union tag is ``off``.

        :rtype: bool
        offr   r   r   r   r   is_off   r   zMemberSpaceLimitType.is_offc                 C   r	   )zQ
        Check if the union tag is ``alert_only``.

        :rtype: bool
        
alert_onlyr   r   r   r   r   is_alert_only   r   z"MemberSpaceLimitType.is_alert_onlyc                 C   r	   )zP
        Check if the union tag is ``stop_sync``.

        :rtype: bool
        	stop_syncr   r   r   r   r   is_stop_sync   r   z!MemberSpaceLimitType.is_stop_syncc                 C   r	   r   r   r   r   r   r   r      r   zMemberSpaceLimitType.is_otherc                    r   r   )r   r=   r   r   r   r   r   r      r!   z0MemberSpaceLimitType._process_custom_annotations)r"   r#   r$   r%   r&   r>   r@   rB   r   r?   rA   rC   r   r   r'   r   r   r   r   r=      s    r=   c                       sV   e Zd ZdZddgZdZ		dddZejdd	d
Z	ejdd	d
Z
 fddZ  ZS )	TimeRangez
    Time range.

    :ivar team_common.TimeRange.start_time: Optional starting time (inclusive).
    :ivar team_common.TimeRange.end_time: Optional ending time (exclusive).
    _start_time_value_end_time_valueFNc                 C   s4   t j| _t j| _|d ur|| _|d ur|| _d S d S r   )r.   r/   rE   rF   
start_timeend_time)r   rG   rH   r   r   r   r5     s   
zTimeRange.__init__rG   Tr6   rH   c                    r   r   )r   rD   r   r   r   r   r   r     r!   z%TimeRange._process_custom_annotations)NN)r"   r#   r$   r%   r7   r8   r5   r.   r9   rG   rH   r   r'   r   r   r   r   rD      s    
rD   @   )
max_length)r   r   r   r   r   r   r   r   )r0   r1   r2   r3   r4   r0   r1   r2   r3   r4   )r;   r   r   r;   )r>   r@   rB   r   r>   r@   rB   rG   rH   N)=
__future__r   Zstone.backends.python_rsrcr   r.   r   ZbvZdropboxr   Unionr   ZGroupManagementType_validatorStructr(   ZGroupSummary_validatorr:   ZGroupType_validatorr=   ZMemberSpaceLimitType_validatorrD   ZTimeRange_validatorStringZGroupExternalId_validatorZGroupId_validatorZMemberExternalId_validatorZResellerId_validatorZTeamId_validatorZTeamMemberId_validatorZVoidZ_user_managed_validatorZ_company_managed_validatorZ_system_managed_validatorZ_other_validatorZ_tagmapr   r   r   r   r0   	validatorr1   ZNullabler2   ZUInt32r3   r4   setZ_all_field_names_Z_all_fields_Z_team_validatorr;   Z_off_validatorZ_alert_only_validatorZ_stop_sync_validatorr>   r@   rB   ZDropboxTimestamp_validatorrG   rH   ZROUTESr   r   r   r   <module>   s   
=
>
2
?
"




























