From 02ebc7db00b2ff9e4ec5aadf3b9a4bc980d99643 Mon Sep 17 00:00:00 2001 From: Maciej Pienczyn Date: Wed, 11 Mar 2026 17:35:27 +0100 Subject: [PATCH] feat(messages): add MessageAttachment model --- database.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/database.py b/database.py index d07353d..710f8b7 100644 --- a/database.py +++ b/database.py @@ -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 # ============================================================