File size: 602 Bytes
671970a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
"""插件权限存储的共用解析。"""
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