diff --git a/ui/src/api/admin/system/resource-management/resource-authorization.ts b/ui/src/api/admin/system/resource-management/resource-authorization.ts index b61c12673f6..d66b20d15de 100644 --- a/ui/src/api/admin/system/resource-management/resource-authorization.ts +++ b/ui/src/api/admin/system/resource-management/resource-authorization.ts @@ -1,6 +1,13 @@ import { get, put } from '../../core/request' import type { ParamsPage, ResponsePage } from '../../core/types' -import type { Dict, ResourceAuthorizationTargetType, ResourceUserPermission, ResourceUserPermissionPayload } from '@/api/types' +import type { + Dict, + ResourceAuthorizationTargetType, + ResourceUserGroupPermission, + ResourceUserGroupPermissionPayload, + ResourceUserPermission, + ResourceUserPermissionPayload, +} from '@/api/types' const getPrefix = (workspaceId: string) => `/system/workspace/${workspaceId}/resource_management` @@ -31,4 +38,36 @@ const putResourceAuthorization = ( ) } -export default { getResourceAuthorization, putResourceAuthorization } +/** 获取 System 资源管理中指定资源或文件夹的用户组权限分页列表。 */ +const getResourceUserGroupAuthorization = ( + workspaceId: string, + targetId: string, + resource: ResourceAuthorizationTargetType, + page: ParamsPage, + query?: Dict, +) => { + return get>( + `${getPrefix(workspaceId)}/user_group_resource/${targetId}/resource/${resource}/${page.currentPage}/${page.pageSize}`, + query, + ) +} + +/** 更新 System 资源管理中的用户组权限及文件夹生效范围。 */ +const putResourceUserGroupAuthorization = ( + workspaceId: string, + targetId: string, + resource: ResourceAuthorizationTargetType, + permissions: ResourceUserGroupPermissionPayload[], +) => { + return put( + `${getPrefix(workspaceId)}/user_group_resource/${targetId}/resource/${resource}`, + permissions, + ) +} + +export default { + getResourceAuthorization, + putResourceAuthorization, + getResourceUserGroupAuthorization, + putResourceUserGroupAuthorization, +} diff --git a/ui/src/components/business/resource-authorization-drawer/index.vue b/ui/src/components/business/resource-authorization-drawer/index.vue index 4029d62e610..7952d8c41e0 100644 --- a/ui/src/components/business/resource-authorization-drawer/index.vue +++ b/ui/src/components/business/resource-authorization-drawer/index.vue @@ -31,7 +31,7 @@ const targetId = ref('') const folderData = ref() const submitting = ref(false) -/* System 资源管理使用专属用户授权接口,用户组沿用现有接口。 */ +/* System 资源管理使用专属用户/用户组授权接口,工作空间沿用现有接口。 */ const authorizationApi = computed(() => (isSystemResource() ? SystemResourceAuthorizationApi : ResourceAuthorizationApi)) /* 资源类型与权限选项 */ @@ -164,7 +164,7 @@ defineExpose({ open }) v-if="targetType === 'user-group' && targetId && workspaceId" :key="targetId" :submitting="submitting" - :api="ResourceAuthorizationApi" + :api="authorizationApi" :workspace-id="workspaceId" :target-id="targetId" :type="authorizationType" diff --git a/ui/src/components/business/resource-authorization-drawer/user-group/UserGroupAuthorization.vue b/ui/src/components/business/resource-authorization-drawer/user-group/UserGroupAuthorization.vue index e56b87fe30e..df790ce3c92 100644 --- a/ui/src/components/business/resource-authorization-drawer/user-group/UserGroupAuthorization.vue +++ b/ui/src/components/business/resource-authorization-drawer/user-group/UserGroupAuthorization.vue @@ -1,6 +1,7 @@