""" Tool_OCR - Translation Config Model (RESERVED) Reserved for future translation feature implementation """ from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, JSON from sqlalchemy.orm import relationship from datetime import datetime from app.core.database import Base class TranslationConfig(Base): """ Translation configuration (RESERVED for future implementation) This table is created but not actively used until translation feature is implemented. """ __tablename__ = "paddle_ocr_translation_configs" id = Column(Integer, primary_key=True, index=True) user_id = Column(Integer, ForeignKey("paddle_ocr_users.id", ondelete="CASCADE"), nullable=False, index=True) source_lang = Column(String(20), nullable=False) # ch, en, japan, korean, etc. target_lang = Column(String(20), nullable=False) # en, ch, japan, korean, etc. # Translation engine type: "offline" (argostranslate), "ernie", "google", "deepl" engine_type = Column(String(50), nullable=False, default="offline") # Engine-specific configuration stored as JSON # For offline (argostranslate): {"model_path": "/path/to/model"} # For API-based: {"api_key": "xxx", "endpoint": "https://..."} engine_config = Column(JSON, nullable=True) created_at = Column(DateTime, default=datetime.utcnow, nullable=False) updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, nullable=False) # Relationships user = relationship("User", back_populates="translation_configs") def __repr__(self): return f"{self.target_lang}, engine='{self.engine_type}')>"