attempting to use correct ids vs paths for windows w/ burnettk
This commit is contained in:
parent
30e5f44bf8
commit
4fd716f10f
|
@ -39,6 +39,11 @@ class ProcessModelService(FileSystemService):
|
||||||
GROUP_SCHEMA = ProcessGroupSchema()
|
GROUP_SCHEMA = ProcessGroupSchema()
|
||||||
PROCESS_MODEL_SCHEMA = ProcessModelInfoSchema()
|
PROCESS_MODEL_SCHEMA = ProcessModelInfoSchema()
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def path_to_id(cls, path: str) -> str:
|
||||||
|
"""Replace the os path separator for the standard id separator."""
|
||||||
|
return path.replace(os.sep, '/')
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def is_group(cls, path: str) -> bool:
|
def is_group(cls, path: str) -> bool:
|
||||||
"""Is_group."""
|
"""Is_group."""
|
||||||
|
@ -228,7 +233,8 @@ class ProcessModelService(FileSystemService):
|
||||||
user = UserService.current_user()
|
user = UserService.current_user()
|
||||||
new_process_model_list = []
|
new_process_model_list = []
|
||||||
for process_model in process_models:
|
for process_model in process_models:
|
||||||
uri = f"/v1.0/process-instances/{process_model.id.replace('/', ':')}"
|
modified_process_model_id = ProcessModelInfo.modify_process_identifier_for_path_param(process_model.id)
|
||||||
|
uri = f"/v1.0/process-instances/{modified_process_model_id}"
|
||||||
has_permission = AuthorizationService.user_has_permission(
|
has_permission = AuthorizationService.user_has_permission(
|
||||||
user=user, permission="create", target_uri=uri
|
user=user, permission="create", target_uri=uri
|
||||||
)
|
)
|
||||||
|
@ -410,7 +416,7 @@ class ProcessModelService(FileSystemService):
|
||||||
data = json.load(cat_json)
|
data = json.load(cat_json)
|
||||||
# we don't store `id` in the json files, so we add it back in here
|
# we don't store `id` in the json files, so we add it back in here
|
||||||
relative_path = os.path.relpath(dir_path, FileSystemService.root_path())
|
relative_path = os.path.relpath(dir_path, FileSystemService.root_path())
|
||||||
data["id"] = relative_path
|
data["id"] = cls.path_to_id(relative_path)
|
||||||
process_group = ProcessGroup(**data)
|
process_group = ProcessGroup(**data)
|
||||||
if process_group is None:
|
if process_group is None:
|
||||||
raise ApiError(
|
raise ApiError(
|
||||||
|
@ -421,7 +427,7 @@ class ProcessModelService(FileSystemService):
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
process_group_id = dir_path.replace(FileSystemService.root_path(), "")
|
process_group_id = cls.path_to_id(dir_path.replace(FileSystemService.root_path(), ""))
|
||||||
process_group = ProcessGroup(
|
process_group = ProcessGroup(
|
||||||
id="",
|
id="",
|
||||||
display_name=process_group_id,
|
display_name=process_group_id,
|
||||||
|
@ -474,11 +480,7 @@ class ProcessModelService(FileSystemService):
|
||||||
data.pop("process_group_id")
|
data.pop("process_group_id")
|
||||||
# we don't save `id` in the json file, so we add it back in here.
|
# we don't save `id` in the json file, so we add it back in here.
|
||||||
relative_path = os.path.relpath(path, FileSystemService.root_path())
|
relative_path = os.path.relpath(path, FileSystemService.root_path())
|
||||||
|
data["id"] = cls.path_to_id(relative_path)
|
||||||
# even on windows, use forward slashes for ids
|
|
||||||
relative_path = relative_path.replace("\\", "/")
|
|
||||||
|
|
||||||
data["id"] = relative_path
|
|
||||||
process_model_info = ProcessModelInfo(**data)
|
process_model_info = ProcessModelInfo(**data)
|
||||||
if process_model_info is None:
|
if process_model_info is None:
|
||||||
raise ApiError(
|
raise ApiError(
|
||||||
|
|
Loading…
Reference in New Issue