removed task-data endpoints since we no longer need them w/ burnettk
This commit is contained in:
parent
6dc42aa273
commit
8463b2cda9
|
@ -1518,47 +1518,6 @@ paths:
|
|||
items:
|
||||
$ref: "#/components/schemas/Task"
|
||||
|
||||
/task-data/{modified_process_model_identifier}/{process_instance_id}:
|
||||
parameters:
|
||||
- name: modified_process_model_identifier
|
||||
in: path
|
||||
required: true
|
||||
description: The modified id of an existing process model
|
||||
schema:
|
||||
type: string
|
||||
- name: process_instance_id
|
||||
in: path
|
||||
required: true
|
||||
description: The unique id of an existing process instance.
|
||||
schema:
|
||||
type: integer
|
||||
- name: all_tasks
|
||||
in: query
|
||||
required: false
|
||||
description: If true, this wil return all tasks associated with the process instance and not just user tasks.
|
||||
schema:
|
||||
type: boolean
|
||||
- name: spiff_step
|
||||
in: query
|
||||
required: false
|
||||
description: If set will return the tasks as they were during a specific step of execution.
|
||||
schema:
|
||||
type: integer
|
||||
get:
|
||||
tags:
|
||||
- Process Instances
|
||||
operationId: spiffworkflow_backend.routes.process_instances_controller.process_instance_task_list_with_task_data
|
||||
summary: returns the list of all user tasks associated with process instance with the task data
|
||||
responses:
|
||||
"200":
|
||||
description: list of tasks
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/components/schemas/Task"
|
||||
|
||||
/task-data/{modified_process_model_identifier}/{process_instance_id}/{spiff_step}:
|
||||
parameters:
|
||||
- name: modified_process_model_identifier
|
||||
|
|
|
@ -514,7 +514,6 @@ def process_instance_task_list_without_task_data_for_me(
|
|||
process_instance,
|
||||
all_tasks,
|
||||
spiff_step,
|
||||
get_task_data=False,
|
||||
)
|
||||
|
||||
|
||||
|
@ -531,24 +530,6 @@ def process_instance_task_list_without_task_data(
|
|||
process_instance,
|
||||
all_tasks,
|
||||
spiff_step,
|
||||
get_task_data=False,
|
||||
)
|
||||
|
||||
|
||||
def process_instance_task_list_with_task_data(
|
||||
modified_process_model_identifier: str,
|
||||
process_instance_id: int,
|
||||
all_tasks: bool = False,
|
||||
spiff_step: int = 0,
|
||||
) -> flask.wrappers.Response:
|
||||
"""Process_instance_task_list_with_task_data."""
|
||||
process_instance = _find_process_instance_by_id_or_raise(process_instance_id)
|
||||
return process_instance_task_list(
|
||||
modified_process_model_identifier,
|
||||
process_instance,
|
||||
all_tasks,
|
||||
spiff_step,
|
||||
get_task_data=True,
|
||||
)
|
||||
|
||||
|
||||
|
@ -557,7 +538,6 @@ def process_instance_task_list(
|
|||
process_instance: ProcessInstanceModel,
|
||||
all_tasks: bool = False,
|
||||
spiff_step: int = 0,
|
||||
get_task_data: bool = False,
|
||||
) -> flask.wrappers.Response:
|
||||
"""Process_instance_task_list."""
|
||||
step_detail_query = db.session.query(SpiffStepDetailsModel).filter(
|
||||
|
|
|
@ -2766,8 +2766,14 @@ class TestProcessApi(BaseTest):
|
|||
headers=self.logged_in_headers(with_super_admin_user),
|
||||
)
|
||||
assert response.status_code == 200
|
||||
end = next(task for task in response.json if task["type"] == "End Event")
|
||||
assert end["data"]["result"] == {"message": "message 1"}
|
||||
end_task = next(task for task in response.json if task["type"] == "End Event")
|
||||
response = client.get(
|
||||
f"/v1.0/task-data/{self.modify_process_identifier_for_path_param(process_model_identifier)}/{process_instance_id}/{end_task['task_spiff_step']}",
|
||||
headers=self.logged_in_headers(with_super_admin_user),
|
||||
)
|
||||
assert response.status_code == 200
|
||||
task = response.json
|
||||
assert task["data"]["result"] == {"message": "message 1"}
|
||||
|
||||
def test_manual_complete_task(
|
||||
self,
|
||||
|
|
|
@ -17,7 +17,7 @@ export const useUriListForPermissions = () => {
|
|||
processInstanceResumePath: `/v1.0/process-instance-resume/${params.process_model_id}/${params.process_instance_id}`,
|
||||
processInstanceSuspendPath: `/v1.0/process-instance-suspend/${params.process_model_id}/${params.process_instance_id}`,
|
||||
processInstanceResetPath: `/v1.0/process-instance-reset/${params.process_model_id}/${params.process_instance_id}`,
|
||||
processInstanceTaskListDataPath: `/v1.0/task-data/${params.process_model_id}/${params.process_instance_id}`,
|
||||
processInstanceTaskDataPath: `/v1.0/task-data/${params.process_model_id}/${params.process_instance_id}`,
|
||||
processInstanceSendEventPath: `/v1.0/send-event/${params.process_model_id}/${params.process_instance_id}`,
|
||||
processInstanceCompleteTaskPath: `/v1.0/complete-task/${params.process_model_id}/${params.process_instance_id}`,
|
||||
processInstanceTaskListPath: `/v1.0/process-instances/${params.process_model_id}/${params.process_instance_id}/task-info`,
|
||||
|
|
|
@ -27,6 +27,7 @@ import {
|
|||
Modal,
|
||||
Dropdown,
|
||||
Stack,
|
||||
Loading,
|
||||
// @ts-ignore
|
||||
} from '@carbon/react';
|
||||
import { Can } from '@casl/react';
|
||||
|
@ -68,6 +69,9 @@ export default function ProcessInstanceShow({ variant }: OwnProps) {
|
|||
const [taskToDisplay, setTaskToDisplay] =
|
||||
useState<ProcessInstanceTask | null>(null);
|
||||
const [taskDataToDisplay, setTaskDataToDisplay] = useState<string>('');
|
||||
const [showTaskDataLoading, setShowTaskDataLoading] =
|
||||
useState<boolean>(false);
|
||||
|
||||
const [processDataToDisplay, setProcessDataToDisplay] =
|
||||
useState<ProcessData | null>(null);
|
||||
const [editingTaskData, setEditingTaskData] = useState<boolean>(false);
|
||||
|
@ -100,7 +104,7 @@ export default function ProcessInstanceShow({ variant }: OwnProps) {
|
|||
[targetUris.messageInstanceListPath]: ['GET'],
|
||||
[targetUris.processInstanceActionPath]: ['DELETE'],
|
||||
[targetUris.processInstanceLogListPath]: ['GET'],
|
||||
[targetUris.processInstanceTaskListDataPath]: ['GET', 'PUT'],
|
||||
[targetUris.processInstanceTaskDataPath]: ['GET', 'PUT'],
|
||||
[targetUris.processInstanceSendEventPath]: ['POST'],
|
||||
[targetUris.processInstanceCompleteTaskPath]: ['POST'],
|
||||
[targetUris.processModelShowPath]: ['PUT'],
|
||||
|
@ -146,9 +150,7 @@ export default function ProcessInstanceShow({ variant }: OwnProps) {
|
|||
taskParams = `${taskParams}&spiff_step=${params.spiff_step}`;
|
||||
}
|
||||
let taskPath = '';
|
||||
if (ability.can('GET', targetUris.processInstanceTaskListDataPath)) {
|
||||
taskPath = `${targetUris.processInstanceTaskListDataPath}${taskParams}`;
|
||||
} else if (ability.can('GET', taskListPath)) {
|
||||
if (ability.can('GET', taskListPath)) {
|
||||
taskPath = `${taskListPath}${taskParams}`;
|
||||
}
|
||||
if (taskPath) {
|
||||
|
@ -564,17 +566,27 @@ export default function ProcessInstanceShow({ variant }: OwnProps) {
|
|||
} else {
|
||||
setTaskDataToDisplay(JSON.stringify(result.data, null, 2));
|
||||
}
|
||||
setShowTaskDataLoading(false);
|
||||
};
|
||||
|
||||
const initializeTaskDataToDisplay = (task: ProcessInstanceTask | null) => {
|
||||
if (task == null || task.state !== 'COMPLETED') {
|
||||
setTaskDataToDisplay('');
|
||||
} else {
|
||||
if (
|
||||
task &&
|
||||
task.state === 'COMPLETED' &&
|
||||
ability.can('GET', targetUris.processInstanceTaskDataPath)
|
||||
) {
|
||||
setShowTaskDataLoading(true);
|
||||
HttpService.makeCallToBackend({
|
||||
path: `/task-data/${params.process_model_id}/${params.process_instance_id}/${task.task_spiff_step}`,
|
||||
path: `${targetUris.processInstanceTaskDataPath}/${task.task_spiff_step}`,
|
||||
httpMethod: 'GET',
|
||||
successCallback: processTaskResult,
|
||||
failureCallback: (error: any) => {
|
||||
setTaskDataToDisplay(`ERROR: ${error.message}`);
|
||||
setShowTaskDataLoading(false);
|
||||
},
|
||||
});
|
||||
} else {
|
||||
setTaskDataToDisplay('');
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -681,7 +693,7 @@ export default function ProcessInstanceShow({ variant }: OwnProps) {
|
|||
const canEditTaskData = (task: any) => {
|
||||
return (
|
||||
processInstance &&
|
||||
ability.can('PUT', targetUris.processInstanceTaskListDataPath) &&
|
||||
ability.can('PUT', targetUris.processInstanceTaskDataPath) &&
|
||||
isCurrentTask(task) &&
|
||||
processInstance.status === 'suspended' &&
|
||||
showingLastSpiffStep()
|
||||
|
@ -775,7 +787,7 @@ export default function ProcessInstanceShow({ variant }: OwnProps) {
|
|||
// taskToUse is copy of taskToDisplay, with taskDataToDisplay in data attribute
|
||||
const taskToUse: any = { ...taskToDisplay, data: taskDataToDisplay };
|
||||
HttpService.makeCallToBackend({
|
||||
path: `${targetUris.processInstanceTaskListDataPath}/${taskToUse.id}`,
|
||||
path: `${targetUris.processInstanceTaskDataPath}/${taskToUse.id}`,
|
||||
httpMethod: 'PUT',
|
||||
successCallback: saveTaskDataResult,
|
||||
failureCallback: addError,
|
||||
|
@ -919,6 +931,10 @@ export default function ProcessInstanceShow({ variant }: OwnProps) {
|
|||
};
|
||||
|
||||
const taskDataContainer = () => {
|
||||
let taskDataClassName = '';
|
||||
if (taskDataToDisplay.startsWith('ERROR:')) {
|
||||
taskDataClassName = 'failure-string';
|
||||
}
|
||||
return editingTaskData ? (
|
||||
<Editor
|
||||
height={600}
|
||||
|
@ -928,7 +944,12 @@ export default function ProcessInstanceShow({ variant }: OwnProps) {
|
|||
onChange={(value) => setTaskDataToDisplay(value || '')}
|
||||
/>
|
||||
) : (
|
||||
<pre>{taskDataToDisplay}</pre>
|
||||
<>
|
||||
{showTaskDataLoading ? (
|
||||
<Loading className="some-class" withOverlay={false} small />
|
||||
) : null}
|
||||
<pre className={taskDataClassName}>{taskDataToDisplay}</pre>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue