fix: dependencies
This commit is contained in:
@@ -69,7 +69,7 @@ class ExtensionHostAPI:
|
|||||||
self.owner_id = sha256s(user_id) if user_id else owner_id
|
self.owner_id = sha256s(user_id) if user_id else owner_id
|
||||||
from .utils import ExtensionAPIUtils
|
from .utils import ExtensionAPIUtils
|
||||||
|
|
||||||
self.utils = ExtensionAPIUtils()
|
self.utils = ExtensionAPIUtils(self.extension_id, self.permissions)
|
||||||
|
|
||||||
@extension_api_method(
|
@extension_api_method(
|
||||||
method_id="storage.get",
|
method_id="storage.get",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import time
|
import time
|
||||||
|
from collections.abc import Iterable
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
@@ -42,14 +43,26 @@ from .registry import extension_api_method
|
|||||||
|
|
||||||
|
|
||||||
class ExtensionAPIUtils:
|
class ExtensionAPIUtils:
|
||||||
def __init__(self) -> None:
|
def __init__(self, extension_id: str, permissions: Iterable[str]) -> None:
|
||||||
self.currencies = ExtensionCurrencyUtils()
|
permission_set = set(permissions)
|
||||||
self.server = ExtensionServerUtils()
|
self.currencies = ExtensionCurrencyUtils(extension_id, permission_set)
|
||||||
self.lightning = ExtensionLightningUtils()
|
self.server = ExtensionServerUtils(extension_id, permission_set)
|
||||||
|
self.lightning = ExtensionLightningUtils(extension_id, permission_set)
|
||||||
|
|
||||||
|
|
||||||
class _ExtensionAPIUtilsGroup:
|
class _ExtensionAPIUtilsGroup:
|
||||||
pass
|
def __init__(self, extension_id: str, permissions: Iterable[str]) -> None:
|
||||||
|
self.extension_id = extension_id
|
||||||
|
self.permissions = set(permissions)
|
||||||
|
|
||||||
|
def require_permission(self, permission: str | None) -> None:
|
||||||
|
if permission and permission not in self.permissions:
|
||||||
|
raise PermissionError(
|
||||||
|
f"Extension '{self.extension_id}' is missing permission '{permission}'."
|
||||||
|
)
|
||||||
|
|
||||||
|
def has_authenticated_context(self) -> bool:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
class ExtensionCurrencyUtils(_ExtensionAPIUtilsGroup):
|
class ExtensionCurrencyUtils(_ExtensionAPIUtilsGroup):
|
||||||
|
|||||||
Reference in New Issue
Block a user