11from typing import Any , List
22
3- from sqlalchemy import Boolean , Column , ForeignKey , Integer , String , Table , select
4- from sqlalchemy .orm import Session , joinedload , relationship
3+ from sqlalchemy import Boolean , Column , ForeignKey , Integer , String , Table
4+ from sqlalchemy .orm import relationship
55from sqlalchemy .orm .decl_api import declarative_base
66
77from fast_tmp .utils .password import make_password , verify_password
@@ -54,24 +54,24 @@ def verify_password(self, raw_password: str) -> bool:
5454 """
5555 return verify_password (raw_password , self .password )
5656
57- def has_perm (
58- self ,
59- perm : str ,
60- session : Session ,
61- ) -> bool :
62- """
63- 判定用户是否有权限
64- """
65- if self .is_superuser :
66- return True
67- results = session .execute (
68- select (Group .id )
69- .join (Group .users .and_ (User .id == self .id ))
70- .join (Group .permissions .and_ (Permission .code == perm ))
71- ).all ()
72- if len (results ) > 0 :
73- return True
74- return False
57+ # def has_perm(
58+ # self,
59+ # perm: str,
60+ # session: Session,
61+ # ) -> bool:
62+ # """
63+ # 判定用户是否有权限
64+ # """
65+ # if self.is_superuser:
66+ # return True
67+ # results = session.execute(
68+ # select(Group.id)
69+ # .join(Group.users.and_(User.id == self.id))
70+ # .join(Group.permissions.and_(Permission.code == perm))
71+ # ).all()
72+ # if len(results) > 0:
73+ # return True
74+ # return False
7575
7676 # todo:need test
7777 # def has_perms(self, session: Session, perms: Set[str]) -> bool:
@@ -94,37 +94,37 @@ def has_perm(
9494 # return True
9595 # return False
9696
97- def perms (self , session : Session ) -> List [str ]:
98- """
99- 获取用户的所有权限
100- """
101- groups = (
102- session .execute (
103- select (Group )
104- .options (joinedload (Group .permissions ))
105- .join (Group .users )
106- .filter (User .id == self .id )
107- )
108- .scalars ()
109- .all ()
110- )
111- permissions = []
112- for group in groups :
113- for p in group .permissions :
114- permissions .append (p .code )
115- return permissions
116-
117- def __str__ (self ):
118- return self .username
97+ # def perms(self, session: Session) -> List[str]:
98+ # """
99+ # 获取用户的所有权限
100+ # """
101+ # groups = (
102+ # session.execute(
103+ # select(Group)
104+ # .options(joinedload(Group.permissions))
105+ # .join(Group.users)
106+ # .filter(User.id == self.id)
107+ # )
108+ # .scalars()
109+ # .all()
110+ # )
111+ # permissions = []
112+ # for group in groups:
113+ # for p in group.permissions:
114+ # permissions.append(p.code)
115+ # return permissions
116+
117+ # def __str__(self):
118+ # return self.username
119119
120120
121121class Permission (Base ):
122122 __tablename__ = "auth_permission"
123123 code = Column (String (128 ), primary_key = True )
124124 name = Column (String (128 ))
125125
126- def __str__ (self ):
127- return self .name + "-" + self .code
126+ # def __str__(self):
127+ # return self.name + "-" + self.code
128128
129129
130130class Group (AbstractModel ):
@@ -137,11 +137,11 @@ class Group(AbstractModel):
137137 "User" , secondary = "auth_group_user" , back_populates = "groups" , cascade = "all,delete"
138138 )
139139
140- def get_perms (self , db_session : Session ) -> List [str ]:
141- permissions = db_session .execute (
142- select (group_permission ).where (group_permission .c .group_id == self .id )
143- ).fetchall ()
144- return [permission [1 ] for permission in permissions ]
140+ # def get_perms(self, db_session: Session) -> List[str]:
141+ # permissions = db_session.execute(
142+ # select(group_permission).where(group_permission.c.group_id == self.id)
143+ # ).fetchall()
144+ # return [permission[1] for permission in permissions]
145145
146146 # def get_users(self, session: Session) -> List[User]:
147147 # results = session.execute(
0 commit comments