-
Notifications
You must be signed in to change notification settings - Fork 0
/
apis_manager.py
29 lines (20 loc) · 890 Bytes
/
apis_manager.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from db_manager import get_api_permissions, is_suspicious, get_api_permission_mapping, get_suspicious_api
API_PERMISSION_MAPPING = None
SUSPICIOUS_APIS = None
def is_restricted(api: str, in_memory=False) -> bool:
if in_memory:
return len(API_PERMISSION_MAPPING[api]) != 0
return len(get_required_permissions(api)) != 0
def get_required_permissions(api: str, in_memory=False) -> list:
if in_memory:
return API_PERMISSION_MAPPING[api]
return get_api_permissions(api)
def is_suspicious_methode(methode_description: str, in_memory=False) -> bool:
if in_memory:
return SUSPICIOUS_APIS[methode_description]
return is_suspicious(methode_description)
def init_in_memory_dicts():
global SUSPICIOUS_APIS
global API_PERMISSION_MAPPING
API_PERMISSION_MAPPING = get_api_permission_mapping()
SUSPICIOUS_APIS = get_suspicious_api()