from enum import Enum as PyEnum from sqlalchemy import Boolean, Column, Integer, String, Enum from sqlalchemy.orm import relationship from app.db.base import Base class UserRole(str, PyEnum): ADMIN = "admin" USER = "user" class User(Base): __tablename__ = "users" id = Column(Integer, primary_key=True, index=True) email = Column(String, unique=True, index=True) hashed_password = Column(String) is_active = Column(Boolean, default=True) role = Column(Enum(UserRole), default=UserRole.USER) todos = relationship("Todo", back_populates="owner") categories = relationship("Category", back_populates="owner") tags = relationship("Tag", back_populates="owner")