o
    Ahe                     @   s0  d dl mZmZmZ d dlmZ d dlmZ d dlmZm	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G dd de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G dd de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G d!d" d"eZd#S )$    )	BaseModelFieldEmailStr)ObjectId)datetime)OptionalListc                   @   s  e Zd ZU eed< eed< dZee ed< dZ	ee ed< dZ
ee ed< dZee ed< eejd	Zee ed
< eejd	Zee ed< dZee ed< dZee ed< dZee ed< dZee ed< dZee ed< dZeed< dZeed< dZeed< dZee ed< dS )UserBaseemailpasswordNverificationCode namemobile
account_id)default_factorycreated_date
last_logindate_of_birthgoogle_connectlinkedin_connecttokenpicurlT	is_activeis_verifiedFmobile_verifiedd   roles)__name__
__module____qualname__r   __annotations__strr   r   intr   r   r   r   r   utcnowr   r   r   r   r   r   r   r   boolr   r   r    r&   r&   9/var/www/html/moveengine/app/v1/models/saas/usersmodel.pyr	      s$   
 r	   c                   @   sD   e Zd ZU eed< dZee ed< dZee ed< G dd dZdS )UseridNr   referral_codec                   @   s   e Zd ZdZeeiZdZdS )zUser.ConfigTN)r   r   r    arbitrary_types_allowedr   r"   json_encodersallow_population_by_field_namer&   r&   r&   r'   Config#   s    r.   )	r   r   r    r"   r!   r   r   r*   r.   r&   r&   r&   r'   r(      s
   
 r(   c                   @   s   e Zd ZU eed< eed< dZee ed< dZ	ee ed< dZ
ee ed< dZee ed< dZee ed< dZee ed	< dZee ed
< dZee ed< dZee ed< dZee ed< dZee ed< dZeed< dZeed< dZeed< dZeed< dS )UserResponseuser_idr
   Nr   r   r   r   r   r   r   r   r   r   r   r   Tr   r   Fr      r   )r   r   r    r"   r!   r   r   r   r#   r   r   r   r   r   r   r   r   r   r   r   r   r%   r   r   r   r&   r&   r&   r'   r/   )   s$   
 r/   c                   @   s"   e Zd ZU eed< ee ed< dS )UserResponseListtotal_countusersN)r   r   r    r#   r!   r   r/   r&   r&   r&   r'   r2   =   s   
 r2   c                   @   s   e Zd ZU ee ed< ee ed< ee ed< dZee ed< e Z	ee ed< dZ
ee ed< dZee ed	< d
Zee ed< dZeee  ed< dS )
UserUpdater   r   r   Nprofile_imager   Tr   r   r1   r   permissions)r   r   r    r   r"   r!   r6   r   r$   r   r   r%   r   r   r#   r7   r   r&   r&   r&   r'   r5   B   s   
 r5   c                   @   s   e Zd ZU ee ed< dS )
UserCreater   N)r   r   r    r   r"   r!   r&   r&   r&   r'   r8   N   s   
 r8   c                   @      e Zd ZU eed< dS )UserInDBhashed_passwordNr   r   r    r"   r!   r&   r&   r&   r'   r:   R      
 r:   c                   @   s.   e Zd ZU eed< eed< eed< eed< dS )ResetPasswordRequestr
   r   r   modeNr<   r&   r&   r&   r'   r>   U   s
   
 r>   c                   @   r9   )PasswordResetr
   N)r   r   r    r   r!   r&   r&   r&   r'   r@   \   r=   r@   c                   @      e Zd ZU eed< eed< dS )PasswordChangecurrent_passwordnew_passwordNr<   r&   r&   r&   r'   rB   `      
 rB   c                   @   rA   )Tokenaccess_token
token_typeNr<   r&   r&   r&   r'   rF   e   rE   rF   c                   @   r9   )	TokenDatar
   Nr<   r&   r&   r&   r'   rI   j   r=   rI   c                   @   sB   e Zd ZU eed< dZee ed< dZee ed< dZe	ed< dS )EmailActionemailssignupactionNr      role)
r   r   r    r"   r!   rM   r   r   rO   r#   r&   r&   r&   r'   rJ   m   s
   
 rJ   c                   @   r9   )GoogleTokenr   Nr<   r&   r&   r&   r'   rP   s   r=   rP   c                   @   s   e Zd ZU eed< eed< dS )	UserLoginr
   r   N)r   r   r    r   r!   r"   r&   r&   r&   r'   rQ   v   rE   rQ   N)pydanticr   r   r   bsonr   r   typingr   r   r	   r(   r/   r2   r5   r8   r:   r>   r@   rB   rF   rI   rJ   rP   rQ   r&   r&   r&   r'   <module>   s&    