U
    
ڲg
                     @   sb   d Z ddlmZ G dd dZG dd deZG dd deZG d	d
 d
eZG dd deZdS )z$Classes to uniquely identify a user.    )_auth_utilsc                   @   s   e Zd ZdZdS )UserIdentifierz"Identifies a user to be looked up.N)__name__
__module____qualname____doc__ r   r   C/tmp/pip-unpacked-wheel-p0r7i5ii/firebase_admin/_user_identifier.pyr      s   r   c                   @   s$   e Zd ZdZdd Zedd ZdS )UidIdentifierzIUsed for looking up an account by uid.

    See ``auth.get_user()``.
    c                 C   s   t j|dd| _dS )zcConstructs a new `UidIdentifier` object.

        Args:
            uid: A user ID string.
        TrequiredN)r   Zvalidate_uid_uid)selfuidr   r   r	   __init__   s    zUidIdentifier.__init__c                 C   s   | j S N)r   r   r   r   r	   r   %   s    zUidIdentifier.uidN)r   r   r   r   r   propertyr   r   r   r   r	   r
      s   r
   c                   @   s$   e Zd ZdZdd Zedd ZdS )EmailIdentifierzKUsed for looking up an account by email.

    See ``auth.get_user()``.
    c                 C   s   t j|dd| _dS )zrConstructs a new `EmailIdentifier` object.

        Args:
            email: A user email address string.
        Tr   N)r   Zvalidate_email_email)r   emailr   r   r	   r   0   s    zEmailIdentifier.__init__c                 C   s   | j S r   )r   r   r   r   r	   r   8   s    zEmailIdentifier.emailN)r   r   r   r   r   r   r   r   r   r   r	   r   *   s   r   c                   @   s$   e Zd ZdZdd Zedd ZdS )PhoneIdentifierzRUsed for looking up an account by phone number.

    See ``auth.get_user()``.
    c                 C   s   t j|dd| _dS )zsConstructs a new `PhoneIdentifier` object.

        Args:
            phone_number: A phone number string.
        Tr   N)r   Zvalidate_phone_phone_number)r   phone_numberr   r   r	   r   C   s    zPhoneIdentifier.__init__c                 C   s   | j S r   )r   r   r   r   r	   r   K   s    zPhoneIdentifier.phone_numberN)r   r   r   r   r   r   r   r   r   r   r	   r   =   s   r   c                   @   s0   e Zd ZdZdd Zedd Zedd ZdS )	ProviderIdentifierzNUsed for looking up an account by provider.

    See ``auth.get_user()``.
    c                 C   s$   t j|dd| _t j|dd| _dS )u   Constructs a new `ProviderIdentifier` object.

        Args:
            provider_id: A provider ID string.
            provider_uid: A provider UID string.
        Tr   N)r   Zvalidate_provider_id_provider_idZvalidate_provider_uid_provider_uid)r   provider_idprovider_uidr   r   r	   r   V   s
     zProviderIdentifier.__init__c                 C   s   | j S r   )r   r   r   r   r	   r   a   s    zProviderIdentifier.provider_idc                 C   s   | j S r   )r   r   r   r   r	   r   e   s    zProviderIdentifier.provider_uidN)r   r   r   r   r   r   r   r   r   r   r   r	   r   P   s   
r   N)r   Zfirebase_adminr   r   r
   r   r   r   r   r   r   r	   <module>   s   