From acceec90afa2a2b5007ab75795c911ac75446bc4 Mon Sep 17 00:00:00 2001 From: Stephen Smith Date: Mon, 25 Oct 2021 10:07:37 -0400 Subject: [PATCH] 18123: Filter uuids by kind before querying API Arvados-DCO-1.1-Signed-off-by: Stephen Smith --- .../group-details-panel-actions.ts | 4 ++-- ...roup-details-panel-members-middleware-service.ts | 9 +++++++-- ...-details-panel-permissions-middleware-service.ts | 13 ++++++++++--- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/store/group-details-panel/group-details-panel-actions.ts b/src/store/group-details-panel/group-details-panel-actions.ts index b9ac0d79..22247a8f 100644 --- a/src/store/group-details-panel/group-details-panel-actions.ts +++ b/src/store/group-details-panel/group-details-panel-actions.ts @@ -19,8 +19,8 @@ import { snackbarActions, SnackbarKind } from 'store/snackbar/snackbar-actions'; export const GROUP_DETAILS_MEMBERS_PANEL_ID = 'groupDetailsMembersPanel'; export const GROUP_DETAILS_PERMISSIONS_PANEL_ID = 'groupDetailsPermissionsPanel'; -export const ADD_GROUP_MEMBERS_DIALOG = 'addGrupMembers'; -export const ADD_GROUP_MEMBERS_FORM = 'addGrupMembers'; +export const ADD_GROUP_MEMBERS_DIALOG = 'addGroupMembers'; +export const ADD_GROUP_MEMBERS_FORM = 'addGroupMembers'; export const ADD_GROUP_MEMBERS_USERS_FIELD_NAME = 'users'; export const MEMBER_ATTRIBUTES_DIALOG = 'memberAttributesDialog'; export const MEMBER_REMOVE_DIALOG = 'memberRemoveDialog'; diff --git a/src/store/group-details-panel/group-details-panel-members-middleware-service.ts b/src/store/group-details-panel/group-details-panel-members-middleware-service.ts index 05a12d22..36e3c735 100644 --- a/src/store/group-details-panel/group-details-panel-members-middleware-service.ts +++ b/src/store/group-details-panel/group-details-panel-members-middleware-service.ts @@ -12,6 +12,7 @@ import { FilterBuilder } from 'services/api/filter-builder'; import { updateResources } from 'store/resources/resources-actions'; import { getCurrentGroupDetailsPanelUuid, GroupMembersPanelActions } from 'store/group-details-panel/group-details-panel-actions'; import { LinkClass } from 'models/link'; +import { ResourceKind } from 'models/resource'; export class GroupDetailsPanelMembersMiddlewareService extends DataExplorerMiddlewareService { @@ -41,7 +42,9 @@ export class GroupDetailsPanelMembersMiddlewareService extends DataExplorerMiddl const usersIn = await this.services.userService.list({ filters: new FilterBuilder() - .addIn('uuid', permissionsIn.items.map(item => item.tailUuid)) + .addIn('uuid', permissionsIn.items + .filter((item) => item.tailKind === ResourceKind.USER) + .map(item => item.tailUuid)) .getFilters(), count: "none" }); @@ -49,7 +52,9 @@ export class GroupDetailsPanelMembersMiddlewareService extends DataExplorerMiddl const projectsIn = await this.services.projectService.list({ filters: new FilterBuilder() - .addIn('uuid', permissionsIn.items.map(item => item.tailUuid)) + .addIn('uuid', permissionsIn.items + .filter((item) => item.tailKind === ResourceKind.PROJECT) + .map(item => item.tailUuid)) .getFilters(), count: "none" }); diff --git a/src/store/group-details-panel/group-details-panel-permissions-middleware-service.ts b/src/store/group-details-panel/group-details-panel-permissions-middleware-service.ts index 7ce2d380..9e41409d 100644 --- a/src/store/group-details-panel/group-details-panel-permissions-middleware-service.ts +++ b/src/store/group-details-panel/group-details-panel-permissions-middleware-service.ts @@ -12,6 +12,7 @@ import { FilterBuilder } from 'services/api/filter-builder'; import { updateResources } from 'store/resources/resources-actions'; import { getCurrentGroupDetailsPanelUuid, GroupPermissionsPanelActions } from 'store/group-details-panel/group-details-panel-actions'; import { LinkClass } from 'models/link'; +import { ResourceKind } from 'models/resource'; export class GroupDetailsPanelPermissionsMiddlewareService extends DataExplorerMiddlewareService { @@ -41,7 +42,9 @@ export class GroupDetailsPanelPermissionsMiddlewareService extends DataExplorerM const usersOut = await this.services.userService.list({ filters: new FilterBuilder() - .addIn('uuid', permissionsOut.items.map(item => item.headUuid)) + .addIn('uuid', permissionsOut.items + .filter((item) => item.headKind === ResourceKind.USER) + .map(item => item.headUuid)) .getFilters(), count: "none" }); @@ -49,7 +52,9 @@ export class GroupDetailsPanelPermissionsMiddlewareService extends DataExplorerM const collectionsOut = await this.services.collectionService.list({ filters: new FilterBuilder() - .addIn('uuid', permissionsOut.items.map(item => item.headUuid)) + .addIn('uuid', permissionsOut.items + .filter((item) => item.headKind === ResourceKind.COLLECTION) + .map(item => item.headUuid)) .getFilters(), count: "none" }); @@ -57,7 +62,9 @@ export class GroupDetailsPanelPermissionsMiddlewareService extends DataExplorerM const projectsOut = await this.services.projectService.list({ filters: new FilterBuilder() - .addIn('uuid', permissionsOut.items.map(item => item.headUuid)) + .addIn('uuid', permissionsOut.items + .filter((item) => item.headKind === ResourceKind.PROJECT) + .map(item => item.headUuid)) .getFilters(), count: "none" }); -- 2.30.2