from __future__ import annotations import uuid from sqlalchemy import String, Text from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import Mapped, mapped_column from core.db.base import Base, SoftDeleteMixin, TimestampMixin class LlmFactory(TimestampMixin, SoftDeleteMixin, Base): __tablename__: str = "llm_factory" id: Mapped[uuid.UUID] = mapped_column( UUID(as_uuid=True), primary_key=True, default=uuid.uuid4 ) name: Mapped[str] = mapped_column( String(50), nullable=False, unique=True, index=True ) request_url: Mapped[str] = mapped_column(String(255), nullable=False) avatar: Mapped[str | None] = mapped_column(Text, nullable=True)