from sqlalchemy import Column, String, Integer, DateTime, Text, Float, Boolean from sqlalchemy.dialects.postgresql import UUID, JSONB from datetime import datetime from app.database import Base import uuid class CorpusEntry(Base): __tablename__ = "corpus_entries" id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) source_text = Column(Text, nullable=False) target_text = Column(Text, nullable=False) source_lang = Column(String(20)) target_lang = Column(String(20)) task_type = Column(String(50), nullable=False) domain = Column(String(100), default="general") provider_used = Column(String(50)) quality_score = Column(Float, default=0.5) user_edited = Column(Boolean, default=False) user_rating = Column(Integer) usage_count = Column(Integer, default=0) embedding = Column(JSONB) entry_metadata = Column("metadata", JSONB, default={}) created_at = Column(DateTime, default=datetime.utcnow)