import { apiGet, apiPut, apiPost } from "./axios"; import type { ProjectRolePermissionsResponse, ProjectRolePermissionsUpdate, ApiEndpointPermissionsResponse, ApiEndpointPermissionsUpdate, PermissionMetricsResponse, CacheStatsResponse, AlertsResponse, HealthResponse, } from "../types/api"; // 模块级权限(现有) export const fetchProjectRolePermissions = (studyId: string) => apiGet(`/api/v1/studies/${studyId}/permissions/`); export const updateProjectRolePermissions = (studyId: string, payload: ProjectRolePermissionsUpdate) => apiPut(`/api/v1/studies/${studyId}/permissions/`, payload); // 接口级权限(新增) export const fetchApiEndpointPermissions = (studyId: string) => apiGet(`/api/v1/studies/${studyId}/api-permissions`); export const updateApiEndpointPermissions = (studyId: string, payload: ApiEndpointPermissionsUpdate) => apiPut(`/api/v1/studies/${studyId}/api-permissions`, payload); // 权限系统监控API(新增) export const fetchPermissionMetrics = () => apiGet(`/api/v1/permission-monitoring/metrics`); export const fetchCacheStats = () => apiGet(`/api/v1/permission-monitoring/cache-stats`); export const fetchPermissionAlerts = (level?: string, limit?: number) => apiGet(`/api/v1/permission-monitoring/alerts`, { params: { level, limit }, }); export const fetchPermissionHealth = () => apiGet(`/api/v1/permission-monitoring/health`); export const resetPermissionMetrics = () => apiPost(`/api/v1/permission-monitoring/reset-metrics`); export const clearPermissionAlerts = () => apiPost(`/api/v1/permission-monitoring/clear-alerts`);