a little refactor w/ burnettk

This commit is contained in:
jasquat 2022-12-20 15:02:27 -05:00
parent f5f5057130
commit d74e38e840
1 changed files with 63 additions and 63 deletions

View File

@ -172,7 +172,7 @@ def process_group_add(body: dict) -> flask.wrappers.Response:
"""Add_process_group.""" """Add_process_group."""
process_group = ProcessGroup(**body) process_group = ProcessGroup(**body)
ProcessModelService.add_process_group(process_group) ProcessModelService.add_process_group(process_group)
commit_and_push_to_git( _commit_and_push_to_git(
f"User: {g.user.username} added process group {process_group.id}" f"User: {g.user.username} added process group {process_group.id}"
) )
return make_response(jsonify(process_group), 201) return make_response(jsonify(process_group), 201)
@ -182,7 +182,7 @@ def process_group_delete(modified_process_group_id: str) -> flask.wrappers.Respo
"""Process_group_delete.""" """Process_group_delete."""
process_group_id = un_modify_modified_process_model_id(modified_process_group_id) process_group_id = un_modify_modified_process_model_id(modified_process_group_id)
ProcessModelService().process_group_delete(process_group_id) ProcessModelService().process_group_delete(process_group_id)
commit_and_push_to_git( _commit_and_push_to_git(
f"User: {g.user.username} deleted process group {process_group_id}" f"User: {g.user.username} deleted process group {process_group_id}"
) )
return Response(json.dumps({"ok": True}), status=200, mimetype="application/json") return Response(json.dumps({"ok": True}), status=200, mimetype="application/json")
@ -202,7 +202,7 @@ def process_group_update(
process_group_id = un_modify_modified_process_model_id(modified_process_group_id) process_group_id = un_modify_modified_process_model_id(modified_process_group_id)
process_group = ProcessGroup(id=process_group_id, **body_filtered) process_group = ProcessGroup(id=process_group_id, **body_filtered)
ProcessModelService.update_process_group(process_group) ProcessModelService.update_process_group(process_group)
commit_and_push_to_git( _commit_and_push_to_git(
f"User: {g.user.username} updated process group {process_group_id}" f"User: {g.user.username} updated process group {process_group_id}"
) )
return make_response(jsonify(process_group), 200) return make_response(jsonify(process_group), 200)
@ -269,7 +269,7 @@ def process_group_move(
new_process_group = ProcessModelService().process_group_move( new_process_group = ProcessModelService().process_group_move(
original_process_group_id, new_location original_process_group_id, new_location
) )
commit_and_push_to_git( _commit_and_push_to_git(
f"User: {g.user.username} moved process group {original_process_group_id} to {new_process_group.id}" f"User: {g.user.username} moved process group {original_process_group_id} to {new_process_group.id}"
) )
return make_response(jsonify(new_process_group), 200) return make_response(jsonify(new_process_group), 200)
@ -320,7 +320,7 @@ def process_model_create(
) )
ProcessModelService.add_process_model(process_model_info) ProcessModelService.add_process_model(process_model_info)
commit_and_push_to_git( _commit_and_push_to_git(
f"User: {g.user.username} created process model {process_model_info.id}" f"User: {g.user.username} created process model {process_model_info.id}"
) )
return Response( return Response(
@ -336,7 +336,7 @@ def process_model_delete(
"""Process_model_delete.""" """Process_model_delete."""
process_model_identifier = modified_process_model_identifier.replace(":", "/") process_model_identifier = modified_process_model_identifier.replace(":", "/")
ProcessModelService().process_model_delete(process_model_identifier) ProcessModelService().process_model_delete(process_model_identifier)
commit_and_push_to_git( _commit_and_push_to_git(
f"User: {g.user.username} deleted process model {process_model_identifier}" f"User: {g.user.username} deleted process model {process_model_identifier}"
) )
return Response(json.dumps({"ok": True}), status=200, mimetype="application/json") return Response(json.dumps({"ok": True}), status=200, mimetype="application/json")
@ -362,7 +362,7 @@ def process_model_update(
process_model = get_process_model(process_model_identifier) process_model = get_process_model(process_model_identifier)
ProcessModelService.update_process_model(process_model, body_filtered) ProcessModelService.update_process_model(process_model, body_filtered)
commit_and_push_to_git( _commit_and_push_to_git(
f"User: {g.user.username} updated process model {process_model_identifier}" f"User: {g.user.username} updated process model {process_model_identifier}"
) )
return ProcessModelInfoSchema().dump(process_model) return ProcessModelInfoSchema().dump(process_model)
@ -396,7 +396,7 @@ def process_model_move(
new_process_model = ProcessModelService().process_model_move( new_process_model = ProcessModelService().process_model_move(
original_process_model_id, new_location original_process_model_id, new_location
) )
commit_and_push_to_git( _commit_and_push_to_git(
f"User: {g.user.username} moved process model {original_process_model_id} to {new_process_model.id}" f"User: {g.user.username} moved process model {original_process_model_id} to {new_process_model.id}"
) )
return make_response(jsonify(new_process_model), 200) return make_response(jsonify(new_process_model), 200)
@ -495,7 +495,7 @@ def process_model_file_update(
) )
SpecFileService.update_file(process_model, file_name, request_file_contents) SpecFileService.update_file(process_model, file_name, request_file_contents)
commit_and_push_to_git( _commit_and_push_to_git(
f"User: {g.user.username} clicked save for {process_model_identifier}/{file_name}" f"User: {g.user.username} clicked save for {process_model_identifier}/{file_name}"
) )
@ -519,7 +519,7 @@ def process_model_file_delete(
) )
) from exception ) from exception
commit_and_push_to_git( _commit_and_push_to_git(
f"User: {g.user.username} deleted process model file {process_model_identifier}/{file_name}" f"User: {g.user.username} deleted process model file {process_model_identifier}/{file_name}"
) )
return Response(json.dumps({"ok": True}), status=200, mimetype="application/json") return Response(json.dumps({"ok": True}), status=200, mimetype="application/json")
@ -543,7 +543,7 @@ def add_file(modified_process_model_identifier: str) -> flask.wrappers.Response:
file_contents = SpecFileService.get_data(process_model, file.name) file_contents = SpecFileService.get_data(process_model, file.name)
file.file_contents = file_contents file.file_contents = file_contents
file.process_model_id = process_model.id file.process_model_id = process_model.id
commit_and_push_to_git( _commit_and_push_to_git(
f"User: {g.user.username} added process model file {process_model_identifier}/{file.name}" f"User: {g.user.username} added process model file {process_model_identifier}/{file.name}"
) )
return Response( return Response(
@ -1930,6 +1930,57 @@ def delete_secret(key: str) -> Response:
return Response(json.dumps({"ok": True}), status=200, mimetype="application/json") return Response(json.dumps({"ok": True}), status=200, mimetype="application/json")
def update_task_data(
process_instance_id: str,
modified_process_model_identifier: str,
task_id: str,
body: Dict,
) -> Response:
"""Update task data."""
process_instance = ProcessInstanceModel.query.filter(
ProcessInstanceModel.id == int(process_instance_id)
).first()
if process_instance:
if process_instance.status != "suspended":
raise ProcessInstanceTaskDataCannotBeUpdatedError(
f"The process instance needs to be suspended to udpate the task-data. It is currently: {process_instance.status}"
)
process_instance_bpmn_json_dict = json.loads(process_instance.bpmn_json)
if "new_task_data" in body:
new_task_data_str: str = body["new_task_data"]
new_task_data_dict = json.loads(new_task_data_str)
if task_id in process_instance_bpmn_json_dict["tasks"]:
process_instance_bpmn_json_dict["tasks"][task_id][
"data"
] = new_task_data_dict
process_instance.bpmn_json = json.dumps(process_instance_bpmn_json_dict)
db.session.add(process_instance)
try:
db.session.commit()
except Exception as e:
db.session.rollback()
raise ApiError(
error_code="update_task_data_error",
message=f"Could not update the Instance. Original error is {e}",
) from e
else:
raise ApiError(
error_code="update_task_data_error",
message=f"Could not find Task: {task_id} in Instance: {process_instance_id}.",
)
else:
raise ApiError(
error_code="update_task_data_error",
message=f"Could not update task data for Instance: {process_instance_id}, and Task: {task_id}.",
)
return Response(
json.dumps(ProcessInstanceModelSchema().dump(process_instance)),
status=200,
mimetype="application/json",
)
def _get_required_parameter_or_raise(parameter: str, post_body: dict[str, Any]) -> Any: def _get_required_parameter_or_raise(parameter: str, post_body: dict[str, Any]) -> Any:
"""Get_required_parameter_or_raise.""" """Get_required_parameter_or_raise."""
return_value = None return_value = None
@ -2006,58 +2057,7 @@ def _update_form_schema_with_task_data_as_needed(
_update_form_schema_with_task_data_as_needed(o, task_data) _update_form_schema_with_task_data_as_needed(o, task_data)
def update_task_data( def _commit_and_push_to_git(message: str) -> None:
process_instance_id: str,
modified_process_model_identifier: str,
task_id: str,
body: Dict,
) -> Response:
"""Update task data."""
process_instance = ProcessInstanceModel.query.filter(
ProcessInstanceModel.id == int(process_instance_id)
).first()
if process_instance:
if process_instance.status != "suspended":
raise ProcessInstanceTaskDataCannotBeUpdatedError(
f"The process instance needs to be suspended to udpate the task-data. It is currently: {process_instance.status}"
)
process_instance_bpmn_json_dict = json.loads(process_instance.bpmn_json)
if "new_task_data" in body:
new_task_data_str: str = body["new_task_data"]
new_task_data_dict = json.loads(new_task_data_str)
if task_id in process_instance_bpmn_json_dict["tasks"]:
process_instance_bpmn_json_dict["tasks"][task_id][
"data"
] = new_task_data_dict
process_instance.bpmn_json = json.dumps(process_instance_bpmn_json_dict)
db.session.add(process_instance)
try:
db.session.commit()
except Exception as e:
db.session.rollback()
raise ApiError(
error_code="update_task_data_error",
message=f"Could not update the Instance. Original error is {e}",
) from e
else:
raise ApiError(
error_code="update_task_data_error",
message=f"Could not find Task: {task_id} in Instance: {process_instance_id}.",
)
else:
raise ApiError(
error_code="update_task_data_error",
message=f"Could not update task data for Instance: {process_instance_id}, and Task: {task_id}.",
)
return Response(
json.dumps(ProcessInstanceModelSchema().dump(process_instance)),
status=200,
mimetype="application/json",
)
def commit_and_push_to_git(message: str) -> None:
"""Commit_and_push_to_git.""" """Commit_and_push_to_git."""
if current_app.config["GIT_COMMIT_ON_SAVE"]: if current_app.config["GIT_COMMIT_ON_SAVE"]:
git_output = GitService.commit(message=message) git_output = GitService.commit(message=message)