PATH:
opt
/
imunify360
/
venv
/
lib
/
python3.11
/
site-packages
/
im360
/
simple_rpc
from defence360agent.rpc_tools import lookup from defence360agent.utils import Scope from defence360agent.contracts.config import ControlPanelConfig from defence360agent.myimunify.advice.advice_manager import ( get_advice_notifications, make_advice, ) from defence360agent.myimunify.advice.hosting_smart_advice_api import ( sync_advices, ) class SmartAdviceEndpoints(lookup.RootEndpoints): SCOPE = Scope.IM360 @lookup.bind("smart-advice", "notifications") async def smart_advice_notifications(self): if not ControlPanelConfig.SMART_ADVICE_ALLOWED: return [] return await get_advice_notifications() @lookup.bind("smart-advice", "get-options") async def smart_advice_get_options(self): return { "mu_plugin_installation": ControlPanelConfig.SMART_ADVICE_ALLOWED, "advice_email_notification": ControlPanelConfig.ADVICE_EMAIL_NOTIFICATION, } @lookup.bind("smart-advice", "sync") async def sync_smart_advice(self): if not ControlPanelConfig.SMART_ADVICE_ALLOWED: return [] advices = await make_advice() ok = await sync_advices(advices) if ok: return [] else: raise Exception("Failed to sync advices")
[-] unavailable_on_freemium.py
[edit]
[-] configuration_management.py
[edit]
[-] whitelisted_domains.py
[edit]
[-] smtp_blocking.py
[edit]
[-] control_panel.py
[edit]
[-] schema.py
[edit]
[-] proactive.py
[edit]
[-] whitelist_rbl.py
[edit]
[-] countries.py
[edit]
[+]
schema
[-] feature.py
[edit]
[+]
__pycache__
[-] middleware.py
[edit]
[-] whitelisted_crawlers.py
[edit]
[-] hosting_panel.py
[edit]
[-] validate.py
[edit]
[-] uninstall_cleanup.py
[edit]
[-] conflicts.py
[edit]
[-] resident_socket.py
[edit]
[-] remote_proxy.py
[edit]
[-] health.py
[edit]
[-] smart_advice.py
[edit]
[-] malware.py
[edit]
[-] __init__.py
[edit]
[-] lists.py
[edit]
[-] csf_imports.py
[edit]
[+]
schema_responses
[+]
..
[-] incidents.py
[edit]
[-] kcarectl.py
[edit]
[-] disabled_rules.py
[edit]
[-] custom_lists.py
[edit]