
    Bi}
                     z    d dl mZ d dlmZmZ d dlmZ  G d dej                  Z G d dej                  ZdS )	    )
SQLAlchemy)datetimetimezone)dbc                      e 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          d          Z ej        ej        d          Z ej        ej        d	          Z ej        ej        d	          Z ej        ej        d	          Z ej        ej        d
 	          Z ej        ddd          Zd Zd ZdS )DownloadFileTprimary_key   Fnullable2     r   defaultc                  >    t          j        t          j                  S Nr   nowr   utc     L/var/www/html/web/mlink/mlink_AI_Server/mlink-backend/src/models/download.py<lambda>zDownloadFile.<lambda>   s    X\8R8R r   DownloadLogfile)backreflazyc                     d| j          dS )Nz<DownloadFile >)nameselfs    r   __repr__zDownloadFile.__repr__   s    ,	,,,,r   c                     | j         | j        | j        | j        | j        | j        | j        | j        | j        | j	        | j
        r| j
                                        nd dS )N)idr!   description	file_typeversion	file_path	file_sizedownload_count	is_latest	is_active
created_at)r&   r!   r'   r(   r)   r*   r+   r,   r-   r.   r/   	isoformatr"   s    r   to_dictzDownloadFile.to_dict   sb    'I+|"19=R$/33555d
 
 	
r   N)__name__
__module____qualname__r   ColumnIntegerr&   Stringr!   Textr'   r(   r)   r*   r+   r,   Booleanr-   r.   DateTimer/   relationshipdownload_logsr$   r1   r   r   r   r   r      sx       	2:4	0	0	0B29YRYs^^e444D")BGd333K	)")B--%888Ibi		"666G	)")C..5999I	"*u555IRYrz1555N	"*e444I	"*d333I2;0R0RSSSJ $BOM6MMMM- - -
 
 
 
 
r   r   c                      e Zd Z ej        ej        d          Z ej        ej         ej        d          d          Z ej         ej	        d          d          Z
 ej         ej	        d          d          Z ej         ej	        d          d          Z ej        ej        d	 
          Z ej        d ej        dd          dd          Zd Zd ZdS )r   Tr	   zdownload_file.idFr      -   r   c                  >    t          j        t          j                  S r   r   r   r   r   r   zDownloadLog.<lambda>-   s    8<;U;U r   r   Userr<   )r   z!DownloadLog.user_id==User.user_idzDownloadLog.user_id)r   primaryjoinforeign_keysc                     d| j          dS )Nz<DownloadLog r    )r&   r"   s    r   r$   zDownloadLog.__repr__6   s    )tw))))r   c                     | j         | j        | j        | j        r| j        j        nd| j        | j        | j        r| j                                        nd dS )N	Anonymous)r&   file_iduser_idusername
ip_address
user_agentdownloaded_at)	r&   rG   rH   userrI   rJ   rK   rL   r0   r"   s    r   r1   zDownloadLog.to_dict9   s^    '||.2iH	**[//?C?Q[T/99;;;W[
 
 	
r   N)r2   r3   r4   r   r5   r6   r&   
ForeignKeyrG   r7   rH   rJ   rK   r:   rL   r;   r   rM   r$   r1   r   r   r   r   r   '   s$       	2:4	0	0	0Bbi
MBM2D$E$EPUVVVGbi		"555G929R==5999J929S>>D999JBIbk3U3UVVVM 2?

?>>>7*  D* * *	
 	
 	
 	
 	
r   r   N)	flask_sqlalchemyr   r   r   src.models.userr   Modelr   r   r   r   r   <module>rR      s    ' ' ' ' ' ' ' ' ' ' ' ' ' '       
  
  
  
  
28  
  
  
D
 
 
 
 
"( 
 
 
 
 
r   