orca_base_cache.py 828 B

12345678910111213141516171819202122
  1. """Cache model for OrcaSlicer base profiles fetched from GitHub."""
  2. from datetime import datetime
  3. from sqlalchemy import DateTime, Index, String, Text, func
  4. from sqlalchemy.orm import Mapped, mapped_column
  5. from backend.app.core.database import Base
  6. class OrcaBaseProfile(Base):
  7. """Cached OrcaSlicer base profile from GitHub for inheritance resolution."""
  8. __tablename__ = "orca_base_profiles"
  9. id: Mapped[int] = mapped_column(primary_key=True)
  10. name: Mapped[str] = mapped_column(String(300))
  11. profile_type: Mapped[str] = mapped_column(String(20)) # filament, machine, process
  12. setting: Mapped[str] = mapped_column(Text) # Full JSON
  13. fetched_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now())
  14. __table_args__ = (Index("ix_orca_base_profiles_name", "name", unique=True),)