"""SQLAlchemy models (minimal to get API running). For full production use we should reflected or generate models from the DB, but this subset is enough to power metadata + inventory endpoints. """ from datetime import datetime from sqlalchemy import Column, Integer, String, DateTime from sqlalchemy.orm import declarative_base Base = declarative_base() class Inventory(Base): __tablename__ = "inventory" id = Column(Integer, primary_key=True) character_name = Column(String) storage_type = Column(String) item_name = Column(String) quantity = Column(Integer) last_updated = Column(DateTime, default=datetime.utcnow) class Spell(Base): """Spell table with job level columns (selected jobs only).""" __tablename__ = "spells" name = Column(String, primary_key=True) run = Column(Integer, nullable=True) whm = Column(Integer, nullable=True) blm = Column(Integer, nullable=True) rdm = Column(Integer, nullable=True) pld = Column(Integer, nullable=True) drk = Column(Integer, nullable=True) brd = Column(Integer, nullable=True) nin = Column(Integer, nullable=True) smn = Column(Integer, nullable=True) cor = Column(Integer, nullable=True) sch = Column(Integer, nullable=True) geo = Column(Integer, nullable=True)