from sqlalchemy import JSON, Column, ForeignKey, Integer, String, Text

from app.models.base import BaseModel


class LocalModel(BaseModel):
    __tablename__ = "local_models"
    name = Column(String(255), nullable=False)
    identifier = Column(String(255), unique=True, nullable=False)
    model_type = Column(String(50), default="lora")
    base_model = Column(String(255), nullable=True)
    model_path = Column(Text, nullable=False)
    status = Column(String(50), default="active")
    config = Column(JSON, nullable=True)
    tenant_id = Column(Integer, nullable=True, index=True)
    asset_kind = Column(String(50), nullable=True)
    runtime_kind = Column(String(50), nullable=True)
    source_kind = Column(String(50), nullable=True)
    published_model_id = Column(Integer, ForeignKey("public.models.id"), nullable=True)
