
    gh                         d dl mZ d dlmZ d dlmZ d dlmZ d dl mZ  G d deej                        Z G d deej                        Z	 G d	 d
eej                        Z
y)    )db)datetime)	UserMixin)SoftDeleteMixinc                      e Zd ZdZ ej
                  ej                  d      Z ej
                   ej                  d      d      Z	 ej
                   ej                  d            Z
 ej
                   ej                  d      d      Z ej
                   ej                  d      d      Z ej
                  ej                  d      Z ej
                   ej                  d      d      Z ej
                   ej                  d            Z ej
                   ej                  d            Z ej
                   ej                  d      d      Z ej
                   ej                  d      d      Z ej
                  ej&                  d	      Z ej
                  ej*                  ej.                  	      Z ej
                  ej*                  ej.                  ej.                  
      Z ej
                  ej                   ej4                  d      d      Z ej8                  d ej:                  dd            Zd Zy)DatabaseConnectionz1Model for storing database connection informationTprimary_keyd   Fnullable   2   defaultr   onupdateuser.idUserdatabase_connectionslazybackrefc                 "    d| j                    dS )Nz<DatabaseConnection >)nameselfs    $/var/www/html/app/database/models.py__repr__zDatabaseConnection.__repr__   s    %dii[22    N) __name__
__module____qualname____doc__r   ColumnIntegeridStringr   descriptiondb_typehostportdatabase_nameservice_nameschema_nameusernamepasswordBooleanhas_empty_passwordDateTimer   utcnow
created_at
updated_at
ForeignKeyuser_idrelationshipr   userr!    r"   r    r   r      s   ;	2::4	0B299YRYYs^e4D"))IBIIcN+Kbii			"6G299YRYYs^e4D299RZZ%0DBIIibiinu=M299YRYYs^,L"))IBIIcN+Kryy3%8Hryy3%8H"2::u=2;;@J2;;(//ZJbii

MBMM)$<uMG 2??6:2::6LSW+XYD3r"   r   c                      e Zd ZdZ ej
                  ej                  d      Z ej
                  ej                   ej                  d      dd      Z	 ej
                   ej                  d      d      Z ej
                   ej                  d	
      d      Z ej
                  ej                  ej                   ej                         Z ej$                  d ej&                  dd            Zd Zy)DatabaseSchemaz-Model for caching database schema informationTr	   database_connection.idF)r   uniquer   r   i )lengthr   r   schemasr   r   c                 "    d| j                    dS )Nz<DatabaseSchema r   )r1   r   s    r    r!   zDatabaseSchema.__repr__+   s    !$"2"2!3155r"   N)r#   r$   r%   r&   r   r'   r(   r)   r:   connection_idr*   r1   Textschema_datar6   r   r7   last_updatedr<   r   
connectionr!   r>   r"   r    r@   r@       s    7	2::4	0BBIIbjj-"--8P*Q\ajnoM"))IBIIcNU;K"))GBGG84uEK299R[[(//HOO\L !!5zrzz)Z^?_`J6r"   r@   c                      e Zd ZdZ ej
                  ej                  d      Z ej
                  ej                   ej                  d      d      Z	 ej
                  ej                   ej                  d      d      Z
 ej
                  ej                  d      Z ej
                  ej                  d      Z ej
                  ej                        Z ej
                  ej                   d      Z ej
                  ej                        Z ej
                  ej                   d      Z ej
                   ej(                  d	      d      Z ej
                  ej                   d      Z ej
                  ej.                  ej2                        Z ej6                  d
 ej8                  dd            Z ej6                  d ej8                  dd            Zd Zy)QueryHistoryzModel for storing query historyTr	   r   Fr   rA   r   r   r   query_historyr   r   r   queriesc                 "    d| j                    dS )Nz<QueryHistory r   )r)   r   s    r    r!   zQueryHistory.__repr__B   s    y**r"   N) r#   r$   r%   r&   r   r'   r(   r)   r:   r;   rF   rG   natural_language_querygenerated_sqlFloatexecution_timer4   is_successfulerror_messageis_favoriter*   
model_typecredit_consumedr6   r   r7   r8   r<   r   r=   rJ   r!   r>   r"   r    rL   rL   /   sw   )	2::4	0Bbii

MBMM)$<uMGBIIbjj-"--8P*Q\abM&RYYrww?BIIbgg6MRYYrxx(NBIIbjj$7MBIIbgg&M"))BJJ6K9299R=48Jbii

E:O2;;@J 2??6:2::oD+QRD !5zrzz)Z^?_`J+r"   rL   N)app.extensionsr   r   flask_loginr   app.utils.soft_deleter   Modelr   r@   rL   r>   r"   r    <module>r]      sJ      ! 1 3"(( 326_bhh 6+?BHH +r"   