import uuid from datetime import datetime from sqlalchemy import Column, String, Integer, DateTime, Text from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import relationship from app.database import Base class User(Base): __tablename__ = "users" id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) email = Column(String(255), unique=True, nullable=False, index=True) password_hash = Column(String(255), nullable=False) name = Column(String(100)) plan = Column(String(20), default="free") streak_days = Column(Integer, default=0) total_points = Column(Integer, default=0) risk_level = Column(String(10), default="green") created_at = Column(DateTime, default=datetime.utcnow) bets = relationship("Bet", back_populates="user") bankroll = relationship("Bankroll", back_populates="user", uselist=False) achievements = relationship("UserAchievement", back_populates="user") completed_lessons = relationship("UserLesson", back_populates="user") alerts = relationship("Alert", back_populates="user")