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")