o
    *i                     @   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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workforce_id)__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'   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(   r0   *   s$   
 r0   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   r0   r'   r'   r'   r(   r3   >   s   
 r3   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   r2   r   permissions)r   r    r!   r   r#   r"   r7   r   r%   r   r   r&   r   r   r$   r8   r   r'   r'   r'   r(   r6   C   s   
 r6   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(   r9   O   s   
 r9   c                   @      e Zd ZU eed< dS )UserInDBhashed_passwordN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< eed< eed< dS )ResetPasswordRequestr
   r   r   modeNr=   r'   r'   r'   r(   r?   V   s
   
 r?   c                   @   r:   )PasswordResetr
   N)r   r    r!   r   r"   r'   r'   r'   r(   rA   ]   r>   rA   c                   @      e Zd ZU eed< eed< dS )PasswordChangecurrent_passwordnew_passwordNr=   r'   r'   r'   r(   rC   a      
 rC   c                   @   rB   )Tokenaccess_token
token_typeNr=   r'   r'   r'   r(   rG   f   rF   rG   c                   @   r:   )	TokenDatar
   Nr=   r'   r'   r'   r(   rJ   k   r>   rJ   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"   rN   r   r   rP   r$   r'   r'   r'   r(   rK   n   s
   
 rK   c                   @   r:   )GoogleTokenr   Nr=   r'   r'   r'   r(   rQ   t   r>   rQ   c                   @   s.   e Zd ZU eed< eed< dZee ed< dS )	UserLoginr
   r   N	fcm_token)r   r    r!   r   r"   r#   rS   r   r'   r'   r'   r(   rR   w   s   
 rR   N)pydanticr   r   r   bsonr   r   typingr   r   r	   r)   r0   r3   r6   r9   r;   r?   rA   rC   rG   rJ   rK   rQ   rR   r'   r'   r'   r(   <module>   s&    