sumaq/backend/app/models/evidence.py

24 lines
1.0 KiB
Python

from sqlalchemy import Column, Integer, String, ForeignKey, DateTime, Text
from sqlalchemy.orm import relationship
from app.db.database import Base
import datetime
class Evidence(Base):
__tablename__ = "evidences"
id = Column(Integer, primary_key=True, index=True)
activity_id = Column(Integer, ForeignKey("activities.id"), nullable=True)
non_conformity_id = Column(Integer, ForeignKey("non_conformities.id"), nullable=True)
file_path = Column(String, nullable=False)
media_type = Column(String) # image, video, document
description = Column(String)
captured_at = Column(DateTime, default=datetime.datetime.utcnow)
# Transcription fields for audio
transcription = Column(Text, nullable=True)
transcription_status = Column(String, default="none") # none, pending, processing, completed, error
activity = relationship("app.models.activity.Activity", back_populates="evidences")
non_conformity = relationship("app.models.non_conformity.NonConformity", back_populates="evidences")