from __future__ import annotations from enum import Enum class DMPolicyMode(Enum): OPEN = "open" PAIRING = "pairing" ALLOWLIST = "allowlist" DISABLED = "disabled" class KuaishouSecurity: def __init__(self, policy: DMPolicyMode = DMPolicyMode.OPEN, allow_from: list[str] | None = None): self._policy = policy self._allowlist: set[str] = set(allow_from or []) def check_allow(self, open_id: str) -> bool: if self._policy == DMPolicyMode.OPEN: return True if self._policy == DMPolicyMode.DISABLED: return False if self._policy == DMPolicyMode.ALLOWLIST: return open_id in self._allowlist return True def resolve_policy(self) -> dict: return { "mode": self._policy.value, "allow_from": list(self._allowlist), }