1414
1515
1616class CRUDUser (CRUDBase [User , CreateUser , UpdateUser ]):
17- async def get_user_by_id (self , db : AsyncSession , user_id : int ) -> User | None :
18- return await self .get (db , user_id )
17+ async def get (self , db : AsyncSession , user_id : int ) -> User | None :
18+ return await self .get_ (db , user_id )
1919
20- async def get_user_by_username (self , db : AsyncSession , username : str ) -> User | None :
20+ async def get_by_username (self , db : AsyncSession , username : str ) -> User | None :
2121 user = await db .execute (select (self .model ).where (self .model .username == username ))
2222 return user .scalars ().first ()
2323
24- async def update_user_login_time (self , db : AsyncSession , username : str ) -> int :
24+ async def update_login_time (self , db : AsyncSession , username : str ) -> int :
2525 user = await db .execute (update (self .model ).where (self .model .username == username ).values (last_login = func .now ()))
2626 return user .rowcount
2727
28- async def create_user (self , db : AsyncSession , create : CreateUser ) -> NoReturn :
28+ async def create (self , db : AsyncSession , create : CreateUser ) -> NoReturn :
2929 create .password = jwt .get_hash_password (create .password )
3030 new_user = self .model (** create .dict (exclude = {'roles' }))
3131 role_list = []
@@ -52,8 +52,8 @@ async def update_avatar(self, db: AsyncSession, current_user: User, avatar: Avat
5252 user = await db .execute (update (self .model ).where (self .model .id == current_user .id ).values (avatar = avatar ))
5353 return user .rowcount
5454
55- async def delete_user (self , db : AsyncSession , user_id : int ) -> int :
56- return await self . delete (db , user_id )
55+ async def delete (self , db : AsyncSession , user_id : int ) -> int :
56+ return await super (). delete_ (db , user_id )
5757
5858 async def check_email (self , db : AsyncSession , email : str ) -> User | None :
5959 mail = await db .execute (select (self .model ).where (self .model .email == email ))
@@ -65,45 +65,43 @@ async def reset_password(self, db: AsyncSession, pk: int, password: str) -> int:
6565 )
6666 return user .rowcount
6767
68- def get_users (self ) -> Select :
68+ def get_all (self ) -> Select :
6969 return (
7070 select (self .model )
7171 .options (selectinload (self .model .roles ).selectinload (Role .menus ))
7272 .order_by (desc (self .model .time_joined ))
7373 )
7474
75- async def get_user_is_super (self , db : AsyncSession , user_id : int ) -> bool :
76- user = await self .get_user_by_id (db , user_id )
75+ async def get_super (self , db : AsyncSession , user_id : int ) -> bool :
76+ user = await self .get (db , user_id )
7777 return user .is_superuser
7878
79- async def get_user_is_active (self , db : AsyncSession , user_id : int ) -> bool :
80- user = await self .get_user_by_id (db , user_id )
79+ async def get_active (self , db : AsyncSession , user_id : int ) -> bool :
80+ user = await self .get (db , user_id )
8181 return user .is_active
8282
83- async def super_set (self , db : AsyncSession , user_id : int ) -> int :
84- super_status = await self .get_user_is_super (db , user_id )
83+ async def set_super (self , db : AsyncSession , user_id : int ) -> int :
84+ super_status = await self .get_super (db , user_id )
8585 user = await db .execute (
8686 update (self .model ).where (self .model .id == user_id ).values (is_superuser = False if super_status else True )
8787 )
8888 return user .rowcount
8989
90- async def active_set (self , db : AsyncSession , user_id : int ) -> int :
91- active_status = await self .get_user_is_active (db , user_id )
90+ async def set_active (self , db : AsyncSession , user_id : int ) -> int :
91+ active_status = await self .get_active (db , user_id )
9292 user = await db .execute (
9393 update (self .model ).where (self .model .id == user_id ).values (is_active = False if active_status else True )
9494 )
9595 return user .rowcount
9696
97- async def get_user_role_ids (self , db : AsyncSession , user_id : int ) -> list [int ]:
97+ async def get_role_ids (self , db : AsyncSession , user_id : int ) -> list [int ]:
9898 user = await db .execute (
9999 select (self .model ).where (self .model .id == user_id ).options (selectinload (self .model .roles ))
100100 )
101101 roles_id = [role .id for role in user .scalars ().first ().roles ]
102102 return roles_id
103103
104- async def get_user_with_relation (
105- self , db : AsyncSession , * , user_id : int = None , username : str = None
106- ) -> User | None :
104+ async def get_with_relation (self , db : AsyncSession , * , user_id : int = None , username : str = None ) -> User | None :
107105 where = []
108106 if user_id :
109107 where .append (self .model .id == user_id )
0 commit comments