feat(messages): add MessageAttachment model

This commit is contained in:
Maciej Pienczyn 2026-03-11 17:35:27 +01:00
parent 301606823b
commit 02ebc7db00

View File

@ -31,7 +31,7 @@ from enum import IntEnum
from sqlalchemy import create_engine, Column, Integer, SmallInteger, String, Text, Boolean, DateTime, ForeignKey, Table, Numeric, Date, Time, TypeDecorator, UniqueConstraint, Enum
from sqlalchemy.dialects.postgresql import ARRAY as PG_ARRAY, JSONB as PG_JSONB
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, relationship
from sqlalchemy.orm import sessionmaker, relationship, backref
from flask_login import UserMixin
@ -2287,6 +2287,21 @@ class PrivateMessage(Base):
parent = relationship('PrivateMessage', remote_side=[id])
class MessageAttachment(Base):
"""Załączniki do wiadomości prywatnych"""
__tablename__ = 'message_attachments'
id = Column(Integer, primary_key=True)
message_id = Column(Integer, ForeignKey('private_messages.id', ondelete='CASCADE'), nullable=False)
filename = Column(String(255), nullable=False) # original filename
stored_filename = Column(String(255), nullable=False) # UUID-based on disk
file_size = Column(Integer, nullable=False) # bytes
mime_type = Column(String(100), nullable=False)
created_at = Column(DateTime, default=datetime.now)
message = relationship('PrivateMessage', backref=backref('attachments', cascade='all, delete-orphan'))
# ============================================================
# B2B CLASSIFIEDS
# ============================================================