
    ]i(                         d dl mZ d dlmZmZmZmZ  G d de      Z G d de      Z G d de      Z	 G d	 d
e      Z
 G d de      Zy)    )Any)	BaseModel
ConfigDictEmailStrmodel_validatorc                   "    e Zd ZU eed<   eed<   y)UserSpbuAssignmentCreatespbu_idrole_idN)__name__
__module____qualname__int__annotations__     2/var/www/html/spbu.com/backend/app/schemas/user.pyr	   r	      s    LLr   r	   c                       e Zd ZU  ed      Zeed<   eed<   eed<   eed<   dZedz  ed<   dZ	edz  ed	<   d
Z
eed<    ed      ededefd              Zy)UserSpbuAssignmentResponseTfrom_attributesiduser_idr
   r   N	spbu_name	role_nameFrole_can_be_scheduledbefore)modedatareturnc                     t        |t              r|S t        |dd       }|j                  |j                  |j
                  |j                  d |r|j                  nd |r|j                  dS ddS )NroleF)r   r   r
   r   r   r   r   )	
isinstancedictgetattrr   r   r
   r   namacan_be_scheduled)clsr   r"   s      r   _extract_from_ormz,UserSpbuAssignmentResponse._extract_from_orm   ss     dD!K tVT*''||||||&*>BT%:%:
 	
 IN
 	
r   )r   r   r   r   model_configr   r   r   strr   r   boolr   classmethodr   r)   r   r   r   r   r      st    d3LGLLL IsTz  IsTz "'4'(#
S 
S 
  $
r   r   c                   X    e Zd ZU eed<   eed<   dZedz  ed<   dZedz  ed<   dZe	ed<   y)
UserCreatenameemailNusernamepasswordFis_superadmin)
r   r   r   r+   r   r   r2   r3   r4   r,   r   r   r   r/   r/   *   s2    
IOHcDjHcDjM4r   r/   c                       e Zd ZU dZedz  ed<   dZedz  ed<   dZedz  ed<   dZ	edz  ed<   dZ
edz  ed<   dZedz  ed<   y)
UserUpdateNr0   r1   r2   r3   	is_activer4   )r   r   r   r0   r+   r   r1   r   r2   r3   r7   r,   r4   r   r   r   r6   r6   2   sV    D#*!E8d?!HcDjHcDj!Itd{!!%M4$;%r   r6   c                   z    e Zd ZU  ed      Zeed<   eed<   eed<   dZedz  ed<   e	ed<   e	ed	<   g Z
ee   ed
<   y)UserResponseTr   r   r0   r1   Nr2   r4   r7   assignments)r   r   r   r   r*   r   r   r+   r2   r,   r:   listr   r   r   r   r9   r9   ;   sD    d3LG
IJHcDjO46K016r   r9   N)typingr   pydanticr   r   r   r   r	   r   r/   r6   r9   r   r   r   <module>r>      sJ     E Ey 

 
>   & &	79 	7r   