update permission

This commit is contained in:
Timi
2026-08-11 12:02:38 +08:00
parent e5473eb499
commit bb1fdb5547
4 changed files with 100 additions and 4 deletions
+10 -2
View File
@@ -1,5 +1,5 @@
import { axios } from "./BaseAPI";
import type { Page, PageResult, Permission, PermissionPayload } from "../types";
import type { ModuleCode, Page, PageResult, Permission, PermissionPayload } from "../types";
const BASE_URI = "/user/permission";
@@ -21,9 +21,17 @@ async function remove(id: string): Promise<void> {
});
}
/** 查询当前登录用户在指定模块内可转授的权限。 */
async function grantableList(moduleCode: ModuleCode): Promise<Permission[]> {
return await axios.post(`${BASE_URI}/grantable/list`, undefined, {
params: { moduleCode }
});
}
export default {
list,
create,
update,
remove
remove,
grantableList
};
+68
View File
@@ -27,6 +27,65 @@ async function remove(id: string): Promise<void> {
});
}
/** 查询当前登录用户在模块内可管理的角色。 */
async function manageableList(moduleCode: ModuleCode): Promise<Role[]> {
return await axios.post(`${BASE_URI}/manageable/list`, undefined, {
params: { moduleCode }
});
}
/** 查询当前登录用户在模块内可授权给账号的角色。 */
async function grantableList(moduleCode: ModuleCode): Promise<Role[]> {
return await axios.post(`${BASE_URI}/grantable/list`, undefined, {
params: { moduleCode }
});
}
/** 查询当前登录用户直属角色详情,不按可管理范围过滤。 */
async function currentDetailList(moduleCode?: ModuleCode): Promise<Role[]> {
return await axios.post(`${BASE_URI}/current/detail/list`, undefined, {
params: { moduleCode }
});
}
/** 查询当前登录用户可以给目标角色配置的直接权限 P 候选项。 */
async function grantablePermissionList(roleId: string): Promise<Permission[]> {
return await axios.post(`${BASE_URI}/permission/grantable/list`, undefined, {
params: { roleId }
});
}
/** 查询目标角色当前可继续转授的权限 D。 */
async function delegationList(roleId: string): Promise<Permission[]> {
return await axios.post(`${BASE_URI}/delegation/list`, undefined, {
params: { roleId }
});
}
/** 查询当前登录用户可以给目标角色配置的 D 候选项。 */
async function grantableDelegationList(roleId: string): Promise<Permission[]> {
return await axios.post(`${BASE_URI}/delegation/grantable/list`, undefined, {
params: { roleId }
});
}
/** 覆盖保存目标角色可继续转授的权限 D。 */
async function updateDelegation(req: Pick<RolePayload, "id" | "delegationPermissionIdList">): Promise<void> {
await axios.post(`${BASE_URI}/delegation/update`, req);
}
/** 查询目标角色可选管理父级。 */
async function parentGrantableList(roleId: string): Promise<Role[]> {
return await axios.post(`${BASE_URI}/parent/grantable/list`, undefined, {
params: { roleId }
});
}
/** 保存目标角色管理父级。 */
async function updateParent(req: Pick<RolePayload, "id" | "parentRoleId">): Promise<void> {
await axios.post(`${BASE_URI}/parent/update`, req);
}
async function authorizedList(userId: string, moduleCode?: ModuleCode): Promise<Role[]> {
return axios.post(`${BASE_URI}/authorized/list`, undefined, {
params: {
@@ -52,6 +111,15 @@ export default {
create,
update,
remove,
manageableList,
grantableList,
currentDetailList,
grantablePermissionList,
delegationList,
grantableDelegationList,
updateDelegation,
parentGrantableList,
updateParent,
authorizedList,
authorize,
authorizedPermission