from sqlalchemy import DECIMAL, BigInteger, Column, Integer, String
from sqlalchemy.orm import relationship
from app.models.base import BaseModel
class User(BaseModel):
__tablename__ = "users"
id = Column(Integer, primary_key=True, autoincrement=True)
telegram_id = Column(BigInteger, unique=True, nullable=False)
username = Column(String(255), nullable=True)
balance = Column(
DECIMAL(precision=18, scale=8), default=0.0, nullable=False
)
# Relationships will be added as we create other models
accounts = relationship(
"Account", back_populates="user", cascade="all, delete-orphan"
)
transactions = relationship(
"Transaction", back_populates="user", cascade="all, delete-orphan"
)
def __repr__(self):
return f"<User(id={self.id}, telegram_id={self.telegram_id}, username={self.username})>"