X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/37a1d67e8325906b9cfbb6bf3df608e72bd33b67..5d2cc407a7649ca7807b78369f2f08351202cc77:/src/store/collections-content-address-panel/collections-content-address-middleware-service.ts?ds=sidebyside diff --git a/src/store/collections-content-address-panel/collections-content-address-middleware-service.ts b/src/store/collections-content-address-panel/collections-content-address-middleware-service.ts index 0e35d93f..642e7b82 100644 --- a/src/store/collections-content-address-panel/collections-content-address-middleware-service.ts +++ b/src/store/collections-content-address-panel/collections-content-address-middleware-service.ts @@ -21,6 +21,8 @@ import { navigateTo } from '~/store/navigation/navigation-action'; import { updateFavorites } from '~/store/favorites/favorites-actions'; import { updatePublicFavorites } from '~/store/public-favorites/public-favorites-actions'; import { setBreadcrumbs } from '../breadcrumbs/breadcrumbs-actions'; +import { ResourceKind, extractUuidKind } from '~/models/resource'; +import { ownerNameActions } from '~/store/owner-name/owner-name-actions'; export class CollectionsWithSameContentAddressMiddlewareService extends DataExplorerMiddlewareService { constructor(private services: ServiceRepository, id: string) { @@ -57,6 +59,41 @@ export class CollectionsWithSameContentAddressMiddlewareService extends DataExpl .addILike("name", dataExplorer.searchValue) .getFilters() }); + const userUuids = response.items.map(it => { + if (extractUuidKind(it.ownerUuid) === ResourceKind.USER) { + return it.ownerUuid; + } else { + return ''; + } + } + ); + const groupUuids = response.items.map(it => { + if (extractUuidKind(it.ownerUuid) === ResourceKind.GROUP) { + return it.ownerUuid; + } else { + return ''; + } + }); + const responseUsers = await this.services.userService.list({ + limit: dataExplorer.rowsPerPage, + offset: dataExplorer.page * dataExplorer.rowsPerPage, + filters: new FilterBuilder() + .addIn('uuid', userUuids) + .getFilters() + }); + const responseGroups = await this.services.groupsService.list({ + limit: dataExplorer.rowsPerPage, + offset: dataExplorer.page * dataExplorer.rowsPerPage, + filters: new FilterBuilder() + .addIn('uuid', groupUuids) + .getFilters() + }); + responseUsers.items.map(it=>{ + api.dispatch(ownerNameActions.SET_OWNER_NAME({name: it.uuid === userUuid ? 'User: Me' : `User: ${it.firstName} ${it.lastName}`, uuid: it.uuid})); + }); + responseGroups.items.map(it=>{ + api.dispatch(ownerNameActions.SET_OWNER_NAME({name: `Project: ${it.name}`, uuid: it.uuid})); + }); api.dispatch(setBreadcrumbs([{ label: 'Projects', uuid: userUuid }])); api.dispatch(updateFavorites(response.items.map(item => item.uuid))); api.dispatch(updatePublicFavorites(response.items.map(item => item.uuid)));