浏览代码

refactor(orm): add __str__ for Moderator model

Librellium 14 小时之前
父节点
当前提交
fe3d952971
共有 1 个文件被更改,包括 17 次插入0 次删除
  1. 17 0
      anonflow/database/orm.py

+ 17 - 0
anonflow/database/orm.py

@@ -45,6 +45,23 @@ class Moderator(Base):
 
     user = relationship("User", back_populates="moderator")
 
+    def __str__(self):
+        permissions = []
+        if bool(self.is_root):
+            permissions.append("root")
+        else:
+            for permission in dir(self):
+                if (
+                    permission.startswith("can_")
+                    and getattr(self, permission, False)
+                ):
+                    permissions.append(permission)
+
+        return (
+            f"Moderator user_id={self.user_id} "
+            f"permissions={','.join(permissions)}"
+        )
+
 
 class User(Base):
     __tablename__ = "users"