U
    Zf                     @   s   d 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
ejdddZe e	_e e	_e e	_e	je	je	jd	e	_e	d
e	_e	de	_e	de	_i ZdS )zL
This namespace contains common data types used within the users namespace.
    )unicode_literals)
stone_base)stone_validatorsc                       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 )AccountTypea  
    What type of account this user has.

    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 users_common.AccountType.basic: The basic account type.
    :ivar users_common.AccountType.pro: The Dropbox Pro account type.
    :ivar users_common.AccountType.business: The Dropbox Business account type.
    Nc                 C   s
   | j dkS )zL
        Check if the union tag is ``basic``.

        :rtype: bool
        basicZ_tagself r
   8/tmp/pip-unpacked-wheel-qnjxxdf1/dropbox/users_common.pyis_basic#   s    zAccountType.is_basicc                 C   s
   | j dkS )zJ
        Check if the union tag is ``pro``.

        :rtype: bool
        pror   r   r
   r
   r   is_pro+   s    zAccountType.is_proc                 C   s
   | j dkS )zO
        Check if the union tag is ``business``.

        :rtype: bool
        businessr   r   r
   r
   r   is_business3   s    zAccountType.is_businessc                    s   t t| ||| d S )N)superr   _process_custom_annotations)r	   Zannotation_typeZ
field_path	processor	__class__r
   r   r   ;   s    z'AccountType._process_custom_annotations)__name__
__module____qualname____doc__Z
_catch_allr   r   r   r   r   r   r   __classcell__r
   r
   r   r   r      s   r   (   )Z
min_length
max_length)r   r   r   r   r   r   N)r   
__future__r   Zstone.backends.python_rsrcr   Zbbr   ZbvUnionr   ZAccountType_validatorStringZAccountId_validatorZVoidZ_basic_validatorZ_pro_validatorZ_business_validatorZ_tagmapr   r   r   ZROUTESr
   r
   r
   r   <module>   s"   0






