import { ProjectResource } from "models/project";
import { UserResource } from "models/user";
import { CommandOutputParameter } from "cwlts/mappings/v1.0/CommandOutputParameter";
-import { ContainerRequestState } from "models/container-request";
+import { ContainerResource } from "models/container";
+import { ContainerRequestResource, ContainerRequestState } from "models/container-request";
export const loadProcess = (containerRequestUuid: string) =>
- async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository): Promise<Process> => {
- const containerRequest = await services.containerRequestService.get(containerRequestUuid);
- dispatch<any>(updateResources([containerRequest]));
+ async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository): Promise<Process | undefined> => {
+ let containerRequest: ContainerRequestResource | undefined = undefined;
+ try {
+ containerRequest = await services.containerRequestService.get(containerRequestUuid);
+ dispatch<any>(updateResources([containerRequest]));
+ } catch {
+ return undefined;
+ }
if (containerRequest.outputUuid) {
- const collection = await services.collectionService.get(containerRequest.outputUuid);
- dispatch<any>(updateResources([collection]));
+ try {
+ const collection = await services.collectionService.get(containerRequest.outputUuid, false);
+ dispatch<any>(updateResources([collection]));
+ } catch {}
}
if (containerRequest.containerUuid) {
- const container = await services.containerService.get(containerRequest.containerUuid);
- dispatch<any>(updateResources([container]));
- if (container.runtimeUserUuid) {
- const runtimeUser = await services.userService.get(container.runtimeUserUuid);
- dispatch<any>(updateResources([runtimeUser]));
- }
+ let container: ContainerResource | undefined = undefined;
+ try {
+ container = await services.containerService.get(containerRequest.containerUuid, false);
+ dispatch<any>(updateResources([container]));
+ } catch {}
+
+ try{
+ if (container && container.runtimeUserUuid) {
+ const runtimeUser = await services.userService.get(container.runtimeUserUuid, false);
+ dispatch<any>(updateResources([runtimeUser]));
+ }
+ } catch {}
+
return { containerRequest, container };
}
return { containerRequest };