feat(messages): add MessageAttachment model
This commit is contained in:
parent
301606823b
commit
02ebc7db00
17
database.py
17
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 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.dialects.postgresql import ARRAY as PG_ARRAY, JSONB as PG_JSONB
|
||||||
from sqlalchemy.ext.declarative import declarative_base
|
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
|
from flask_login import UserMixin
|
||||||
|
|
||||||
|
|
||||||
@ -2287,6 +2287,21 @@ class PrivateMessage(Base):
|
|||||||
parent = relationship('PrivateMessage', remote_side=[id])
|
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
|
# B2B CLASSIFIEDS
|
||||||
# ============================================================
|
# ============================================================
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user