
    Ѯ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y)z$Classes to uniquely identify a user.    )_auth_utilsc                       e Zd ZdZy)UserIdentifierz"Identifies a user to be looked up.N)__name__
__module____qualname____doc__     q/home/www/academy-backend.kofcorporation.com/venv/lib/python3.12/site-packages/firebase_admin/_user_identifier.pyr   r      s    ,r   r   c                   &    e Zd ZdZd Zed        Zy)UidIdentifierzIUsed for looking up an account by uid.

    See ``auth.get_user()``.
    c                 <    t        j                  |d      | _        y)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    yyr   N)r   r   r   r	   r   propertyr   r
   r   r   r   r      s!    
A  r   r   c                   &    e Zd ZdZd Zed        Zy)EmailIdentifierzKUsed for looking up an account by email.

    See ``auth.get_user()``.
    c                 <    t        j                  |d      | _        y)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0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   *   s!    
G  r   r   c                   &    e Zd ZdZd Zed        Zy)PhoneIdentifierzRUsed for looking up an account by phone number.

    See ``auth.get_user()``.
    c                 <    t        j                  |d      | _        y)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7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#   =   s!    
U " "r   r#   c                   6    e Zd ZdZd Zed        Zed        Zy)ProviderIdentifierzNUsed for looking up an account by provider.

    See ``auth.get_user()``.
    c                 t    t        j                  |d      | _        t        j                  |d      | _        y)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   s2     (<<[SW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   s4    
	) ! ! " "r   r+   N)r	   firebase_adminr   r   r   r   r#   r+   r
   r   r   <module>r6      sG    + &- -N &n &"n "&" "r   