import uuid from datetime import datetime from sqlalchemy import Column, String, Integer, DateTime, Numeric, ForeignKey from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import relationship from app.database import Base class Bankroll(Base): __tablename__ = "bankrolls" id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) user_id = Column(UUID(as_uuid=True), ForeignKey("users.id"), unique=True, nullable=False) monthly_budget = Column(Numeric(10, 2), nullable=False, default=500) weekly_limit = Column(Numeric(10, 2), default=150) daily_limit = Column(Numeric(10, 2), default=50) bet_max_pct = Column(Numeric(5, 2), default=5.0) current_balance = Column(Numeric(10, 2), default=0) month_spent = Column(Numeric(10, 2), default=0) week_spent = Column(Numeric(10, 2), default=0) day_spent = Column(Numeric(10, 2), default=0) reset_day = Column(Integer, default=1) created_at = Column(DateTime, default=datetime.utcnow) user = relationship("User", back_populates="bankroll")