feat: add rbac-backed settings modules
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
"""RBAC 管理服务接口。"""
|
||||
|
||||
from abc import ABC, abstractmethod
|
||||
|
||||
from fastapi_modules.fastapi_leaudit.domian.Dto.rbacAdminDto import (
|
||||
RoleCreateDTO,
|
||||
RolePermissionsBatchDTO,
|
||||
RoleRoutesUpdateDTO,
|
||||
RoleUpdateDTO,
|
||||
)
|
||||
from fastapi_modules.fastapi_leaudit.domian.vo.rbacAdminVo import (
|
||||
RoleListVO,
|
||||
RolePermissionsVO,
|
||||
RoleRoutesVO,
|
||||
RoleRouteUpdateResultVO,
|
||||
RoleVO,
|
||||
RoutePermissionsVO,
|
||||
RouteVO,
|
||||
UserListVO,
|
||||
UserRolesVO,
|
||||
)
|
||||
|
||||
|
||||
class IRbacAdminService(ABC):
|
||||
"""RBAC 管理服务接口。"""
|
||||
|
||||
@abstractmethod
|
||||
async def ListRoles(self, CurrentUserId: int, Page: int, PageSize: int, RoleKey: str | None, RoleName: str | None, IncludeSystem: bool) -> RoleListVO:
|
||||
"""查询角色列表。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def CreateRole(self, CurrentUserId: int, Body: RoleCreateDTO) -> RoleVO:
|
||||
"""创建角色。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def UpdateRole(self, CurrentUserId: int, RoleId: int, Body: RoleUpdateDTO) -> RoleVO:
|
||||
"""更新角色。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def DeleteRole(self, CurrentUserId: int, RoleId: int, Force: bool) -> None:
|
||||
"""删除角色。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def ListUsers(self, CurrentUserId: int, Page: int, PageSize: int, Area: str | None, NickName: str | None) -> UserListVO:
|
||||
"""查询用户列表。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def ListRoleUsers(self, CurrentUserId: int, RoleId: int, Page: int, PageSize: int, Area: str | None, UserName: str | None) -> UserListVO:
|
||||
"""查询指定角色下的用户列表。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def AssignUserRoles(self, CurrentUserId: int, UserId: int, RoleIds: list[int]) -> UserRolesVO:
|
||||
"""为用户分配角色。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def RevokeUserRole(self, CurrentUserId: int, UserId: int, RoleId: int) -> None:
|
||||
"""移除用户角色。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def GetUserRoles(self, CurrentUserId: int, UserId: int) -> UserRolesVO:
|
||||
"""查询用户角色。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def ListAllRoutes(self, CurrentUserId: int, Format: str, IncludeHidden: bool) -> list[RouteVO]:
|
||||
"""查询全部可管理路由。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def GetRoleRoutes(self, CurrentUserId: int, RoleId: int) -> RoleRoutesVO:
|
||||
"""查询角色路由授权。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def UpdateRoleRoutes(self, CurrentUserId: int, RoleId: int, Body: RoleRoutesUpdateDTO) -> RoleRouteUpdateResultVO:
|
||||
"""更新角色路由授权。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def GetRolePermissions(self, CurrentUserId: int, RoleId: int) -> RolePermissionsVO:
|
||||
"""查询角色权限授权。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def SaveRolePermissions(self, CurrentUserId: int, Body: RolePermissionsBatchDTO) -> RolePermissionsVO:
|
||||
"""保存角色权限授权。"""
|
||||
...
|
||||
|
||||
@abstractmethod
|
||||
async def GetRoutePermissions(self, CurrentUserId: int, RouteId: int) -> RoutePermissionsVO:
|
||||
"""查询路由关联权限定义。"""
|
||||
...
|
||||
Reference in New Issue
Block a user