Preserve extension names in module preflight
This commit is contained in:
@@ -41912,7 +41912,11 @@ def metadata_saved_state_modules_owner_guid_from_selector(
|
||||
}
|
||||
|
||||
|
||||
def public_saved_state_modules_search_row(row: dict[str, Any]) -> dict[str, Any] | None:
|
||||
def public_saved_state_modules_search_row(
|
||||
row: dict[str, Any],
|
||||
*,
|
||||
requested_extension: str | None = None,
|
||||
) -> dict[str, Any] | None:
|
||||
owner = row.get("owner") if isinstance(row.get("owner"), dict) else {}
|
||||
form = row.get("form") if isinstance(row.get("form"), dict) else {}
|
||||
module = row.get("module") if isinstance(row.get("module"), dict) else {}
|
||||
@@ -41936,6 +41940,7 @@ def public_saved_state_modules_search_row(row: dict[str, Any]) -> dict[str, Any]
|
||||
}
|
||||
qualified_name = str(row.get("qualified_name") or row.get("display_name") or "").strip()
|
||||
selector = {
|
||||
**({"extension": requested_extension} if requested_extension else {}),
|
||||
**({"ref": owner_ref} if owner_ref else {}),
|
||||
**({"form": form_public.get("name")} if form_public.get("name") else {}),
|
||||
**({"module": module_public.get("name")} if module_public.get("name") else {}),
|
||||
@@ -41960,6 +41965,7 @@ def public_saved_state_modules_search_row(row: dict[str, Any]) -> dict[str, Any]
|
||||
stream_qualified_name = str(stream.get("qualified_name") or stream.get("display_name") or qualified_name).strip()
|
||||
write_plan_target = {
|
||||
"kind": "module",
|
||||
**({"extension": requested_extension} if requested_extension else {}),
|
||||
**({"ref": stream_owner_ref} if stream_owner_ref else {}),
|
||||
**({"form": stream_form.get("name")} if stream_form.get("name") else {}),
|
||||
**({"module": stream_module.get("name")} if stream_module.get("name") else {}),
|
||||
@@ -42173,11 +42179,28 @@ def metadata_saved_state_modules_search(payload: dict[str, Any]) -> dict[str, An
|
||||
break
|
||||
if len(modules) >= int(limit or 50):
|
||||
break
|
||||
public_modules = modules if include_storage else [
|
||||
public_row
|
||||
for row in modules
|
||||
if (public_row := public_saved_state_modules_search_row(row)) is not None
|
||||
]
|
||||
public_modules = modules if include_storage else []
|
||||
if not include_storage:
|
||||
extension_names_by_guid: dict[str, str] = {}
|
||||
if not extension_filter and any(row.get("table") == "ConfigCASSave" for row in modules):
|
||||
extension_names_by_guid = {
|
||||
str(guid).strip().lower(): str(item.get("name") or "").strip()
|
||||
for guid, item in extension_map_by_guid(base_id).items()
|
||||
if str(item.get("name") or "").strip()
|
||||
}
|
||||
for row in modules:
|
||||
row_extension = extension_filter or None
|
||||
if not row_extension and row.get("table") == "ConfigCASSave":
|
||||
row_file_name = str(row.get("file_name") or "")
|
||||
extension_guid_from_file = row_file_name.split("__", 1)[0].strip().lower() if "__" in row_file_name else ""
|
||||
if extension_guid_from_file:
|
||||
row_extension = extension_names_by_guid.get(extension_guid_from_file)
|
||||
public_row = public_saved_state_modules_search_row(
|
||||
row,
|
||||
requested_extension=row_extension,
|
||||
)
|
||||
if public_row is not None:
|
||||
public_modules.append(public_row)
|
||||
result = {
|
||||
"schema": "onec_saved_state_module_search.v1",
|
||||
"status": "ok",
|
||||
|
||||
Reference in New Issue
Block a user