Browse Source

fix model import

dev
poturaevpetr 2 weeks ago
parent
commit
577dc277e0
  1. 22
      autoLoader/database/AiConclusion.py
  2. 28
      autoLoader/database/Audio.py
  3. 12
      autoLoader/database/ConclusionVersion.py
  4. 16
      autoLoader/database/Operator.py
  5. 4
      autoLoader/database/__init__.py

22
autoLoader/database/AiConclusion.py

@ -1,22 +0,0 @@
from sqlalchemy import Column, UUID, ForeignKey, DateTime, JSON
from sqlalchemy.orm import relationship
from apiApp.database import Base
import uuid
from datetime import datetime
class AiConclusion(Base):
__tablename__ = "ai_conclusion"
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
audio_id = Column(UUID(as_uuid=True), ForeignKey("audio.id"), nullable=False)
conclusion = Column(JSON, default=lambda: {
"transcription": [],
"ai_transcription": [],
"conclusion": {}
})
index_date = Column(DateTime, default=datetime.utcnow)
end_date = Column(DateTime)
audio_id = Column(UUID(as_uuid=True), ForeignKey("audio.id"))
version = relationship("ConclusionVersion", back_populates="ai_conclusion")

28
autoLoader/database/Audio.py

@ -1,28 +0,0 @@
from sqlalchemy import Column, String, DateTime, UUID, ForeignKey, Float, Integer
from sqlalchemy.orm import relationship
from apiApp.database import Base
import uuid
from datetime import datetime
class Audio(Base):
__tablename__ = "audio"
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
filename = Column(String(255), nullable=False)
index_date = Column(DateTime, default=datetime.utcnow)
file_path = Column(String(500))
duration = Column(Float)
file_size = Column(Integer)
ai_conclusion = relationship("AiConclusion", back_populates="audio", cascade="all, delete-orphan")
def to_dict(self):
return {
"id": str(self.id),
"filename": self.filename,
"index_date": self.index_date.isoformat() if self.index_date else None,
"file_path": self.file_path,
"duration": self.duration,
"file_size": self.file_size
}

12
autoLoader/database/ConclusionVersion.py

@ -1,12 +0,0 @@
from sqlalchemy import Column, UUID, ForeignKey, Integer, Text
from apiApp.database import Base
import uuid
class ConclusionVersion(Base):
__tablename__ = "conclusion_version"
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
conclusion_id = Column(UUID(as_uuid=True), ForeignKey("ai_conclusion.id"))
version = Column(Integer)
content = Column(Text)

16
autoLoader/database/Operator.py

@ -1,16 +0,0 @@
from sqlalchemy import Column, UUID, String, Integer
from sqlalchemy.orm import relationship
from apiApp.database import Base
import uuid
class Operator(Base):
__tablename__ = "operator"
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
fio = Column(String(100))
num = Column(Integer)
calls = relationship("Call", back_populates="operator")

4
autoLoader/database/__init__.py

@ -35,6 +35,6 @@ def get_db_session():
# Импортируем ТОЛЬКО нужные модели из apiApp.database
# Operator не импортируем, чтобы избежать проблем с Call
from autoLoader.database.Audio import Audio
# НЕ импортируем из autoLoader.database, чтобы избежать дублирования таблиц
from apiApp.database.Audio import Audio

Loading…
Cancel
Save