X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/9168f531907d8d2aa3a9320a20e34d2533f38572..6887b04c343ddb0966415456774717cb38835fea:/src/store/processes/processes-actions.ts diff --git a/src/store/processes/processes-actions.ts b/src/store/processes/processes-actions.ts index ba70f914..c4d421ac 100644 --- a/src/store/processes/processes-actions.ts +++ b/src/store/processes/processes-actions.ts @@ -3,21 +3,23 @@ // SPDX-License-Identifier: AGPL-3.0 import { Dispatch } from "redux"; -import { RootState } from '~/store/store'; -import { ServiceRepository } from '~/services/services'; -import { updateResources } from '~/store/resources/resources-actions'; +import { RootState } from 'store/store'; +import { ServiceRepository } from 'services/services'; +import { updateResources } from 'store/resources/resources-actions'; import { Process } from './process'; -import { dialogActions } from '~/store/dialog/dialog-actions'; -import { snackbarActions, SnackbarKind } from '~/store/snackbar/snackbar-actions'; -import { projectPanelActions } from '~/store/project-panel/project-panel-action'; -import { navigateToRunProcess } from '~/store/navigation/navigation-action'; -import { goToStep, runProcessPanelActions } from '~/store/run-process-panel/run-process-panel-actions'; -import { getResource } from '~/store/resources/resources'; +import { dialogActions } from 'store/dialog/dialog-actions'; +import { snackbarActions, SnackbarKind } from 'store/snackbar/snackbar-actions'; +import { projectPanelActions } from 'store/project-panel/project-panel-action'; +import { navigateToRunProcess } from 'store/navigation/navigation-action'; +import { goToStep, runProcessPanelActions } from 'store/run-process-panel/run-process-panel-actions'; +import { getResource } from 'store/resources/resources'; import { initialize } from "redux-form"; -import { RUN_PROCESS_BASIC_FORM, RunProcessBasicFormData } from "~/views/run-process-panel/run-process-basic-form"; -import { RunProcessAdvancedFormData, RUN_PROCESS_ADVANCED_FORM } from "~/views/run-process-panel/run-process-advanced-form"; -import { MOUNT_PATH_CWL_WORKFLOW, MOUNT_PATH_CWL_INPUT } from '~/models/process'; -import { getWorkflow, getWorkflowInputs } from "~/models/workflow"; +import { RUN_PROCESS_BASIC_FORM, RunProcessBasicFormData } from "views/run-process-panel/run-process-basic-form"; +import { RunProcessAdvancedFormData, RUN_PROCESS_ADVANCED_FORM } from "views/run-process-panel/run-process-advanced-form"; +import { MOUNT_PATH_CWL_WORKFLOW, MOUNT_PATH_CWL_INPUT } from 'models/process'; +import { getWorkflow, getWorkflowInputs } from "models/workflow"; +import { ProjectResource } from "models/project"; +import { UserResource } from "models/user"; export const loadProcess = (containerRequestUuid: string) => async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository): Promise => { @@ -32,13 +34,55 @@ export const loadProcess = (containerRequestUuid: string) => return { containerRequest }; }; -export const loadContainers = (filters: string) => +export const loadContainers = (filters: string, loadMounts: boolean = true) => async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => { - const { items } = await services.containerService.list({ filters }); + let args: any = { filters }; + if (!loadMounts) { + args.select = containerFieldsNoMounts; + } + const { items } = await services.containerService.list(args); dispatch(updateResources(items)); return items; }; +// Until the api supports unselecting fields, we need a list of all other fields to omit mounts +const containerFieldsNoMounts = [ + "auth_uuid", + "command", + "container_image", + "created_at", + "cwd", + "environment", + "etag", + "exit_code", + "finished_at", + "gateway_address", + "href", + "interactive_session_started", + "kind", + "lock_count", + "locked_by_uuid", + "log", + "modified_at", + "modified_by_client_uuid", + "modified_by_user_uuid", + "output_path", + "output_properties", + "output_storage_classes", + "output", + "owner_uuid", + "priority", + "progress", + "runtime_auth_scopes", + "runtime_constraints", + "runtime_status", + "runtime_user_uuid", + "scheduling_parameters", + "started_at", + "state", + "uuid", +] + export const cancelRunningWorkflow = (uuid: string) => async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => { try { @@ -60,7 +104,8 @@ export const reRunProcess = (processUuid: string, workflowUuid: string) => const stringifiedDefinition = JSON.stringify(process.mounts[MOUNT_PATH_CWL_WORKFLOW].content); const newWorkflow = { ...workflow, definition: stringifiedDefinition }; - const basicInitialData: RunProcessBasicFormData = { name: `Copy of: ${process.name}`, description: process.description }; + const owner = getResource(workflow.ownerUuid)(getState().resources); + const basicInitialData: RunProcessBasicFormData = { name: `Copy of: ${process.name}`, description: process.description, owner }; dispatch(initialize(RUN_PROCESS_BASIC_FORM, basicInitialData)); const advancedInitialData: RunProcessAdvancedFormData = {