Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 4 additions & 10 deletions server/models/internal/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@


class UserWithOutPasswd(SQLModel):
name: str = Field(max_length=20, sa_column_kwargs={'unique': True, 'comment': '用户名'})
enable: bool = Field(default=True, sa_column=Column(Boolean, comment='可用'))
avatar: Optional[str] = Field(max_length=100, sa_column_kwargs={'comment': '头像'})
email: Optional[str] = Field(max_length=20, sa_column_kwargs={'comment': '邮箱'})
name: Union[str, None] = Field(max_length=20, default=None, sa_column_kwargs={'unique': True, 'comment': '用户名'})
enable: Union[bool, None] = Field(default=True, sa_column=Column(Boolean, comment='可用'))
avatar: Union[str, None] = Field(max_length=100, default=None, sa_column_kwargs={'comment': '头像'})
email: Union[str, None] = Field(max_length=20, default=None, sa_column_kwargs={'comment': '邮箱'})


class UserBase(UserWithOutPasswd):
Expand Down Expand Up @@ -70,9 +70,3 @@ class UserLogin(SQLModel):
class LoginResponse(SQLModel):
uid: int
token: str


class UserSearch(SQLModel):
name: Union[str, None]
enable: Union[int, None]
email: Union[str, None]
13 changes: 8 additions & 5 deletions server/routers/internal/login.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ async def login(login_form: UserLogin, session: Session = Depends(get_session)):


@router.get('/permission', summary='获取权限')
async def get_permission(uid:int=Depends(get_uid), session: Session = Depends(get_session)):
async def get_permission(uid: int = Depends(get_uid), session: Session = Depends(get_session)):
"""
用户权限请求,返回拥有权限的菜单列表,前端根据返回的菜单列表信息,合成菜单项
:param request:
Expand All @@ -59,14 +59,17 @@ async def get_permission(uid:int=Depends(get_uid), session: Session = Depends(ge
user_menus = []
# admin组用户获取所有菜单列表
if uid == 1 or crud.internal.role.check_admin(session, uid):
menu_list = session.exec(select(Menu).where(Menu.type != 'btn').order_by(Menu.sort)).all()
btn_list = session.exec(select(Menu.auth).where(Menu.type == 'btn').where(Menu.auth.is_not(None))).all()
menu_list = session.exec(select(Menu).where(Menu.type != 'btn', Menu.enable == 1).order_by(Menu.sort)).all()
btn_list = session.exec(
select(Menu.auth).where(Menu.type == 'btn', Menu.enable == 1).where(Menu.auth.is_not(None))).all()
else:
for role in user.roles:
user_menus.extend([menu.id for menu in role.menus])
menu_list = session.exec(
select(Menu).where(Menu.id.in_(set(user_menus))).where(Menu.type != 'btn').order_by(Menu.sort)).all()
btn_list = session.exec(select(Menu.auth).where(Menu.id.in_(set(user_menus))).where(Menu.type == 'btn')).all()
select(Menu).where(Menu.id.in_(set(user_menus))).where(Menu.type != 'btn').where(Menu.enable == 1).order_by(
Menu.sort)).all()
btn_list = session.exec(select(Menu.auth).where(Menu.id.in_(set(user_menus))).where(Menu.type == 'btn').where(
Menu.enable == 1)).all()
user_menus = menu_convert(menu_list)

logger.debug(f"user menus:{user_menus}")
Expand Down
4 changes: 2 additions & 2 deletions server/routers/internal/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from ...common.database import get_session
from ...models.internal import User, Role
from ...models.internal.user import UserCreateWithRoles, UserReadWithRoles, UserUpdateWithRoles, UserUpdatePassword, \
UserWithOutPasswd, UserSearch
UserWithOutPasswd
from ...schemas.internal.pagination import Pagination
from ... import crud

Expand Down Expand Up @@ -61,7 +61,7 @@ async def get_user_info(uid: int, session: Session = Depends(get_session)):


@router.post('/users/search', summary="获取用户列表")
async def get_all_user(search: Pagination[UserSearch],
async def get_all_user(search: Pagination[UserWithOutPasswd],
session: Session = Depends(get_session)):
"""
获取“用户管理”页面的用户列表清单
Expand Down