added recursive option to process model list to recurse or not and fix some ui components

This commit is contained in:
jasquat 2022-11-22 09:05:33 -05:00
parent 2b47eb7f58
commit 8f9d918ef1
4 changed files with 18 additions and 5 deletions

View File

@ -273,6 +273,12 @@ paths:
description: The group containing the models we want to return
schema:
type: string
- name: recursive
in: query
required: false
description: Get all sub process models recursively if true
schema:
type: string
- name: page
in: query
required: false

View File

@ -347,11 +347,14 @@ def process_model_move(
def process_model_list(
process_group_identifier: Optional[str] = None, page: int = 1, per_page: int = 100
process_group_identifier: Optional[str] = None,
recursive: Optional[bool] = False,
page: int = 1,
per_page: int = 100,
) -> flask.wrappers.Response:
"""Process model list!"""
process_models = ProcessModelService().get_process_models(
process_group_id=process_group_identifier
process_group_id=process_group_identifier, recursive=recursive
)
batch = ProcessModelService().get_batch(
process_models, page=page, per_page=per_page

View File

@ -179,7 +179,7 @@ class ProcessModelService(FileSystemService):
raise ProcessEntityNotFoundError("process_model_not_found")
def get_process_models(
self, process_group_id: Optional[str] = None
self, process_group_id: Optional[str] = None, recursive: Optional[bool] = False
) -> List[ProcessModelInfo]:
"""Get process models."""
process_models = []
@ -187,7 +187,11 @@ class ProcessModelService(FileSystemService):
if process_group_id:
awesome_id = process_group_id.replace("/", os.sep)
root_path = os.path.join(root_path, awesome_id)
process_model_glob = os.path.join(root_path, "**", "process_model.json")
process_model_glob = os.path.join(root_path, "*", "process_model.json")
if recursive:
process_model_glob = os.path.join(root_path, "**", "process_model.json")
for file in glob(process_model_glob, recursive=True):
process_model_relative_path = os.path.relpath(
file, start=FileSystemService.root_path()

View File

@ -381,7 +381,7 @@ class TestProcessApi(BaseTest):
# get all models
response = client.get(
"/v1.0/process-models?per_page=1000",
"/v1.0/process-models?per_page=1000&recursive=true",
headers=self.logged_in_headers(with_super_admin_user),
)
assert response.json is not None