Server IP : 66.29.132.122 / Your IP : 3.17.173.252 Web Server : LiteSpeed System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : admazpex ( 531) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/thread-self/root/opt/imunify360/venv/lib64/python3.11/site-packages/defence360agent/feature_management/rpc/endpoints/ |
Upload File : |
from logging import getLogger from typing import Any, List import defence360agent.subsys.panels.hosting_panel as hp from defence360agent.feature_management.constants import ( AV, AV_REPORT, FULL, NA, ) from defence360agent.feature_management.rpc.endpoints.utils import ( builtin_feature_management_only, ) from defence360agent.feature_management.utils import ( update_default, update_users, ) from defence360agent.rpc_tools.lookup import RootEndpoints, bind logger = getLogger(__name__) @builtin_feature_management_only class FeatureManagementUpdateEndpoints(RootEndpoints): @staticmethod async def _update(feature: str, users: List[str], value: Any): if not users: return { "items": "succeed" if await update_default(feature, value) else "failed" } return { "items": await update_users( feature, users, value, await hp.HostingPanel().get_users() ) } def _adapt_value(self, feature, value): if value: return FULL if feature == AV and not value: return AV_REPORT return NA @bind("feature-management", "enable") async def feature_management_enable(self, feature: str, users=None): """Enable specified feature""" return await self._update( feature, users, self._adapt_value(feature, True) ) @bind("feature-management", "disable") async def feature_management_disable(self, feature: str, users=None): """Disable specified feature""" return await self._update( feature, users, self._adapt_value(feature, False) )