Revert "Feature/lint"
This commit is contained in:
48
orm/rbac.py
48
orm/rbac.py
@@ -1,8 +1,9 @@
|
||||
from base.orm import Base, local_session, REGISTRY
|
||||
from sqlalchemy import Column, ForeignKey, String, TypeDecorator, UniqueConstraint
|
||||
import warnings
|
||||
|
||||
from sqlalchemy import String, Column, ForeignKey, UniqueConstraint, TypeDecorator
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
import warnings
|
||||
from base.orm import Base, REGISTRY, engine, local_session
|
||||
|
||||
# Role Based Access Control #
|
||||
|
||||
@@ -120,23 +121,16 @@ class Operation(Base):
|
||||
|
||||
class Resource(Base):
|
||||
__tablename__ = "resource"
|
||||
resourceClass = Column(String, nullable=False, unique=True, comment="Resource class")
|
||||
resourceClass = Column(
|
||||
String, nullable=False, unique=True, comment="Resource class"
|
||||
)
|
||||
name = Column(String, nullable=False, unique=True, comment="Resource name")
|
||||
# TODO: community = Column(ForeignKey())
|
||||
|
||||
@staticmethod
|
||||
def init_table():
|
||||
with local_session() as session:
|
||||
for res in [
|
||||
"shout",
|
||||
"topic",
|
||||
"reaction",
|
||||
"chat",
|
||||
"message",
|
||||
"invite",
|
||||
"community",
|
||||
"user",
|
||||
]:
|
||||
for res in ["shout", "topic", "reaction", "chat", "message", "invite", "community", "user"]:
|
||||
r = session.query(Resource).filter(Resource.name == res).first()
|
||||
if not r:
|
||||
r = Resource.create(name=res, resourceClass=res)
|
||||
@@ -151,7 +145,9 @@ class Permission(Base):
|
||||
{"extend_existing": True},
|
||||
)
|
||||
|
||||
role = Column(ForeignKey("role.id", ondelete="CASCADE"), nullable=False, comment="Role")
|
||||
role = Column(
|
||||
ForeignKey("role.id", ondelete="CASCADE"), nullable=False, comment="Role"
|
||||
)
|
||||
operation = Column(
|
||||
ForeignKey("operation.id", ondelete="CASCADE"),
|
||||
nullable=False,
|
||||
@@ -164,14 +160,14 @@ class Permission(Base):
|
||||
)
|
||||
|
||||
|
||||
# if __name__ == "__main__":
|
||||
# Base.metadata.create_all(engine)
|
||||
# ops = [
|
||||
# Permission(role=1, operation=1, resource=1),
|
||||
# Permission(role=1, operation=2, resource=1),
|
||||
# Permission(role=1, operation=3, resource=1),
|
||||
# Permission(role=1, operation=4, resource=1),
|
||||
# Permission(role=2, operation=4, resource=1),
|
||||
# ]
|
||||
# global_session.add_all(ops)
|
||||
# global_session.commit()
|
||||
if __name__ == "__main__":
|
||||
Base.metadata.create_all(engine)
|
||||
ops = [
|
||||
Permission(role=1, operation=1, resource=1),
|
||||
Permission(role=1, operation=2, resource=1),
|
||||
Permission(role=1, operation=3, resource=1),
|
||||
Permission(role=1, operation=4, resource=1),
|
||||
Permission(role=2, operation=4, resource=1),
|
||||
]
|
||||
global_session.add_all(ops)
|
||||
global_session.commit()
|
||||
|
Reference in New Issue
Block a user