
    Eoh                     r    d dl m Z  d dlmZmZmZmZ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      Zy	)
    )datetime)ColumnDateTimeIntegerString
ForeignKey)hybrid_property)relationship)Base)CDNc                   D   e Zd ZdZdZ eeddd      Z e ed      dd      Z	 e ed      dd	      Z
 e ed      dd
      Z e ed      dd      Z ee ed      d      Z eeej"                  dd      Z eedd      Z ed      Zedefd       Zd Zy)Filez,
    Database model for uploaded files.
    filesT)primary_keyindexautoincrement   Fz'Original file name before upload/rename)nullablecommentz)Stored file name (after renaming, if any)zFile path in storaged   zMIME type of the filezcdns.id)r   zUpload timestamp)defaultr   r   zUploader's user IDr   returnc                 :    | j                   j                  dd      S )z
        Returns the file's accessible URL. Here we just return the path directly,
        or you can adjust it to prepend a static host if needed.
        \/)pathreplaceselfs    T/var/www/html/wine-match-dev/backend/winematch-backend/src/apps/files/models/file.pyfull_urlzFile.full_url   s     yy  s++    c                     d| j                    d| j                   d| j                   d| j                   d| j                   dS )Nz	<File(id=z, original_name=z, name=z, path=z, mime=z)>)idoriginal_namenamer   mimer   s    r    __repr__zFile.__repr__*   sJ    y 01C1C0DGDII; WII;gdii[4	
r"   N)__name__
__module____qualname____doc____tablename__r   r   r$   r   r%   r&   r   r'   r   cdn_idr   r   utcnow
created_atcreated_by_idr
   cdnr	   strr!   r(    r"   r    r   r      s     M	TT	JB6#;@ijM&+7bcD&+7MND&+6MNDGZ	2UCF(//ESefJ7U<PQM u
C,# , ,
r"   r   N)r   
sqlalchemyr   r   r   r   r   sqlalchemy.ext.hybridr	   sqlalchemy.ormr
   src.core.models.baser   src.apps.files.models.cdnr   r   r4   r"   r    <module>r:      s&     D D 1 ' % )#
4 #
r"   