from datetime import datetime from sqlalchemy import Column, Integer, String, DateTime, Text, Float from sqlalchemy.orm import relationship from app.db.base_class import Base class Dex(Base): """Decentralized Exchange (DEX) model.""" id = Column(Integer, primary_key=True, index=True) name = Column(String, index=True, nullable=False) address = Column(String, unique=True, index=True, nullable=False) program_id = Column(String, index=True, nullable=False) version = Column(String, nullable=True) description = Column(Text, nullable=True) website = Column(String, nullable=True) volume_24h = Column(Float, nullable=True) volume_7d = Column(Float, nullable=True) created_at = Column(DateTime, default=datetime.utcnow, nullable=False) updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, nullable=False) # Relationships pools = relationship("Pool", back_populates="dex") def __repr__(self): return f""