
    Bh                         d dl mZmZmZmZmZmZmZ d dlm	Z	 d dl
mZmZ d dlmZ ddlmZ  e	dgd	      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)    )ColumnIntegerString
ForeignKey	TIMESTAMPTextJSON)CryptContext)sessionmakerrelationship)datetime   )Basebcryptauto)schemes
deprecatedc                      e Zd ZdZ eedd      Z e ed      d      Z e ed      dd      Z	 e ed      d      Z
 eedd	      Z e ed
      d      Z e ed      d      Z e ed      d      Z e ed      d      Z eed      Z eed      Z eeej(                        Z eeej(                  ej(                        ZdefdZedefd       Zy)UserusersTprimary_keyindex2   Fnullable)uniquer      )r   r         defaultr"   onupdatepasswordc                 B    t         j                  || j                        S N)pwd_contextverifypassword_hash)selfr%   s     +/var/www/html/answerous/db_config/models.pyverify_passwordzUser.verify_password   s    !!(D,>,>??    c                 ,    t         j                  |       S r'   )r(   hash)r%   s    r,   hash_passwordzUser.hash_password   s    ))r.   N)__name__
__module____qualname____tablename__r   r   user_idr   nameemailr*   token	user_codeorg_idorg_nameplanallocated_storagefolder_limitr   r   utcnow
created_at
updated_atstrr-   staticmethodr1    r.   r,   r   r   	   s    MW$d;G&*u-D6":dU;E6#;7M6$d3EvbzD1IF1I-FfSkD1H&)d+Dw6'D1L	8??;J	8??X__UJ@ @ * * *r.   r   c                   (   e Zd ZdZ eedd      Z e ed      d      Z eed      Z	 eed      Z
 e ed      d	      Z e ed
      d      Z eeej                  	      Z eeej                  ej                        Z edd      Zy)FolderfoldersTr   r   Fr   r   Nor!   r   r#   	Documentsfolderback_populatesN)r2   r3   r4   r5   r   r   	folder_idr   r7   	parent_idr6   sharedsanitized_namer   r   r@   rA   rB   r   	documentsrE   r.   r,   rG   rG   "   s    MwD=I&+.Dw.IWt,GF2J-FF2J6N	8??;J	8??X__UJ [BIr.   rG   c                   r   e Zd ZdZ eedd      Z ee ed      d      Z ee	d      Z
 e e	d      d      Z ee	      Z ee	d      Z ee	      Z eed      Z e e	d      d      Z ee	d      Z eeej*                  	      Z eeej*                  ej*                  
      Z edd      Zy)rJ   rR   Tr   folders.folder_idFr   r      r!   r#   rG   rL   N)r2   r3   r4   r5   r   r   doc_idr   rN   r   document_uuiddocument_typedoc_namerQ   doc_urlr	   doc_metadata
doc_statustask_idr   r   r@   rA   rB   r   rK   rE   r.   r,   rJ   rJ   2   s    MGT:Fw
+> ?%PI6D1M6#;6Mf~HFT2NVnG$.Lr
D1JVd+G	8??;J	8??X__UJ(;?Fr.   rJ   c                       e Zd Z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j                        Z eeej                  ej                  	      Zy
)SharedFoldershared_folderTr   r   r   rT   Fr!   r#   N)r2   r3   r4   r5   r   r   shared_folder_idr   r8   organizationr   rN   r   r   r@   rA   rB   rE   r.   r,   r_   r_   C   sp    #Mg4tD6#;.E&+5Lw
+> ?%PI	8??;J	8??X__UJr.   r_   c                   :   e Zd ZdZ eedd      Z ee ed      d      Z eed      Z	 ee
d      Z eed      Z eed      Z eed      Z eed      Z eed      Z eeej(                        Z eeej(                  ej(                        Zy	)
ChatHistorychat_historyTr   zusers.user_idFr   r!   r#   N)r2   r3   r4   r5   r   r   chat_history_idr   r6   rV   r   rW   r   querysearch_resultscitationquery_promptquery_responser   r   r@   rA   rB   rE   r.   r,   rd   rd   M   s    "MW$dCOWj9EJGGd+F6E2M4$'ED40NdT*H$.LD40N	8??;J	8??X__UJr.   rd   N)
sqlalchemyr   r   r   r   r   r   r	   passlib.contextr
   sqlalchemy.ormr   r   r   databaser   r(   r   rG   rJ   r_   rd   rE   r.   r,   <module>rp      sl    Q Q Q ( 5  H:&A*4 *2CT C @ @"V4 VV$ Vr.   