%PDF- %PDF-
Direktori : /proc/2/cwd/opt/imunify360/venv/lib64/python3.8/site-packages/defence360agent/api/server/ |
Current File : //proc/2/cwd/opt/imunify360/venv/lib64/python3.8/site-packages/defence360agent/api/server/events.py |
""" This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. Copyright © 2019 Cloud Linux Software Inc. This software is also available under ImunifyAV commercial license, see <https://www.imunify360.com/legal/eula> """ import urllib.request import logging import datetime from defence360agent.api.server import API from defence360agent.internals.iaid import IndependentAgentIDAPI from defence360agent.rpc_tools.utils import run_in_executor_decorator logger = logging.getLogger(__name__) class EventsAPI(API): ADVICES_API_URL_TEMPLATE = ( "{base}/api/dashboard/events?dashboard=false&" "popup=true¬_snoozed_at={not_snoozed_at}" ) NOTIFICATIONS_API_URL_TEMPLATE = ( "{base}/api/dashboard/v2/events?notification=1&enduser=true" ) @classmethod @run_in_executor_decorator def advices(cls): request = urllib.request.Request( cls.ADVICES_API_URL_TEMPLATE.format( base=cls._BASE_URL, not_snoozed_at=int(datetime.datetime.now().timestamp()), ), method="GET", ) result = cls.request(request) return result["result"] @classmethod @run_in_executor_decorator def notification(cls): request = urllib.request.Request( cls.NOTIFICATIONS_API_URL_TEMPLATE.format(base=cls._BASE_URL), method="GET", headers={"X-Auth": IndependentAgentIDAPI.get_token()}, ) result = cls.request(request) return result["result"]