Files
keywarden/app/models/user.py

13 lines
650 B
Python

from sqlalchemy.orm import Mapped, mapped_column
from sqlalchemy import String, Boolean
from app.db.session import engine # only for Alembic discovery, not used here
from sqlalchemy.orm import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = "users"
id: Mapped[int] = mapped_column(primary_key=True, index=True)
email: Mapped[str] = mapped_column(String(254), unique=True, index=True)
hashed_password: Mapped[str | None] = mapped_column(String(255))
role: Mapped[str] = mapped_column(String(32), default="user") # user|admin|auditor
is_active: Mapped[bool] = mapped_column(Boolean, default=True)