完善项目权限前置依赖保存校验
- 以接口权限定义中的 prerequisite_permissions 作为前置依赖单一事实源,生成运行时前置权限映射\n- 保存项目角色权限前预检缺失前置权限与受影响下游权限,未确认时返回 409 调整详情\n- 确认保存时自动合并补齐前置权限与取消下游权限,并提供有效权限矩阵读取接口\n- 前端角色权限编辑改为保存时执行依赖校验,弹窗展示需补充前置权限和受影响下游权限\n- 新增编辑权限取消按钮,清理权限选择即时确认弹窗残留\n- 补充后端接口测试、前端权限编辑测试与优化设计文档
This commit is contained in:
@@ -2,6 +2,7 @@ import { apiGet, apiPut, apiPost, apiDelete, type ApiRequestConfig } from "./axi
|
||||
import type {
|
||||
ApiEndpointPermissionsResponse,
|
||||
ApiEndpointPermissionsUpdate,
|
||||
ApiOperation,
|
||||
PermissionMetricsResponse,
|
||||
CacheStatsResponse,
|
||||
AlertsResponse,
|
||||
@@ -21,11 +22,17 @@ export const fetchApiEndpointPermissions = (studyId: string, config?: ApiRequest
|
||||
export const fetchMyApiEndpointPermissions = (studyId: string, config?: ApiRequestConfig) =>
|
||||
apiGet<ApiEndpointPermissionsResponse>(`/api/v1/studies/${studyId}/api-permissions/me`, config);
|
||||
|
||||
export const updateApiEndpointPermissions = (studyId: string, payload: ApiEndpointPermissionsUpdate) =>
|
||||
apiPut<ApiEndpointPermissionsResponse>(`/api/v1/studies/${studyId}/api-permissions`, payload);
|
||||
export const updateApiEndpointPermissions = (
|
||||
studyId: string,
|
||||
payload: ApiEndpointPermissionsUpdate,
|
||||
options?: { confirm_prerequisite_adjustments?: boolean },
|
||||
) =>
|
||||
apiPut<ApiEndpointPermissionsResponse>(`/api/v1/studies/${studyId}/api-permissions`, payload, {
|
||||
params: options?.confirm_prerequisite_adjustments ? { confirm_prerequisite_adjustments: true } : undefined,
|
||||
});
|
||||
|
||||
export const fetchApiOperations = () =>
|
||||
apiGet<{ operations: Array<{ operation_key: string; module: string; action: string; description: string; default_roles: string[] }> }>(`/api/v1/api-permissions/operations`);
|
||||
apiGet<{ operations: ApiOperation[] }>(`/api/v1/api-permissions/operations`);
|
||||
|
||||
// 权限系统监控API
|
||||
export const fetchPermissionMetrics = () =>
|
||||
|
||||
Reference in New Issue
Block a user