role.py 900 B

123456789101112131415161718192021
  1. from sqlalchemy import Integer, SmallInteger, String
  2. from sqlalchemy.orm import Mapped, mapped_column, relationship
  3. from app.models.base import BaseModel, SoftDeleteMixin
  4. class Role(BaseModel, SoftDeleteMixin):
  5. __tablename__ = "bx_role"
  6. role_name: Mapped[str] = mapped_column(String(64), nullable=False)
  7. role_code: Mapped[str] = mapped_column(String(64), nullable=False, unique=True)
  8. sort_order: Mapped[int] = mapped_column(Integer, nullable=False, default=0, server_default="0")
  9. status: Mapped[int] = mapped_column(SmallInteger, nullable=False, default=1, server_default="1")
  10. remark: Mapped[str | None] = mapped_column(String(512))
  11. users: Mapped[list["User"]] = relationship(
  12. "User", secondary="bx_role_user", back_populates="roles"
  13. )
  14. menus: Mapped[list["Menu"]] = relationship(
  15. "Menu", secondary="bx_menu_role", back_populates="roles"
  16. )