import { CommandOutputParameter } from "cwlts/mappings/v1.0/CommandOutputParameter";
import { ContainerResource } from "models/container";
import { ContainerRequestResource, ContainerRequestState } from "models/container-request";
+import { FilterBuilder } from "services/api/filter-builder";
export const loadProcess = (containerRequestUuid: string) =>
async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository): Promise<Process | undefined> => {
return { containerRequest };
};
-export const loadContainers = (filters: string, loadMounts: boolean = true) =>
+export const loadContainers = (containerUuids: string[], loadMounts: boolean = true) =>
async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
- let args: any = { filters };
+ let args: any = {
+ filters: new FilterBuilder().addIn('uuid', containerUuids).getFilters(),
+ limit: containerUuids.length,
+ };
if (!loadMounts) {
args.select = containerFieldsNoMounts;
}
export const loadMissingProcessesInformation = (resources: GroupContentsResource[]) =>
async (dispatch: Dispatch) => {
const containerUuids = resources.reduce((uuids, resource) => {
- return resource.kind === ResourceKind.CONTAINER_REQUEST
- ? resource.containerUuid
- ? [...uuids, resource.containerUuid]
- : uuids
+ return resource.kind === ResourceKind.CONTAINER_REQUEST &&
+ resource.containerUuid &&
+ !uuids.includes(resource.containerUuid)
+ ? [...uuids, resource.containerUuid]
: uuids;
- }, []);
+ }, [] as string[]);
if (containerUuids.length > 0) {
await dispatch<any>(loadContainers(
- new FilterBuilder().addIn('uuid', containerUuids).getFilters(),
+ containerUuids,
false
));
}