Spaces:
Sleeping
Sleeping
from sqlalchemy import Column, String, Integer, LargeBinary, Text, VARCHAR, ForeignKey | |
from sqlalchemy.orm import relationship | |
from project.config import settings | |
from project.database import Base | |
class Folder(Base): | |
__tablename__ = 'folders' | |
id = Column(Integer, primary_key=True, index=True, autoincrement=True) | |
name = Column(VARCHAR(128)) | |
user_id = Column(Integer, ForeignKey('users.id')) | |
owner = relationship('User', back_populates='folders') | |
audio_records = relationship('AudioRecord', back_populates='folder') | |
images = relationship('ImageRecord', back_populates='folder') | |
class AudioRecord(Base): | |
__tablename__ = 'audio_records' | |
id = Column(Integer, primary_key=True, index=True, autoincrement=True) | |
audio_path = Column(VARCHAR(512)) | |
transcription = Column(Text) | |
folder_id = Column(Integer, ForeignKey('folders.id')) | |
folder = relationship('Folder', back_populates='audio_records') | |
class ImageRecord(Base): | |
__tablename__ = 'image_records' | |
id = Column(Integer, primary_key=True, index=True, autoincrement=True) | |
image_path = Column(VARCHAR(512), default=str(settings.BASE_DIR / 'images' / 'base_img.jpg')) | |
transcription = Column(Text) | |
folder_id = Column(Integer, ForeignKey('folders.id')) | |
folder = relationship('Folder', back_populates='images') | |
class Report(Base): | |
__tablename__ = 'reports' | |
id = Column(Integer, primary_key=True, index=True, autoincrement=True) | |
content = Column(Text) | |
user = relationship('User', back_populates='reports') | |
user_id = Column(Integer, ForeignKey('users.id')) |