
    7h                        d dl mZmZmZmZ d dlmZmZmZ d dl	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 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 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")#    )	BaseModelEmailStrField	validator)AnyOptionalList)HTTPExceptionc                   "    e Zd ZU eed<   eed<   y)Tokenaccess_token
token_typeN)__name__
__module____qualname__str__annotations__     ,/var/www/html/answerous/db_config/schemas.pyr   r      s    Or   r   c                       e Zd ZU eed<   y)	TokenDataemailN)r   r   r   r   r   r   r   r   r   r   	   s    Or   r   c                       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
dd	d	
      d        Z e
d      d        Zy)
UserCreatenamer   Norg_idorg_nameplanwelcome_email*T)prealwaysc                 F    t        |t              r|j                         S |S N)
isinstancer   stripclsvalues     r   strip_whitespacezUserCreate.strip_whitespace   s    eS!;;= r   c                 J    t        fddD              rt        dd      S )Nc              3   &   K   | ]  }|v  
 y wr%   r   .0charr*   s     r   	<genexpr>z/UserCreate.validate_org_name.<locals>.<genexpr>        ?tu}?   \[]}{\$&%#@)()+!^.  z<Organization name must contain alphanumeric characters only.status_codedetailanyr
   r(   s    `r   validate_org_namezUserCreate.validate_org_name   s,    ?)>??U  r   )r   r   r   r   r   r   r   r   r   r    r   r+   r;   r   r   r   r   r      sx    
IJ FHSM "Hhsm"D(3-#'M8C='sT* + z r   r   c                       e Zd ZU 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	<    G d
 d      Zy)UserResponseNtokenr   r   r   r   allocated_storagefolder_limitr   c                       e Zd ZdZy)UserResponse.ConfigTNr   r   r   from_attributesr   r   r   ConfigrB   1       r   rE   )r   r   r   r>   r   r   r   r   r   r   r   r?   intr@   r   rE   r   r   r   r=   r=   &   s}    E8C=D(3-E8C= FHSM "Hhsm"'+x}+"&L(3-&D(3- r   r=   c                   T    e Zd ZU eed<   eed<   eed<   eed<   eed<    G d d      Zy)	OrgUserResponseuser_idr   r   r   r   c                       e Zd ZdZy)OrgUserResponse.ConfigTNrC   r   r   r   rE   rL   ;   rF   r   rE   Nr   r   r   rG   r   r   rE   r   r   r   rI   rI   4   s%    L
IJKM r   rI   c                   ,    e Zd ZU dZee   ed<   eed<   y)DocumentNdoc_iddoc_name)r   r   r   rP   r   rG   r   r   r   r   r   rO   rO   >   s     FHSM Mr   rO   c                       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<    G d	 d
      Zy)DocumentResponserP   rQ   N	folder_iddoc_url
doc_statustask_iddoc_metadatac                       e Zd ZdZy)DocumentResponse.ConfigTNrC   r   r   r   rE   rZ   L   rF   r   rE   )r   r   r   rG   r   r   rT   r   rU   rV   rW   rX   dictrE   r   r   r   rS   rS   B   s\    KM#Ix}#!GXc]! $J$!GXc]!#'L(4.' r   rS   c                   F    e Zd ZU eed<   eed<   ee   ed<    G d d      Zy)DocumentListResponsestatusmessagedatac                       e Zd ZdZy)DocumentListResponse.ConfigTNrC   r   r   r   rE   rb   T   rF   r   rE   N)r   r   r   r   r   r	   rS   rE   r   r   r   r]   r]   O   s"    KL

   r   r]   c                   T    e Zd ZU eed<   eed<   eed<   g Zee   ed<    G d d      Z	y)FolderResponserT   r   shared	documentsc                       e Zd ZdZy)FolderResponse.ConfigTNrC   r   r   r   rE   rh   ]   rF   r   rE   N)
r   r   r   rG   r   r   rf   r	   rS   rE   r   r   r   rd   rd   W   s+    N
IK(*It$%* r   rd   c                   F    e Zd ZU eed<   eed<   ee   ed<    G d d      Zy)FolderListResponser^   r_   r`   c                       e Zd ZdZy)FolderListResponse.ConfigTNrC   r   r   r   rE   rl   f   rF   r   rE   N)r   r   r   r   r   r	   rd   rE   r   r   r   rj   rj   a   s!    KL
~
 r   rj   c                   L    e Zd ZU eed<   dZeed<   eed<    ed      d        Zy)FolderCreatefolder_nameN	parent_idre   c                 J    t        fddD              rt        dd      S )Nc              3   &   K   | ]  }|v  
 y wr%   r   r.   s     r   r1   z4FolderCreate.validate_folder_name.<locals>.<genexpr>p   r2   r3   r4   r5   z%Folder name contains characters only.r6   r9   r(   s    `r   validate_folder_namez!FolderCreate.validate_folder_namen   s,    ?)>??>  r   )	r   r   r   r   r   rp   rG   r   rs   r   r   r   rn   rn   i   s.    IsK} r   rn   c                   |    e Zd ZU eed<   eed<   eed<   eed<   eed<   eed<   eed<   eed<   eed	<    G d
 d      Zy)ChatHistoryResponsechat_history_idrJ   rP   document_uuidquerysearch_resultscitationquery_promptquery_responsec                       e Zd ZdZy)ChatHistoryResponse.ConfigTNrC   r   r   r   rE   r~      rF   r   rE   NrM   r   r   r   ru   ru   x   s>    LKJM r   ru   c                   J    e Zd ZU eed<   eed<   dZee   ed<   dZee   ed<   y)SharedFolderr   rT   Norganizationaccess)	r   r   r   r   r   rG   r   r   r   r   r   r   r   r      s(    JN"&L(3-& FHSM r   r   c                   J    e Zd ZU eed<   eed<   dZee   ed<    G d d      Zy)SharedFolderResponser   rT   Nr   c                       e Zd ZdZy)SharedFolderResponse.ConfigTNrC   r   r   r   rE   r      rF   r   rE   )	r   r   r   r   r   rG   r   r   rE   r   r   r   r   r      s$    JN"&L(3-& r   r   c                   F    e Zd ZU eed<   eed<   ee   ed<    G d d      Zy)CustomResponser^   r_   r`   c                       e Zd ZdZy)CustomResponse.ConfigTNrC   r   r   r   rE   r      rF   r   rE   N)r   r   r   r   r   r   r   rE   r   r   r   r   r      s     KL
3- r   r   N)pydanticr   r   r   r   typingr   r   r	   fastapir
   r   r   r   r=   rI   rO   rS   r]   rd   rj   rn   ru   r   r   r   r   r   r   <module>r      s    : : & & !I 	  29 i y y 9 Y  9 ) !9 !9 Y r   