
    h
                         d Z ddlmZ  G d d          Z G d de          Z G d de          Z G d	 d
e          Z G d de          ZdS )z$Classes to uniquely identify a user.    )_auth_utilsc                       e Zd ZdZdS )UserIdentifierz"Identifies a user to be looked up.N)__name__
__module____qualname____doc__     c/var/www/html/e360mart/e360mart_env/lib/python3.11/site-packages/firebase_admin/_user_identifier.pyr   r      s        ,,,,r   r   c                   .    e Zd ZdZd Zed             ZdS )UidIdentifierzIUsed for looking up an account by uid.

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

        Args:
            uid: A user ID string.
        TrequiredN)r   validate_uid_uid)selfuids     r   __init__zUidIdentifier.__init__   s      ,S4@@@			r   c                     | j         S N)r   r   s    r   r   zUidIdentifier.uid%   s
    yr   N)r   r   r   r	   r   propertyr   r
   r   r   r   r      sK         
A A A   X  r   r   c                   .    e Zd ZdZd Zed             ZdS )EmailIdentifierzKUsed for looking up an account by email.

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

        Args:
            email: A user email address string.
        Tr   N)r   validate_email_email)r   emails     r   r   zEmailIdentifier.__init__0   s     "0FFFr   c                     | j         S r   )r   r   s    r   r    zEmailIdentifier.email8   s
    {r   N)r   r   r   r	   r   r   r    r
   r   r   r   r   *   sK         
G G G   X  r   r   c                   .    e Zd ZdZd Zed             ZdS )PhoneIdentifierzRUsed for looking up an account by phone number.

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

        Args:
            phone_number: A phone number string.
        Tr   N)r   validate_phone_phone_number)r   phone_numbers     r   r   zPhoneIdentifier.__init__C   s"     )7tTTTr   c                     | j         S r   )r&   r   s    r   r'   zPhoneIdentifier.phone_numberK       !!r   N)r   r   r   r	   r   r   r'   r
   r   r   r#   r#   =   sK         
U U U " " X" " "r   r#   c                   D    e Zd ZdZd Zed             Zed             ZdS )ProviderIdentifierzNUsed for looking up an account by provider.

    See ``auth.get_user()``.
    c                 r    t          j        |d          | _        t          j        |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   validate_provider_id_provider_idvalidate_provider_uid_provider_uid)r   provider_idprovider_uids      r   r   zProviderIdentifier.__init__V   sB     (<[SWXXX(>4) ) )r   c                     | j         S r   )r.   r   s    r   r1   zProviderIdentifier.provider_ida   s      r   c                     | j         S r   )r0   r   s    r   r2   zProviderIdentifier.provider_uide   r)   r   N)r   r   r   r	   r   r   r1   r2   r
   r   r   r+   r+   P   sc         
	) 	) 	) ! ! X! " " X" " "r   r+   N)r	   firebase_adminr   r   r   r   r#   r+   r
   r   r   <module>r6      s    + * & & & & & &- - - - - - - -    N   &    n   &" " " " "n " " "&" " " " " " " " " "r   