"""插件权限存储的共用解析。""" import json DEFAULT_PERMISSIONS = ("verify", "balance", "deduct", "refund") def parse_permissions(value): try: if not isinstance(value, str): raise ValueError("invalid plugin permissions") permissions = json.loads(value) if not isinstance(permissions, list) or any(not isinstance(item, str) for item in permissions): raise ValueError("invalid plugin permissions") except (ValueError, TypeError): raise ValueError("invalid plugin permissions") from None return permissions