- const nameLists: ListResults<GroupContentsResource>[] = await Promise.all(sessions.map(session =>
- this.services.groupsService.contents('', nameParams, session)
- ));
-
- const nameItems = nameLists
- .reduce((items, list) => items.concat(list.items), [] as GroupContentsResource[]);
-
- const nameItemsAvailable = nameLists
- .reduce((itemsAvailable, list) => itemsAvailable + list.itemsAvailable, 0);
-
- const descriptionParams = getParams(dataExplorer, searchValue, sq, 'description');
-
- const descriptionLists: ListResults<GroupContentsResource>[] = await Promise.all(sessions.map(session =>
- this.services.groupsService.contents('', descriptionParams, session)
- ));
-
- const descriptionItems = descriptionLists
- .reduce((items, list) => items.concat(list.items), [] as GroupContentsResource[]);
-
- const descriptionItemsAvailable = descriptionLists
- .reduce((itemsAvailable, list) => itemsAvailable + list.itemsAvailable, 0);
-
- const items = nameItems.concat(descriptionItems);
-
- const uniqueItems = _.uniqBy(items, 'uuid');
-
- const mainList: ListResults<GroupContentsResource> = {
- ...nameParams,
- kind: '',
- items: uniqueItems,
- itemsAvailable: nameItemsAvailable + descriptionItemsAvailable
- };
-
- api.dispatch(updateResources(mainList.items));
-
- api.dispatch(criteriaChanged
- ? setItems(mainList)
- : appendItems(mainList));
-
- } catch {
- api.dispatch(couldNotFetchSearchResults());