
    wg                     F    d dl mZ d dlmZ d dlmZ  G d de          ZdS )    )BaseUserManager)UserValidatorInterface)get_user_validatorc                   B     e Zd Z e            fdef fdZ fdZ xZS )UserManager	validatorc                 V    t                                                       || _        d S )N)super__init__r   )selfr   	__class__s     R/var/www/html/cms/infrastructure/persistence/managers/user_manager/user_manager.pyr   zUserManager.__init__   s$    "    c                    | j                             |          r|                     |          S | j                             |          r|                     |          S t	          |t
                    r2| j        j                            |          	                                S t                                          |          S )N)phone)email)username)r   is_valid_phonegetis_valid_email
isinstancestrmodelobjectsfilterfirstr
   get_by_natural_key)r   r   r   s     r   r   zUserManager.get_by_natural_key   s    >((22 	H88(8+++^**844 	H88(8+++#&& 	H:%,,h,??EEGGGww))(333r   )__name__
__module____qualname__r   r   r   r   __classcell__)r   s   @r   r   r      so        ;M;M;O;O # #"8 # # # # # #
4 
4 
4 
4 
4 
4 
4 
4 
4r   r   N)django.contrib.auth.modelsr   domain.user.validatorr   infrastructure.user.validatorr   r    r   r   <module>r&      so    6 6 6 6 6 6 8 8 8 8 8 8 < < < < < <4 4 4 4 4/ 4 4 4 4 4r   