Files

20 lines
655 B
Python

from sqlalchemy import String
from sqlalchemy.orm import Mapped, mapped_column, relationship
from app.core.database import Base
from app.models.associations import role_permissions
class Permission(Base):
__tablename__ = "permissions"
id: Mapped[int] = mapped_column(primary_key=True)
# Convention: "<resource>:<action>", e.g. "users:read".
name: Mapped[str] = mapped_column(String(128), unique=True, index=True)
description: Mapped[str | None] = mapped_column(String(255), default=None)
roles: Mapped[list["Role"]] = relationship( # noqa: F821
secondary=role_permissions,
back_populates="permissions",
)