refactor: extract function

This commit is contained in:
Vlad Stan
2026-07-09 16:35:53 +03:00
parent 77d52d3997
commit b5506e7a0b
2 changed files with 10 additions and 10 deletions
+9 -5
View File
@@ -83,6 +83,14 @@ class ExtensionPermission(BaseModel):
description: str | None = None
policy: dict[str, Any] | None = None
@staticmethod
def list_from_config(config_json: Mapping[str, Any]) -> list[ExtensionPermission]:
return [
ExtensionPermission.parse_obj(permission)
for permission in config_json.get("permissions") or []
if isinstance(permission, dict) and permission.get("id")
]
class ExtensionConfig(BaseModel):
name: str
@@ -642,11 +650,7 @@ class InstallableExtension(BaseModel):
version=version,
short_description=config_json.get("short_description"),
icon=config_json.get("tile"),
permissions=[
ExtensionPermission.parse_obj(permission)
for permission in config_json.get("permissions") or []
if isinstance(permission, dict) and permission.get("id")
],
permissions=ExtensionPermission.list_from_config(config_json),
meta=ExtensionMeta(
installed_release=ExtensionRelease(
name=ext_id,
+1 -5
View File
@@ -121,11 +121,7 @@ def _validate_extension_permissions(
requested_permissions = validate_extension_permissions(
ext_info.id,
[
ExtensionPermission.parse_obj(permission)
for permission in extension_config.get("permissions") or []
if isinstance(permission, dict) and permission.get("id")
],
ExtensionPermission.list_from_config(extension_config),
)
if not requested_permissions:
return []